Rumah php教程 PHP开发 Yii2 framework学习笔记(七) -- gii和GridView

Yii2 framework学习笔记(七) -- gii和GridView

Dec 30, 2016 am 10:07 AM

Gii是yii2中一个神器,利用他可以节省大量开发时间。

现在用它搭建一个用户管理界面。

Gii的route是gii,所以输入index.php?r=gii就能进入Gii首页,如下

673.png

基本的crud界面用Model Generator和CRUD Generator就能完成。

因为User是Yii自带Model,已经不需要我们再生成,但是我们可以看看Model Generator的界面

674.png

只要输入表名,其他字段会自动填充,点下一步后,就可以预览生成的文件,再点generate就可以自动生成。

CRUD Generator能帮我们生成MVC中的V(View)和C(Controller)部分,界面如下

675.png

点击下一步,点击生成,就能帮我们生成基本框架。

676.png

结合我们之前用的adminlte模板,在左边的面板里加入管理用户的链接。

在\backend\views\layouts\left.php里加入菜单语句

1

['label' => 'Manage Users', 'icon' => 'fa fa-users', 'url' => ['user/index'], 'visible' => Yii::$app->user->can('managerUser')],

Salin selepas log masuk

其中icon是使用fonts awesome(http://fontawesome.io/)的字体图标,跟bootstrap里带的Glyphicons一样的功能,但图标更多些。

url是所要指向的route。

visible是是否显示,用的判断是之前rbac里的权限,用权限才给予显示

677.png

默认生成的页面显示的字段如下,可能不是我们想要显示的字段,这就需要我们对view进行修改

678.png

改为显示的字段为用户名,email,创建日期,更新日期,角色(RBAC相关)。

在\backend\views\user\index.php里修改GridView控件的配置,如下,

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

<?= GridView::widget([

        &#39;dataProvider&#39; => $dataProvider,

        &#39;filterModel&#39; => $searchModel,

        &#39;columns&#39; => [

            [&#39;class&#39; => &#39;yii\grid\SerialColumn&#39;],

             &#39;username&#39;,

             &#39;email:email&#39;,

             [

                &#39;attribute&#39; => &#39;status&#39;,

                &#39;value&#39; => &#39;statusLabel&#39;,

             ],

             &#39;created_at:datetime&#39;,

             &#39;updated_at:datetime&#39;,

             [

                &#39;label&#39; => &#39;Role&#39;,

                &#39;value&#39; => function($model) {

                $auth = \Yii::$app->authManager;

                $roles = $auth->getRolesByUser($model->id);

                $ret = &#39;&#39;;

                    foreach ($roles as $role) {

                        $ret .= &#39; &#39; . $role->name;

                    }

                return $ret;

                },

            ],

            [&#39;class&#39; => &#39;yii\grid\ActionColumn&#39;],

        ],

    ]); ?>

Salin selepas log masuk

其中 email:email是girdview的一个约定格式,完整的是attribute:format:label,其中后两部分可以不提供。

第二个format支持的类型可以查看\yii\i18n\Formatter中以as开头的方法,比如email调用的就是Formatter的asEmail方法。

1

2

3

4

              &#39;attribute&#39; => &#39;status&#39;, 

              &#39;value&#39; => &#39;statusLabel&#39;, 

],

Salin selepas log masuk

这个用的是自定义的显示,attribute用户gridview表头的显示/排序等用途,value是具体显示出来的内容,如此例,调用的是model(common\models\User)里的getStatusLabel方法,将返回值显示上去。value也可是使用匿名方法,如Role字段所使用的

getStatusLabel的方法如下

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

/**

     * @return array

     */

    public static function getStatusList()

    {

        return [

            self::STATUS_DELETED => &#39;Deleted&#39;,

            self::STATUS_ACTIVE => &#39;Active&#39;,

        ];

    }

     

    /**

     * @return string

     */

    public function getStatusLabel()

    {

        return self::getStatusList()[$this->status];

    }

Salin selepas log masuk

修改后的显示效果如下

679.png

 以上就是Yii2 framework学习笔记(七) -- gii和GridView的内容,更多相关内容请关注PHP中文网(www.php.cn)!


Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Isu Pemasangan Rangka Kerja Microsoft NET Kod Ralat 0x800c0006 Betulkan Isu Pemasangan Rangka Kerja Microsoft NET Kod Ralat 0x800c0006 Betulkan May 05, 2023 pm 04:01 PM

.NET Framework 4 diperlukan oleh pembangun dan pengguna akhir untuk menjalankan versi terkini aplikasi pada Windows. Walau bagaimanapun, semasa memuat turun dan memasang .NET Framework 4, ramai pengguna mengadu bahawa pemasang berhenti di tengah jalan, memaparkan mesej ralat berikut - " .NET Framework 4 belum dipasang kerana Muat turun gagal dengan kod ralat 0x800c0006 ". Jika anda juga mengalaminya semasa memasang .NETFramework4 pada peranti anda maka anda berada di tempat yang betul

Bagaimana untuk mengenal pasti isu peningkatan Windows menggunakan SetupDiag pada Windows 11/10 Bagaimana untuk mengenal pasti isu peningkatan Windows menggunakan SetupDiag pada Windows 11/10 Apr 17, 2023 am 10:07 AM

Setiap kali PC Windows 11 atau Windows 10 anda mempunyai masalah naik taraf atau kemas kini, anda biasanya akan melihat kod ralat yang menunjukkan sebab sebenar di sebalik kegagalan. Walau bagaimanapun, kadangkala kekeliruan boleh timbul apabila peningkatan atau kemas kini gagal tanpa kod ralat dipaparkan. Dengan kod ralat yang berguna, anda tahu dengan tepat di mana masalahnya supaya anda boleh cuba membetulkannya. Tetapi kerana tiada kod ralat muncul, ia menjadi mencabar untuk mengenal pasti isu dan menyelesaikannya. Ini akan mengambil banyak masa anda untuk mengetahui sebab di sebalik ralat. Dalam kes ini, anda boleh cuba menggunakan alat khusus yang dipanggil SetupDiag yang disediakan oleh Microsoft yang membantu anda mengenal pasti dengan mudah sebab sebenar di sebalik ralat.

SCNotification telah berhenti berfungsi [5 langkah untuk membetulkannya] SCNotification telah berhenti berfungsi [5 langkah untuk membetulkannya] May 17, 2023 pm 09:35 PM

Sebagai pengguna Windows, anda mungkin akan menghadapi ralat SCNotification telah berhenti berfungsi setiap kali anda memulakan komputer anda. SCNotification.exe ialah fail pemberitahuan sistem Microsoft yang ranap setiap kali anda memulakan PC anda kerana ralat kebenaran dan kegagalan rangkaian. Ralat ini juga dikenali dengan nama acaranya yang bermasalah. Jadi anda mungkin tidak melihat ini sebagai SCNotification telah berhenti berfungsi, tetapi sebagai pepijat clr20r3. Dalam artikel ini, kami akan meneroka semua langkah yang anda perlu ambil untuk membetulkan SNotification telah berhenti berfungsi supaya ia tidak mengganggu anda lagi. Apakah itu SNotification.e

Microsoft .NET Framework 4.5.2, 4.6 dan 4.6.1 akan menamatkan sokongan pada April 2022 Microsoft .NET Framework 4.5.2, 4.6 dan 4.6.1 akan menamatkan sokongan pada April 2022 Apr 17, 2023 pm 02:25 PM

Pengguna Microsoft Windows yang telah memasang Microsoft.NET versi 4.5.2, 4.6 atau 4.6.1 mesti memasang versi Microsoft Framework yang lebih baharu jika mereka mahu Microsoft menyokong rangka kerja melalui kemas kini produk masa hadapan. Menurut Microsoft, ketiga-tiga rangka kerja akan menghentikan sokongan pada 26 April 2022. Selepas tarikh sokongan tamat, produk tidak akan menerima "pembetulan keselamatan atau sokongan teknikal." Kebanyakan peranti rumah sentiasa dikemas kini melalui kemas kini Windows. Peranti ini sudah mempunyai versi rangka kerja yang lebih baharu yang dipasang, seperti .NET Framework 4.8. Peranti yang tidak mengemas kini secara automatik boleh

KB5012643 untuk Windows 11 memecahkan apl .NET Framework 3.5 KB5012643 untuk Windows 11 memecahkan apl .NET Framework 3.5 May 09, 2023 pm 01:07 PM

Sudah seminggu sejak kita bercakap tentang pepijat mod selamat baharu yang menjejaskan pengguna yang memasang KB5012643 untuk Windows 11. Isu menjengkelkan ini tidak muncul dalam senarai isu yang diketahui yang disiarkan oleh Microsoft pada hari pelancaran, lantas mengejutkan semua orang. Nah, apabila anda fikir keadaan tidak akan menjadi lebih buruk, Microsoft menjatuhkan bom lain untuk pengguna yang telah memasang kemas kini kumulatif ini. Windows 11 Build 22000.652 menyebabkan lebih banyak masalah Jadi syarikat teknologi memberi amaran kepada pengguna Windows 11 bahawa mereka mungkin mengalami masalah melancarkan dan menggunakan beberapa aplikasi .NET Framework 3.5. Bunyi biasa? Tapi tolong jangan terkejut

Bagaimana untuk mengalih keluar jquery dalam yii2 Bagaimana untuk mengalih keluar jquery dalam yii2 Feb 17, 2023 am 09:55 AM

Bagaimana untuk mengalih keluar jquery daripada yii2: 1. Edit fail AppAsset.php dan ulas nilai "yii\web\YiiAsset" dalam pembolehubah $depends 2. Edit fail main.php dan tambah konfigurasi sebagai "'yii" di bawah medan "komponen" \web\JqueryAsset' => ['js' => [],'sourcePath' => null,]," untuk mengalih keluar skrip jquery.

Cooler Master dan Framework melancarkan kit sarung mini yang inovatif, serasi dengan papan induk komputer riba Cooler Master dan Framework melancarkan kit sarung mini yang inovatif, serasi dengan papan induk komputer riba Dec 15, 2023 pm 05:35 PM

Menurut berita pada 9 Disember, Cooler Master baru-baru ini menunjukkan kit casis mini dengan kerjasama Rangka Kerja penyedia penyelesaian modular notebook pada acara demonstrasi di Taipei Compute Show Perkara unik tentang kit ini ialah ia boleh serasi dengan dan Pasang papan induk daripada buku nota rangka kerja. Pada masa ini, produk ini telah mula dijual di pasaran, berharga 39 dolar AS, yang bersamaan dengan lebih kurang 279 yuan pada kadar pertukaran semasa. Nombor model kit casis ini dinamakan "frameWORKMAINBOARDCASE". Dari segi reka bentuk, ia merangkumi kekompakan dan kepraktisan muktamad, hanya berukuran 297x133x15 mm. Reka bentuk asalnya adalah untuk dapat menyambung dengan lancar ke buku nota rangka kerja

Bagaimana untuk membetulkan ralat 0xc0000135 pada Windows 11 (selesaikan isu kemas kini KB5013943) Bagaimana untuk membetulkan ralat 0xc0000135 pada Windows 11 (selesaikan isu kemas kini KB5013943) May 11, 2023 am 08:28 AM

Apakah ralat 0xc0000135 dan mengapa saya mendapatkannya? Menurut dokumentasi rasmi Microsoft, kod ralat 0xc0000135 berkaitan dengan isu .NetFramework. Nampaknya banyak aplikasi yang memerlukan .NetFramework3.5 untuk berfungsi tidak berfungsi dengan kemas kini Windows 11 terkini. Inilah yang menyebabkan kod ralat 0xc0000135 dan anda boleh menyelesaikan isu ini dengan mendayakan .NetFramework3.5 pada PC anda. Kebanyakan aplikasi moden bergantung pada fail .NetFramework.dll untuk dijalankan seperti yang diharapkan di latar belakang. tetapi

See all articles