Cara Menggunakan Penyedia Data dan Widget Data di Yii
Gunakan ActiveDateProvider untuk memproses data Activerecord, dan melaksanakan pengurusan data melalui mengkonfigurasi pertanyaan, penomboran dan sort; 2. Lulus penyedia data ke pandangan, dan menggabungkannya dengan GridView untuk merealisasikan paparan jadual, secara automatik menyokong paging, menyusun dan mengendalikan lajur; 3. Apabila menggunakan ListView untuk memadankan susun atur tersuai (seperti kad), tentukan satu templat tunggal melalui itemView, dan gunakan pilihan dan itemopsi untuk mengawal gaya struktur; 4. Gunakan penutupan atau formatter (seperti DateTime) untuk memproses paparan medan; 5. Sentiasa buat pembekal data dalam pengawal dan lulus ke dalam pandangan, dan menjadikannya oleh widget data untuk mencapai paparan data yang cekap dan dikekalkan.
Dalam Yii 2, penyedia data dan widget data bekerjasama untuk memaparkan data dengan cekap dalam pandangan anda. Mereka membantu anda mengurus, menapis, menapis, dan menjadikan dataset besar tanpa menulis kod boilerplate. Inilah cara menggunakannya dengan berkesan.

Apakah penyedia data?
Penyedia data adalah kelas yang membekalkan data kepada widget seperti grid atau senarai. Mereka mengendalikan tugas seperti menyusun, penomboran, dan penapisan. Yii 2 menawarkan beberapa penyedia data terbina dalam:
-
ActiveDataProvider
- Untuk bekerja dengan model Activerecord. -
ArrayDataProvider
- untuk tatasusunan PHP biasa. -
SqlDataProvider
- Untuk pertanyaan SQL mentah.
Menggunakan ActiveDateProvider (yang paling biasa)
Katakan anda mempunyai model Post
dan ingin memaparkan jawatan dalam grid.

Gunakan Yii \ Data \ ActivedAtaprovider; $ dataprovider = baru ActiveDateProvider ([[ 'pertanyaan' => \ App \ Models \ Post :: Cari (), 'penomboran' => [ 'Pagesize' => 10, ], 'sort' => [ 'DefaultOrder' => [ 'create_at' => sort_desc, ] ], ]);
Sekarang lulus $dataProvider
untuk pandangan anda.
Apakah widget data?
Widget data memberikan data yang disediakan oleh pembekal data. Yang paling biasa digunakan adalah:

-
GridView
- Memaparkan data dalam jadual dengan penyortiran dan penomboran. -
ListView
- Membuat data menggunakan paparan item tersuai. -
DetailView
-Menunjukkan data model tunggal dalam format nilai utama.
Menggunakan GridView dengan Pembekal Data
Dalam fail pandangan anda (misalnya, index.php
):
Gunakan yii \ grid \ gridview; echo gridview :: widget ([ 'DataProvider' => $ DataProvider, 'lajur' => [ 'id', 'Tajuk', 'pengarang.name', // Hubungan [ 'atribut' => 'status', 'nilai' => fungsi ($ model) { pulangan $ model-> status == 1? 'Diterbitkan': 'Draf'; } ], 'create_at: datetime', ['class' => 'yii \ grid \ actioncolumn'], ], ]);
Ini secara automatik merangkumi:
- Pagination (berdasarkan tetapan penyedia data)
- Menyusun pada tajuk lajur yang boleh diklik
- Butang Tindakan (Lihat/Kemas kini/Padam)
Menggunakan ListView untuk susun atur tersuai
Jika anda mahukan lebih banyak kawalan ke atas susun atur (misalnya, catatan blog dalam kad):
Gunakan yii \ widgets \ listview; echo listView :: widget ([ 'DataProvider' => $ DataProvider, 'itemview' => '_post', // fail paparan separa untuk setiap item 'susun atur' => "{item} \ n {pager}", 'itemOptions' => [ 'tag' => 'div', 'Kelas' => 'Col-MD-6 Col-LG-4 MB-4' ], 'Pilihan' => [ 'tag' => 'div', 'kelas' => 'baris' ], ]);
Buat _post.php
dalam direktori paparan yang sama:
<div class = "card"> <div class = "card-body"> <h5 class = "card-title"> <? = $ model-> tajuk?> </h5> <p class = "card-text"> <? = yii :: $ app-> formatter-> assummary ($ model-> content)?> </p> <small> oleh <? = $ model-> pengarang-> name?> </small> </div> </div>
Ini memberi anda susun atur berasaskan kad yang responsif yang dikuasakan oleh pembekal data yang sama.
Petua utama
- Sentiasa gunakan penyedia data semasa memaparkan senarai - mereka mengendalikan aspek prestasi seperti Limit/Offset secara automatik.
- Gunakan
ActionColumn
dalamGridView
untuk dengan cepat menambah paparan/kemas kini/padam pautan. - Sesuaikan lajur dengan penutupan atau widget:
[ 'label' => 'kategori', 'nilai' => fungsi ($ model) { Pulangan $ Model-> Kategori? $ Model-> Kategori-> Nama: 'Uncategorized'; } ]
- Tarikh format, nombor, dan bidang lain menggunakan
Formatter
yii (misalnya,'created_at:datetime'
).
Ringkasan
- Penyedia data menyediakan dan menguruskan data anda.
- Widget data menjadikannya dengan cara yang mesra pengguna.
- Campurkan
GridView
ActiveDataProvider
untuk grid admin. - Gunakan
ListView
apabila anda memerlukan susun atur yang fleksibel. - Leverage Sorting, Pagination, dan Formatting Ciri -ciri yang dibina ke YII.
Pada asasnya, sediakan penyedia dalam pengawal, lulus ke pandangan, dan pasangkannya ke dalam widget. Selebihnya ditangani untuk anda.
Atas ialah kandungan terperinci Cara Menggunakan Penyedia Data dan Widget Data di Yii. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Untuk menjadi tuan YII, anda perlu menguasai kemahiran berikut: 1) Memahami seni bina MVC YII, 2) mahir dalam menggunakan ActiveReCordorm, 3) dengan berkesan menggunakan alat penjanaan kod GII, 4) menguasai peraturan pengesahan YII, 5) mengoptimumkan prestasi pertanyaan pangkalan data, 6) secara berterusan memberi perhatian kepada sumber -sumber YII. Melalui pembelajaran dan amalan kemahiran ini, keupayaan pembangunan di bawah kerangka YII dapat diperbaiki secara komprehensif.

Dalam YII, widget digunakan untuk melaksanakan multiplexing komponen dengan merangkumi logik paparan kompleks. 1. Gunakan kaedah widget () untuk memanggil widget terbina dalam, seperti LinkPager untuk penomboran, dan ActiveForm untuk mencipta bentuk mengikat model; 2. Widget biasa termasuk GridView untuk memaparkan data jadual, terperinci untuk memaparkan butiran model, dan menu menu menu navigasi; 3. Widget tersuai boleh dibuat dengan mewarisi yii \ base \ widget, melaksanakan kaedah larian () dan menentukan atribut untuk meningkatkan kebolehgunaan semula, seperti yang ditunjukkan dalam contoh Hellowidget. Menguasai kaedah teras ini dapat meningkatkan kecekapan pembangunan.

Dalam Yii, widget adalah komponen yang boleh digunakan semula yang digunakan untuk merangkum unsur -unsur UI atau logik biasa. Peranan terasnya adalah untuk meningkatkan kecekapan pembangunan dan mengekalkan konsistensi antara muka. Menggunakan widget Yii boleh mengelakkan penulisan kod berulang, merealisasikan penggunaan semula kod, mengekalkan antara muka bersatu, titik fokus berasingan, dan memudahkan pengembangan. YII menyediakan pelbagai widget terbina dalam, seperti ActiveForm untuk Borang Model, Senarai Paparan ListView/GridView dan data jadual, pelaksanaan penomboran kawalan penomboran, dan menu secara dinamik menjana menu navigasi. Apabila kod Lihat didapati ditiru, logik dan persembahan yang diperlukan, atau tingkah laku dinamik abstrak, widget tersuai harus dibuat. Kaedah penciptaan diwarisi oleh yii \ base.wid

Inyii, viewsseparatedisplaylogicFromApplicationCodeToimproveManAgeAbility.1.ViewsarephpfilestHatoutPuthtmlusingDataPassedFromControllersViamethodsLike $ this-> render ()

Tulis pertanyaan SQL tersuai di YII dan boleh dilaksanakan melalui Yii :: $ App-> db. Langkah -langkah adalah seperti berikut: 1. Buat arahan pertanyaan menggunakan createCommand (); 2. Parameter mengikat melalui bindValue () atau bindParam () untuk mencegah suntikan SQL; 3. Call QueryAll (), queryOne () dan kaedah lain untuk melaksanakan pertanyaan; 4. Untuk memasukkan dan mengemaskini operasi, anda boleh mengikat Call Insert () dan mengemas kini () kaedah; 5. Adalah disyorkan untuk menulis SQL secara langsung dan mengikat parameter; 6. Jika hasilnya perlu ditukar menjadi model, anda boleh memberi instantiate dan menetapkan sifat; 7. Gunakan QueryBuilder untuk membina pertanyaan selamat terlebih dahulu, dan balasan, dan balasan.

Perlawanan adalah mekanisme yang digunakan untuk pramuat data dalam ujian YII. 1. Buat kelas perlawanan untuk mewarisi aktif dan tentukan model; 2. Tetapkan perintah ketergantungan melalui $ bergantung; 3. Tentukan fail data dalam data/direktori; 4. Mengisytiharkan penggunaan dalam kelas ujian melalui kaedah lekapan (); 5. Yii secara automatik memuat dan membersihkan data selepas ujian. Sebagai contoh, UserFixture akan memuatkan data pengguna dalam fail ujian/lekapan/data/user.php. Semasa ujian, anda boleh mendapatkan data ALICE melalui $ this-> pengguna ['user1'] untuk pengesahan pernyataan. Yii menawarkan pelbagai fi

YII menyediakan dua templat aplikasi utama: Asas dan Lanjutan. Templat asas sesuai untuk projek kecil dan sederhana, dengan struktur direktori mudah dan fungsi asas, seperti log masuk pengguna, borang hubungan dan halaman ralat, sesuai untuk pemula atau untuk membangunkan aplikasi mudah; Templat lanjutan sesuai untuk aplikasi besar, menyokong seni bina pelbagai persekitaran, pengurusan kebenaran peranan terbina dalam, dan mempunyai struktur fail yang lebih kompleks, sesuai untuk kerjasama pasukan dan pembangunan peringkat perusahaan. Apabila memilih templat, anda harus membuat keputusan berdasarkan saiz projek, struktur pasukan dan matlamat jangka panjang: Pilih Asas untuk blog peribadi atau pembelajaran untuk digunakan, dan pilih Advanced untuk platform e-dagang atau sistem multi-modul.

Laravelimplementsthemvcpatternbyingingmodelsfordatamanagement, controllersforbusinesslogic, andviewsforpresentation.1) ModelsinlaravelarePowerfulfandlingdataandrelationships.2)
