yii框架配置資料庫連接
#開始之前,請確保你已經安裝了PHP PDO 擴充功能和你所使用的資料庫的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 文件,去代表和讀取country表的數據。
<?php namespace app\models; use yii\db\ActiveRecord; class Country extends ActiveRecord { }
這個 Country 類別繼承自 yii\db\ActiveRecord。你不用在裡面寫任何程式碼。只需要像現在這樣,Yii 就能根據類別名稱去猜測對應的資料表名。
信息: 如果类名和数据表名不能直接对应, 可以覆写 tableName() 方法去显式指定相关表名。
使用Country 類別可以輕鬆操作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();
資訊: 活動記錄是物件導向、功能強大的存取和操作資料庫資料的方式。你可以在活動記錄章節中了解更多。除此之外你還可以使用另一種更原生的被稱做資料存取物件的方法來操作資料庫資料。
建立動作
為了向最終用戶顯示國家數據,你需要建立一個操作。相較於先前小節掌握的在 site 控制器中建立操作, 在這裡為所有和國家相關的資料新建一個控制器更加合理。新控制器名稱為 CountryController,並在其中建立一個 index 操作, 如下:
<?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 物件的使命主要有兩點:
為 SQL 查詢語句設定 offset 和 limit 子句, 確保每個請求只需傳回一頁資料(本例中每頁是 5 行)。
在檢視中顯示一個由頁碼清單組成的分頁器, 這點將在後面的段落中解釋。
在程式碼結尾,index 操作渲染一個名為 index 的視圖, 並傳遞國家資料和分頁資訊進去。
建立檢視
在 views 目錄下先建立一個名為 country 的子目錄。這個目錄儲存所有由 country 控制器渲染的視圖。在 views/country 目錄下 建立一個名為 index.php 的視圖文件,內容如下:
<?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]) ?>
這個視圖包含兩部分用以顯示國家資料。第一部分遍歷國家資料並以無序 HTML 清單渲染出來。第二部分使用 yii\widgets\LinkPager 去渲染從操作傳來的分頁資訊。小工具 LinkPager 顯示一個分頁按鈕的清單。點擊任何一個按鈕都會跳到對應的分頁。
試運行
瀏覽器訪問下面的URL 看看能否運作:
http://hostname/index.php?r=country/index
以上是yii框架怎麼連接資料庫的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Yii框架在PHP框架中脫穎而出,其優勢包括:1.MVC架構和組件化設計,提升代碼組織和復用性;2.Gii代碼生成器和ActiveRecord,提高開發效率;3.多種緩存機制,優化性能;4.靈活的RBAC系統,簡化權限管理。

Yii仍然是開發者的一個強有力的選擇。 1)Yii是一個高性能的PHP框架,基於MVC架構,提供ActiveRecord、Gii和緩存系統等工具。 2)它的優點包括高效性和靈活性,但學習曲線較陡,社區支持相對有限。 3)適合需要高性能和靈活性的項目,但需考慮團隊技術棧和學習成本。

Yii框架適用於企業級應用、中小型項目和個人項目。 1)在企業級應用中,Yii的高性能和可擴展性使其在電商平台等大型項目中表現出色。 2)中小型項目中,Yii的Gii工具幫助快速搭建原型和MVP。 3)個人項目和開源項目中,Yii的輕量級特性使其適合小型網站和博客。

Yii框架適合構建高效、安全和可擴展的Web應用。 1)Yii基於MVC架構,提供組件化設計和安全特性。 2)它支持基本CRUD操作和高級RESTfulAPI開發。 3)提供日誌記錄和調試工具欄等調試技巧。 4)建議使用緩存和延遲加載進行性能優化。

Yii的目的是讓開發者快速、高效地構建Web應用。其實現通過以下方式:1)組件化設計和MVC架構提高代碼可維護性和可重用性;2)Gii工具自動生成代碼,提升開發速度;3)延遲加載和緩存機制優化性能;4)靈活的擴展性便於集成第三方庫;5)提供RBAC功能處理複雜業務邏輯。

1)簡單站點,yiioOfferSeaseAseaseAseaseAseAseAseAseAseAseAseAseAseAseAseAseAseAseAseAseAseAseAseAseAseAseAssetUpandRapidDevelopment.2)forcomplexprojects,ItmodularityAndrbacSystemManagesManagesManageSmanageScalagionsalageScalabilityscalability calability andsecurity andsecurity andsecurity。

Yii框架在未來PHP框架發展中將繼續扮演重要角色。 1)Yii提供高效的MVC架構、強大的ORM系統、內置緩存機制和豐富擴展庫。 2)其組件化設計和靈活性使其適用於復雜業務邏輯和RESTfulAPI開發。 3)Yii不斷更新以適應現代PHP特性和技術趨勢,如微服務和容器化。

Yii框架適合開發各種規模的Web應用,其優勢在於高性能和豐富的功能集。 1)Yii採用MVC架構,核心組件包括ActiveRecord、Widget和Gii工具。 2)通過請求處理流程,Yii高效處理HTTP請求。 3)基本用法展示了創建控制器和視圖的簡單示例。 4)高級用法通過ActiveRecord展示了數據庫操作的靈活性。 5)調試技巧包括使用調試工具欄和日誌系統。 6)性能優化建議使用緩存和數據庫查詢優化,遵循編碼規範和依賴注入以提高代碼質量。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

WebStorm Mac版
好用的JavaScript開發工具

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具