yii フレームワーク構成データベース接続
始める前に、PHP PDO 拡張機能がインストールされていることを確認してください。 your 使用するデータベースの PDO ドライバー (MySQL の pdo_mysql など)。リレーショナル データベースを使用する場合、これが基本要件です。 (推奨される学習: yii フレームワーク)
ドライバーと拡張機能がインストールされて使用可能になったら、config/db.php を開いて、内部の構成パラメーターを次のように変更します。データベース構成に対応します。 ファイルには、デフォルトで次の内容が含まれています。
<?php return [ 'class' => 'yii\db\Connection', 'dsn' => 'mysql:host=localhost;dbname=yii2basic', 'username' => 'root', 'password' => '', 'charset' => 'utf8', ];
config/db.php は、典型的なファイルベースの構成ツールです。このファイルは、データベース接続 yii\db\Connection の作成および初期化パラメータを構成し、適用される SQL クエリはこのデータベースに基づいています。
上で設定したデータベース接続には、Yii::$app->db 式を介してアプリケーションでアクセスできます。
信息: config/db.php 将被包含在应用配置文件 config/web.php 中, 后者指定了整个应用如何初始化。
アクティブ レコードの作成
アクティブ レコード クラスから継承するクラス Country を作成し、それを models/ Country.php ファイルに配置して国を表し、読み取ることができます。テーブルデータ。
<?php namespace app\models; use yii\db\ActiveRecord; class Country extends ActiveRecord { }
この Country クラスは yii\db\ActiveRecord から継承します。コードを記述する必要はありません。現在と同様に、Yii はクラス名に基づいて対応するデータテーブル名を推測できます。
信息: 如果类名和数据表名不能直接对应, 可以覆写 tableName() 方法去显式指定相关表名。
次のコードのように、 Country クラスを使用して国テーブル データを簡単に操作できます。
use app\models\Country; // 获取 country 表的所有行并以 name 排序 $countries = Country::find()->orderBy('name')->all(); // 获取主键为 “US” 的行 $country = Country::findOne('US'); // 输出 “United States” echo $country->name; // 修改 name 为 “U.S.A.” 并在数据库中保存更改 $country->name = 'U.S.A.'; $country->save();
情報: Active Record は、データベース データにアクセスして操作するためのオブジェクト指向の強力な方法です。詳細については、「アクティビティ ログ」の章をご覧ください。さらに、データ アクセス オブジェクトと呼ばれる別のよりネイティブなメソッドを使用して、データベース データを操作することもできます。
アクションの作成
エンド ユーザーに国データを表示するには、アクションを作成する必要があります。前のセクションでマスターしたサイト コントローラーでの作成操作と比較して、ここですべての国関連データに対して新しいコントローラーを作成する方が合理的です。新しいコントローラーに CountryController という名前を付け、次のようにその中にインデックス アクションを作成します。
<?php namespace app\controllers; use yii\web\Controller; use yii\data\Pagination; use app\models\Country; class CountryController extends Controller { public function actionIndex() { $query = Country::find(); $pagination = new Pagination([ 'defaultPageSize' => 5, 'totalCount' => $query->count(), ]); $countries = $query->orderBy('name') ->offset($pagination->offset) ->limit($pagination->limit) ->all(); return $this->render('index', [ 'countries' => $countries, 'pagination' => $pagination, ]); } }
上記のコードをcontrollers/ CountryController.php ファイルに保存します。
index オペレーションは、アクティブ レコード Country::find() メソッドを呼び出してクエリ ステートメントを生成し、country テーブルからすべてのデータを取得します。リクエストごとに返される国の数を制限するために、クエリは yii\data\Pagination オブジェクトを使用してページ分割されます。 Pagination オブジェクトには 2 つの主要な使命があります。
SQL クエリ ステートメントの offset 句とlimit 句を設定して、各リクエストが 1 ページのデータのみを返すようにします (この例では、各ページは 5 行です)。
ページ番号のリストで構成されるページネータをビューに表示します。これについては次の段落で説明します。
コードの最後で、インデックス操作によってインデックスという名前のビューがレンダリングされ、そこに国データとページング情報が渡されます。
ビューの作成
まず、views ディレクトリに country という名前のサブディレクトリを作成します。このディレクトリには、カントリー コントローラーによってレンダリングされたすべてのビューが保存されます。次の内容を含む、index.php という名前のビュー ファイルを views/country ディレクトリに作成します。
<?php use yii\helpers\Html; use yii\widgets\LinkPager; ?> <h1 id="Countries">Countries</h1> <ul> <?php foreach ($countries as $country): ?> <li> <?= Html::encode("{$country->name} ({$country->code})") ?>: <?= $country->population ?> </li> <?php endforeach; ?> </ul> <?= LinkPager::widget(['pagination' => $pagination]) ?>
このビューには、国データを表示する 2 つの部分が含まれています。最初の部分は国データをループし、順序なしの HTML リストとしてレンダリングします。 2 番目の部分では、yii\widgets\LinkPager を使用して、オペレーションから渡されたページング情報をレンダリングします。ウィジェット LinkPager には、ページング ボタンのリストが表示されます。いずれかのボタンをクリックすると、対応するページにジャンプします。
#試用実行
# ブラウザで次の URL にアクセスして、動作するかどうかを確認してください:http://hostname/index.php?r=country/index
以上がyii フレームワークをデータベースに接続する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

Yiiは開発者にとって強力な選択肢です。 1)YIIは、MVCアーキテクチャに基づいた高性能PHPフレームワークであり、ActiverCord、GII、Cache Systemsなどのツールを提供します。 2)その利点には効率と柔軟性が含まれますが、学習曲線は急で、コミュニティのサポートは比較的限られています。 3)高性能と柔軟性を必要とするプロジェクトに適していますが、チームのテクノロジースタックと学習コストを考慮してください。

YIIフレームワークは、エンタープライズレベルのアプリケーション、中小規模のプロジェクト、個々のプロジェクトに適しています。 1)エンタープライズレベルのアプリケーションでは、YIIの高性能とスケーラビリティにより、eコマースプラットフォームなどの大規模なプロジェクトでは傑出しています。 2)中小規模のプロジェクトでは、YIIのGIIツールがプロトタイプとMVPを迅速に構築するのに役立ちます。 3)個人およびオープンソースのプロジェクトでは、Yiiの軽量機能により、小さなWebサイトやブログに適しています。

YIIフレームワークは、効率的で安全でスケーラブルなWebアプリケーションを構築するのに適しています。 1)YIIはMVCアーキテクチャに基づいており、コンポーネントの設計とセキュリティ機能を提供します。 2)基本的なCRUD操作と高度なRestfulapi開発をサポートします。 3)ロギングやデバッグツールバーなどのデバッグスキルを提供します。 4)パフォーマンスの最適化には、キャッシュと怠zyなロードを使用することをお勧めします。

Yiiの目的は、開発者がWebアプリケーションを迅速かつ効率的に構築できるようにすることです。その実装は、次の方法を通じて実装されます。1)コンポーネントベースの設計とMVCアーキテクチャは、コードの保守性と再利用性を向上させます。 2)GIIツールは、開発速度を改善するためのコードを自動的に生成します。 3)怠zyな負荷とキャッシュメカニズムの最適化パフォーマンス。 4)サードパーティライブラリの統合を容易にする柔軟なスケーラビリティ。 5)複雑なビジネスロジックを処理するRBAC関数を提供します。

yiiisversatileavssustable ofallsizes.1)simple sites、yiioofferseassetupandrapiddevelopment.2)forcomplexprojects、itModularityandrbacsystemmanageScalabilityandsecurity効果的。

YIIフレームワークは、PHPフレームワークの将来の開発において引き続き重要な役割を果たします。 1)YIIは、効率的なMVCアーキテクチャ、強力なORMシステム、ビルトインキャッシュメカニズム、リッチ拡張ライブラリを提供します。 2)コンポーネント設計と柔軟性により、複雑なビジネスロジックと安らかなAPI開発に適しています。 3)YIIは、マイクロサービスやコンテナ化などの最新のPHP機能と技術的なトレンドに適応するために絶えず更新されています。

YIIフレームワークは、あらゆるサイズのWebアプリケーションの開発に適しており、その利点は高性能で豊富な機能セットにあります。 1)YIIはMVCアーキテクチャを採用しており、そのコアコンポーネントにはActiverCord、ウィジェット、GIIツールが含まれます。 2)要求処理プロセスを通じて、YIIはHTTP要求を効率的に処理します。 3)基本的な使用法は、コントローラーとビューを作成する簡単な例を示しています。 4)高度な使用は、ActiverCordを介したデータベース操作の柔軟性を示しています。 5)デバッグスキルには、デバッグツールバーとロギングシステムの使用が含まれます。 6)パフォーマンスの最適化キャッシュとデータベースクエリの最適化を使用し、コーディング仕様と依存関係インジェクションに従ってコードの品質を向上させることをお勧めします。

Yii2には、エラープロンプトを表示する主な方法が2つあります。 1つは、Yii :: $ app-&amp; gt; errorhandler-&amp; gt; exception()を使用して、例外が発生したときにエラーを自動的にキャッチおよび表示することです。もう1つは、$ this-&amp; gt; adderror()を使用することです。これは、モデル検証が失敗したときにエラーを表示し、$ model&amp; gt; getErrors()を介してビューでアクセスできます。ビューでは、if($ errors = $ model-&amp; gt; getErrors())を使用できます。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

ホットトピック









