ホームページ php教程 PHP开发 Yii2 フレームワーク学習メモ (7) -- gii と GridView

Yii2 フレームワーク学習メモ (7) -- gii と GridView

Dec 30, 2016 am 10:07 AM

Gii は yii2 のアーティファクトです。これを使用すると、開発時間を大幅に節約できます。

次に、これを使用してユーザー管理インターフェイスを構築します。

Gii のルートは gii なので、次のように、index.php?r=gii と入力して Gii ホームページに入ります

Yii2 フレームワーク学習メモ (7) -- gii と GridView

基本的な crud インターフェイスは、Model Generator と CRUD Generator で完成できます。

User は Yii の組み込みモデルであるため、生成する必要はありませんが、Model Generator インターフェイスを確認することができます

Yii2 フレームワーク学習メモ (7) -- gii と GridView

テーブル名を入力するだけで、他のフィールドは自動的に入力されます「次へ」をクリックすると、生成されたファイルをプレビューできます。「生成」をクリックすると、自動的にファイルが生成されます。

CRUD ジェネレーターは、MVC で V (ビュー) 部分と C (コントローラー) 部分を生成するのに役立ちます。インターフェイスは次のとおりです。

Yii2 フレームワーク学習メモ (7) -- gii と GridView

[次へ] をクリックし、[生成] をクリックして基本フレームワークを生成します。

Yii2 フレームワーク学習メモ (7) -- gii と GridView

以前に使用した adminlte テンプレートと組み合わせて、左側のパネルにユーザーを管理するためのリンクを追加します。

backendviewslayoutsleft.phpにメニューステートメントを追加します

['label' => 'Manage Users', 'icon' => 'fa fa-users', 'url' => ['user/index'], 'visible' => Yii::$app->user->can('managerUser')],
ログイン後にコピー

アイコンはfonts awesome (http://fontawesome.io/)を使用したフォントアイコンで、ブートストラップのGlyphiconsと同じ機能を持ちますが、より多くのアイコンがあります。

url は、ポイントしたいルートです。

visible は、以前の rbac の権限に基づいて判断されます。

Yii2 フレームワーク学習メモ (7) -- gii と GridView

デフォルトで生成されるページに表示されるフィールドは次のとおりです。これには、ビュー

Yii2 フレームワーク学習メモ (7) -- gii と GridView

を変更し、表示されるフィールドをユーザー名、電子メール、作成日、更新日、ロール (RBAC 関連) に変更する必要があります。

backendviewsuserindex.php の GridView コントロールの構成を次のように変更します。

<?= 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;],
        ],
    ]); ?>
ログイン後にコピー

ここで、email:email は GridView の従来の形式であり、完全なものは Attribute:format:label であり、最後の 2 つの部分は変更する必要はありません。提供されます。

2 番目の形式でサポートされている型については、yiii18nFormatter の as で始まるメソッドを表示できます。たとえば、email は Formatter の asEmail メソッドを呼び出します。

[  
              &#39;attribute&#39; => &#39;status&#39;,  
              &#39;value&#39; => &#39;statusLabel&#39;,  
],
ログイン後にコピー

これは、カスタマイズされた表示、属性ユーザーのグリッドビューヘッダーの表示/並べ替えなどに使用されます。この例では、モデル (commonmodelsUser) の getStatusLabel メソッドが呼び出され、その値が返されます。それをアップします。値は、次のようにRoleフィールドで使用される

getStatusLabelメソッドなどの匿名メソッドも使用できます

/**
     * @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];
    }
ログイン後にコピー

変更された表示効果は次のとおりです

Yii2 フレームワーク学習メモ (7) -- gii と GridView

以上がYii2フレームワーク学習メモ(7) - 内容ですgii と GridView の関連コンテンツについては、PHP 中国語 Web サイト (www.php.cn) に注目してください。


このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Microsoft NET Framework のインストールの問題エラー コード 0x800c0006 の修正 Microsoft NET Framework のインストールの問題エラー コード 0x800c0006 の修正 May 05, 2023 pm 04:01 PM

Microsoft NET Framework のインストールの問題エラー コード 0x800c0006 の修正

Windows 11/10 で SetupDiag を使用して Windows アップグレードの問題を特定する方法 Windows 11/10 で SetupDiag を使用して Windows アップグレードの問題を特定する方法 Apr 17, 2023 am 10:07 AM

Windows 11/10 で SetupDiag を使用して Windows アップグレードの問題を特定する方法

SCNotification が動作を停止しました [問題を解決する 5 つのステップ] SCNotification が動作を停止しました [問題を解決する 5 つのステップ] May 17, 2023 pm 09:35 PM

SCNotification が動作を停止しました [問題を解決する 5 つのステップ]

Microsoft .NET Framework 4.5.2、4.6、および 4.6.1 は 2022 年 4 月にサポートを終了します Microsoft .NET Framework 4.5.2、4.6、および 4.6.1 は 2022 年 4 月にサポートを終了します Apr 17, 2023 pm 02:25 PM

Microsoft .NET Framework 4.5.2、4.6、および 4.6.1 は 2022 年 4 月にサポートを終了します

Windows 11 の KB5012643 により .NET Framework 3.5 アプリが中断される Windows 11 の KB5012643 により .NET Framework 3.5 アプリが中断される May 09, 2023 pm 01:07 PM

Windows 11 の KB5012643 により .NET Framework 3.5 アプリが中断される

yii2でjqueryを削除する方法 yii2でjqueryを削除する方法 Feb 17, 2023 am 09:55 AM

yii2でjqueryを削除する方法

Cooler Master と Framework が、ラップトップのマザーボードと互換性のある革新的なミニケース キットを発売 Cooler Master と Framework が、ラップトップのマザーボードと互換性のある革新的なミニケース キットを発売 Dec 15, 2023 pm 05:35 PM

Cooler Master と Framework が、ラップトップのマザーボードと互換性のある革新的なミニケース キットを発売

いくつかの厳選された CTF 演習は、yii2 フレームワークの学習に役立ちます。 いくつかの厳選された CTF 演習は、yii2 フレームワークの学習に役立ちます。 Feb 23, 2022 am 10:33 AM

いくつかの厳選された CTF 演習は、yii2 フレームワークの学習に役立ちます。

See all articles