Codeigniter pHp için Grocerycrud ile Geliştirme

İçindekiler
Bir uygulama veya web sistemleri geliştirdiğimizde genellikle veritabanlarıyla etkileşime girmemiz gerekir. Bunun için bağlanmamıza, veri eklememize, düzenlememize veya silmemize izin veren arayüzler oluşturmamız gerekiyor. Bu işlem türü farklı şekillerde bilinir
CRUD, Oluştur, Oku, Güncelle ve Sil anlamına gelen bir kısaltmadır. ABM, High, Low ve Data Modification anlamına gelen bir kısaltmadır. ABCDE, Ekle, Bul, Değiştir, Görüntüle (göster veya listele), Verileri sil anlamına gelen bir kısaltmadır.
Her php web geliştiricisi her zaman geliştirme süresini optimize etmeye çalışır ve bu tür görevleri yapmak çok zaman gerektirir, örneğin basit, kararlı ve güvenli bir web yönetim sistemi oluşturmak. Aslında, en çok zaman alan, veritabanı ile etkileşim gereksinimlerini, iş mantığını, modelleri ve veritabanındaki her tabloyla etkileşime girecek görünümleri anlamak ve koda dönüştürmektir.
Bu durumda CodeIgniter için bir çözüm, Sadece bazı parametreleri yapılandırarak her şeyi oluşturmaktan sorumlu olacak olan Grocerycrud kütüphanesi, Ayrıca doğrudan sistemimizde kullanabileceğimiz css tasarımı, JavaScript'ler, tablolar, formlar, veri ızgarası, işlevler, modeller içerir.
Bakkal CRUD, pHp'de geliştirilmiş bir kütüphanedir, ücretsiz bir yazılımdır ve lisansı GPL v3 ve MIT açık kaynaklıdır. Kullanmak için kütüphaneyi http://www.grocerycrud.com/downloads adresinden indirmeliyiz.
İndirdikten sonra dosyaları açıp kopyalıyoruz

Nasıl yapılandırılacağını detaylandırmayacağız Codeıgniter bunun yerine doğrudan kullanıma odaklanacağız. Tablolarında mülkler, kullanıcılar, kasabalar veya şehirler, iller, mülk türleri ve satış veya kiralık ise işlem türü olan bir mülk veritabanımız olduğunu varsayalım.

Emlak tablosunun crud'ını oluşturmak için aşağıdaki kodla emlak adında bir controller oluşturacağız.
 yük-> veritabanı (); $ this-> load-> library ('grocery_CRUD');} genel işlev dizini () {$ crud = yeni bakkal_CRUD (); $ crud-> set_theme ('veri tabloları'); $ crud-> set_table ('özellikler'); $ crud-> sütunlar ('kullanıcı kimliği', 'özellik türü kimliği', 'fiyat'); $ grid = $ crud-> render (); $ this-> load-> view ('real Estate.php', $ grid);}}
Veritabanı kütüphanesini ve kütüphaneyi çağırıyoruz bakkal daha sonra grid için kullanmak istediğimiz temayı veya tasarımı belirliyoruz, tabloyu gösterecek şekilde ayarlıyoruz ve gösterilmesini istediğimiz tablonun alanlarını atayarak hangi sütunların veya alanların gösterileceğini belirtiyoruz, her şeyi ile üretiyoruz. işlev render () ve view'a gönderdiğimiz bir değişkene kaydediyoruz. Daha sonra emlak list.php dediğimiz görünümü oluşturuyoruz.
 
Görünümde, çalışması için gerekli css ve js'yi görüntülememiz gerekecek, dosyaların konumu şablon tarafından zaten tanımlanmış, bu durumda şablonu kullanmaya karar verdik. tarihler şablon dizininde bulabileceğimiz:
 / varlıklar / bakkal_crud / temalar / veri tabloları /
Uygulamamızı test edersek sonuç aşağıdaki gibi olacaktır:

BÜYÜT

Tüm gridin küçük kodlarla nasıl oluşturulduğunu görüyoruz, şimdi işlevlerin nasıl ekleneceğini ve iyileştirileceğini göreceğiz. Örneğin, id sütunlarının adını değiştirebiliriz ve ayrıca ilgili verilerin id'si yerine daha önemli veriler istiyoruz, örneğin kullanıcı kimliği yerine adın görünmesini ve idtipoinmueble yerine ne tür olduğunu gösteren idtipoinmueble olmasını istiyoruz. ev, ofis vb. ise Bunun için kontrolörde bazı değişiklikler yapmalıyız.
Bir sütunun adını değiştirmek için denetleyicide aşağıdakileri yaparız display_as (currentname, newname)
 $ crud-> sütunlar ('kullanıcı kimliği', 'özellik türü kimliği', 'fiyat'); $ crud-> display_as ('kullanıcı kimliği', 'Kullanıcı'); $ crud-> display_as ('özellik türü kimliği', ' Emlak Tipi');
Veriyi id yerine göstermek için set_subjet (ilgili tablo) ve set_relation (ilişkisel id, ilgili tablo, alanla ilgili tablo) ile belirtmeliyiz.
 $ crud-> set_subject ('user'); $ crud-> set_relation ('userid', 'users', 'name'); // id, gösterdiğim veritabanından biri, yani emlak $ crud -> set_relation ('property_type', 'property_type', 'name');
Ardından, eklediğimiz kodla değişiklikleri görmek için sayfayı yeniliyoruz:

Veri kaydı veya değişikliğinin nasıl oluşturulduğuna bakalım, veri kayıt formunun oluşturulduğu tablo yapısındaki alanlardan. Bazıları bunları veri tipine göre konfigüre edebilir, bazıları ise hangi tip veri ve form elemanının atanması gerektiğini belirtmeliyiz.

Text type alanlarının textarea haline geldiğini ve cfkeditor eklentisinin eklendiğini görüyoruz, ckeditor.com web sitesinde görebiliyoruz, tarih alanları datepicker oluyor, ilgili alanlar combo veya aşağı açılır seçme öğeleri olacak.
Önemli bir husus, kaydettiğimiz verilerin nasıl doğrulanacağıdır, bunun için gerekli_alanlar (alan) işlevini kullanmalıyız, bu nedenle denetleyicide bir alanın gerekli olduğunu doğrulamak için aşağıdaki kodu ekleyebiliriz.
 $ crud-> gerekli_alanlar ('kullanıcı kimliği', 'fiyat');
Ayrıca set_rules fonksiyonu ile doğrulayacağımız veri tipini de belirleyebiliriz.
 $ crud-> set_rules ('fiyat', 'Kiralama fiyatı', 'sayısal'); $ crud-> set_rules ('e-posta', 'Kullanıcı e-postası', 'e-posta');
Bu şekilde bir hata varsa gönderirken formun altında belirtecektir:

Girebileceğimiz verilere ek olarak, bu durumda özelliklerin resim dosyalarını yüklememiz gerekiyor, onlar için işlevi kullanmalıyız. set_field_upload ('alan,' dizin '), varsayılan olarak dizini kullanabiliriz varlıklar / yüklemeler / dosyalar, zaten dahil olan bakkalAksi takdirde, kendimizinkini yapılandırabiliriz.
 $ crud-> set_field_upload ('image1', 'varlıklar / yüklemeler / dosyalar'); $ crud-> set_field_upload ('image2,' varlıklar / yüklemeler / dosyalar'); $ crud-> set_field_upload ('image3', 'varlıklar / yüklemeler / dosyalar'); $ crud-> set_field_upload ('image4', 'varlıklar / yüklemeler / dosyalar');

Çok dilli bir veri ızgarası nasıl yapılır
dizinin içinde / varlıklar / bakkal_crud dizine sahibiz Diller ızgaranın gösterdiği arayüzün her bir dile yapılan tüm çevirileri ile,
Dizinden yapılandırmaya gidebiliriz uygulama / yapılandırma / bakkal_crud.php ve dil yapılandırmasında kullanmak istediğimiz varsayılan dili belirtin.
 $ config ['grocery_crud_default_language'] = 'ispanyolca';
Bunu dinamik olarak yapmak istiyorsak, örneğin web'den dil seçmek için bir menü aracılığıyla, dili kodumuza ekliyoruz.
 $ crud-> set_language ("ingilizce").
İşlevleri ızgaradan kaldırma
Olasılıklardan biri, gösterilmesini istemediğimiz işlevleri kaldırmak veya bunun için kullanacağımız alanları devre dışı bırakmaktır. bir set ve farklı olasılıkları unset_add, unset_edit, unset_delete ve unset_list
Yani örneğin kullanırsak $ crud-> unset_edit(); kullanırsak, düzenle düğmesi listede görünmeyecektir. $ crud-> unset_texteditor ('açıklama'); açıklamaya karşılık gelen metin alanı cfkeditor eklentisini kullanmayacaktır. Arama dışında herhangi bir işlem yapamadan sadece listeyi göstermek istiyorsak fonksiyonu kullanırız.
 $ crud-> unset_processs();
Bir olaydan bir işlev nasıl çağrılır
Grocerycurd, geri aramaları işlememize, yani bir olay meydana gelmeden önce, sırasında veya sonrasında bir işlevi çağırmamıza izin verir. Bazı örnekler. Form oluşturulduğunda bir geri arama eklemek ve belirli bir alanı etkilemek istiyorsak, aşağıdaki işlevi kullanacağız:
 $ crud-> callback_add_field ('e-posta', dizi ($ bu, 'renk değişikliği'));
Ardından kontrolörde geri çağırmada çağırdığımız işlevi tanımlarız.
 fonksiyon renk değişimi () {dönüş '';}
Herhangi bir sütunu değiştirmek istiyorsak aşağıdakileri kullanacağız:
 code $ crud-> callback_column ('fiyat', dizi ($ this, 'allocatecurrency')); function allocatecurrency ($ değeri, $ satır) {dönüş $ değeri. ' € ';}

Verileri eklemeden veya kaydetmeden önce geri aramayı da kullanabiliriz:
 $ crud-> callback_before_insert (dizi (bu $, 'hesapla_toplam));
Web sitesinde danışabileceğimiz geri aramaları başlatmak için birçok başka olay var. bakkal kabağı. Sahip olduğu diğer yardımcı programlar, excel'e dışa aktarma ve verileriyle ızgarayı yazdırma olasılığıdır, pdf'ye dışa aktarma gibi ekstra işlevselliğe sahip bir düğme eklemek istiyorsak, dizinde bulunan şablonun kodunu değiştirmeliyiz. varlıklar \ bakkal_crud \ temalar \ mypantilla \ görünümler, kullandığımız şablonun dizininde dosyaları değiştiriyoruz list_template.php ve ihtiyacımız olanı ekliyoruz.Bu Eğitimi beğendiniz ve yardım ettiniz mi?Yazara olumlu puan vermek için bu düğmeye basarak yazarı ödüllendirebilirsiniz.
wave wave wave wave wave