国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁 php框架 YII yii框架怎麼連接資料庫

yii框架怎麼連接資料庫

Nov 27, 2019 pm 01:57 PM
yii

yii框架怎麼連接資料庫

yii框架配置資料庫連接

#開始之前,請確保你已經(jīng)安裝了PHP PDO 擴充功能和你所使用的資料庫的PDO 驅(qū)動程式(例如MySQL 的pdo_mysql)。對於使用關(guān)係型資料庫來講,這是基本要求。? ? ? ? ? ? ? ?(建議學習:yii框架

驅(qū)動與擴充安裝可用後,開啟 config/db.php 修改裡面的設(shè)定參數(shù)對應(yīng)您的資料庫設(shè)定。 這個檔案預(yù)設(shè)包含這些內(nèi)容:

<?php
return [
    &#39;class&#39; => &#39;yii\db\Connection&#39;,
    &#39;dsn&#39; => &#39;mysql:host=localhost;dbname=yii2basic&#39;,
    &#39;username&#39; => &#39;root&#39;,
    &#39;password&#39; => &#39;&#39;,
    &#39;charset&#39; => &#39;utf8&#39;,
];

config/db.php 是一個典型的基於檔案的設(shè)定工具。這個檔案配置了資料庫連接 yii\db\Connection 的建立和初始化參數(shù), 應(yīng)用的 SQL 查詢正是基於這個資料庫。

上面配置的資料庫連線可以在應(yīng)用程式中透過 Yii::$app->db 表達式存取。

信息: config/db.php 將被包含在應(yīng)用配置文件 config/web.php 中, 后者指定了整個應(yīng)用如何初始化。

建立活動記錄

建立一個繼承自活動記錄類別的類別Country, 把它放在models/Country.php 文件,去代表和讀取country表的數(shù)據(jù)。

<?php
namespace app\models;
use yii\db\ActiveRecord;
class Country extends ActiveRecord
{
}

這個 Country 類別繼承自 yii\db\ActiveRecord。你不用在裡面寫任何程式碼。只需要像現(xiàn)在這樣,Yii 就能根據(jù)類別名稱去猜測對應(yīng)的資料表名。

信息: 如果類名和數(shù)據(jù)表名不能直接對應(yīng), 可以覆寫 tableName() 方法去顯式指定相關(guān)表名。

使用Country 類別可以輕鬆操作country 表數(shù)據(jù),就像這段程式碼:

use app\models\Country;
// 獲取 country 表的所有行并以 name 排序
$countries = Country::find()->orderBy(&#39;name&#39;)->all();
// 獲取主鍵為 “US” 的行
$country = Country::findOne(&#39;US&#39;);
// 輸出 “United States”
echo $country->name;
// 修改 name 為 “U.S.A.” 并在數(shù)據(jù)庫中保存更改
$country->name = &#39;U.S.A.&#39;;
$country->save();

資訊: 活動記錄是物件導(dǎo)向、功能強大的存取和操作資料庫資料的方式。你可以在活動記錄章節(jié)中了解更多。除此之外你還可以使用另一種更原生的被稱做資料存取物件的方法來操作資料庫資料。

建立動作

為了向最終用戶顯示國家數(shù)據(jù),你需要建立一個操作。相較於先前小節(jié)掌握的在 site 控制器中建立操作, 在這裡為所有和國家相關(guān)的資料新建一個控制器更加合理。新控制器名稱為 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([
            &#39;defaultPageSize&#39; => 5,
            &#39;totalCount&#39; => $query->count(),
        ]);

        $countries = $query->orderBy(&#39;name&#39;)
            ->offset($pagination->offset)
            ->limit($pagination->limit)
            ->all();

        return $this->render(&#39;index&#39;, [
            &#39;countries&#39; => $countries,
            &#39;pagination&#39; => $pagination,
        ]);
    }
}

把上面的程式碼儲存在 controllers/CountryController.php 檔案中。

index 操作呼叫了活動記錄 Country::find() 方法,去產(chǎn)生查詢語句並從 country 表中取回所有資料。為了限定每個請求所傳回的國家數(shù)量,查詢在 yii\data\Pagination 物件的幫助下進行分頁。 Pagination 物件的使命主要有兩點:

為 SQL 查詢語句設(shè)定 offset 和 limit 子句, 確保每個請求只需傳回一頁資料(本例中每頁是 5 行)。

在檢視中顯示一個由頁碼清單組成的分頁器, 這點將在後面的段落中解釋。

在程式碼結(jié)尾,index 操作渲染一個名為 index 的視圖, 並傳遞國家資料和分頁資訊進去。

建立檢視

在 views 目錄下先建立一個名為 country 的子目錄。這個目錄儲存所有由 country 控制器渲染的視圖。在 views/country 目錄下 建立一個名為 index.php 的視圖文件,內(nèi)容如下:

<?php
use yii\helpers\Html;
use yii\widgets\LinkPager;
?>
<h1>Countries</h1>
<ul>
<?php foreach ($countries as $country): ?>
    <li>
        <?= Html::encode("{$country->name} ({$country->code})") ?>:
        <?= $country->population ?>
    </li>
<?php endforeach; ?>
</ul>

<?= LinkPager::widget([&#39;pagination&#39; => $pagination]) ?>

這個視圖包含兩部分用以顯示國家資料。第一部分遍歷國家資料並以無序 HTML 清單渲染出來。第二部分使用 yii\widgets\LinkPager 去渲染從操作傳來的分頁資訊。小工具 LinkPager 顯示一個分頁按鈕的清單。點擊任何一個按鈕都會跳到對應(yīng)的分頁。

試運行

瀏覽器訪問下面的URL 看看能否運作:

http://hostname/index.php?r=country/index

yii框架怎麼連接資料庫

#

以上是yii框架怎麼連接資料庫的詳細內(nèi)容。更多資訊請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願投稿,版權(quán)歸原作者所有。本站不承擔相應(yīng)的法律責任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Yii2 vs Phalcon:哪個框架更適合開發(fā)顯示卡渲染應(yīng)用? Yii2 vs Phalcon:哪個框架更適合開發(fā)顯示卡渲染應(yīng)用? Jun 19, 2023 am 08:09 AM

在當前資訊時代,大數(shù)據(jù)、人工智慧、雲(yún)端運算等技術(shù)已成為了各大企業(yè)關(guān)注的熱點。在這些技術(shù)中,顯示卡渲染技術(shù)作為一種高效能圖形處理技術(shù),受到了越來越多的關(guān)注。顯示卡渲染技術(shù)廣泛應(yīng)用於遊戲開發(fā)、影視特效、工程建模等領(lǐng)域。而對於開發(fā)者來說,選擇一個適合自己專案的框架,是一個非常重要的決策。在目前的語言中,PHP是一種相當有活力的語言,一些優(yōu)秀的PHP框架如Yii2、Ph

Yii框架中的資料查詢:有效率地存取數(shù)據(jù) Yii框架中的資料查詢:有效率地存取數(shù)據(jù) Jun 21, 2023 am 11:22 AM

Yii框架是一個開源的PHPWeb應(yīng)用程式框架,提供了眾多的工具和元件,簡化了Web應(yīng)用程式開發(fā)的流程,其中資料查詢是其中一個重要的元件之一。在Yii框架中,我們可以使用類似SQL的語法來存取資料庫,從而有效率地查詢和操作資料。 Yii框架的查詢建構(gòu)器主要包括以下幾種類型:ActiveRecord查詢、QueryBuilder查詢、命令查詢和原始SQL查詢

Symfony vs Yii2:哪個框架比較適合開發(fā)大型Web應(yīng)用? Symfony vs Yii2:哪個框架比較適合開發(fā)大型Web應(yīng)用? Jun 19, 2023 am 10:57 AM

隨著Web應(yīng)用需求的不斷增長,開發(fā)者在選擇開發(fā)框架方面也越來越有選擇的空間。 Symfony和Yii2是兩個備受歡迎的PHP框架,它們都具有強大的功能和效能,但在面對需要開發(fā)大型網(wǎng)路應(yīng)用程式時,哪個框架更適合呢?接下來我們將對Symphony和Yii2進行比較分析,以幫助你更好地進行選擇?;靖攀鯯ymphony是一個由PHP編寫的開源Web應(yīng)用框架,它是建立

php如何使用Yii3框架? php如何使用Yii3框架? May 31, 2023 pm 10:42 PM

隨著互聯(lián)網(wǎng)的不斷發(fā)展,Web應(yīng)用程式開發(fā)的需求也越來越高。對於開發(fā)人員而言,開發(fā)應(yīng)用程式需要一個穩(wěn)定、高效、強大的框架,這樣可以提高開發(fā)效率。 Yii是一款領(lǐng)先的高效能PHP框架,它提供了豐富的特性和良好的性能。 Yii3是Yii框架的下一代版本,它在Yii2的基礎(chǔ)上進一步優(yōu)化了效能和程式碼品質(zhì)。在這篇文章中,我們將介紹如何使用Yii3框架來開發(fā)PHP應(yīng)用程式。

如何使用PHP框架Yii開發(fā)一個高可用的雲(yún)端備份系統(tǒng) 如何使用PHP框架Yii開發(fā)一個高可用的雲(yún)端備份系統(tǒng) Jun 27, 2023 am 09:04 AM

隨著雲(yún)端運算技術(shù)的不斷發(fā)展,資料的備份已經(jīng)成為了每個企業(yè)必須要做的事情。在這樣的背景下,開發(fā)一款高可用的雲(yún)端備份系統(tǒng)尤其重要。而PHP框架Yii是一款功能強大的框架,可以幫助開發(fā)者快速建立高效能的Web應(yīng)用程式。以下將介紹如何使用Yii框架開發(fā)一款高可用的雲(yún)端備份系統(tǒng)。設(shè)計資料庫模型在Yii框架中,資料庫模型是非常重要的一環(huán)。因為資料備份系統(tǒng)需要用到很多的表和關(guān)

php框架laravel和yii區(qū)別是什麼 php框架laravel和yii區(qū)別是什麼 Apr 30, 2025 pm 02:24 PM

Laravel和Yii的主要區(qū)別在於設(shè)計理念、功能特性和使用場景。 1.Laravel注重開發(fā)的簡潔和愉悅,提供豐富的功能如EloquentORM和Artisan工具,適合快速開發(fā)和初學者。 2.Yii強調(diào)性能和效率,適用於高負載應(yīng)用,提供高效的ActiveRecord和緩存系統(tǒng),但學習曲線較陡。

yii與Docker:容器化和部署您的應(yīng)用程序 yii與Docker:容器化和部署您的應(yīng)用程序 Apr 02, 2025 pm 02:13 PM

使用Docker容器化和部署Yii應(yīng)用的步驟包括:1.創(chuàng)建Dockerfile,定義鏡像構(gòu)建過程;2.使用DockerCompose啟動Yii應(yīng)用和MySQL數(shù)據(jù)庫;3.優(yōu)化鏡像大小和性能。這不僅涉及到具體的技術(shù)操作,還包括理解Dockerfile的工作原理和最佳實踐,以確保高效、可靠的部署。

Yii2 vs Symfony:哪個框架比較適合API開發(fā)? Yii2 vs Symfony:哪個框架比較適合API開發(fā)? Jun 18, 2023 pm 11:00 PM

隨著網(wǎng)路的快速發(fā)展,API成為了各種應(yīng)用間資料交換的重要方式。因此,開發(fā)一款易於維護、高效、穩(wěn)定的API框架變得越來越重要。而在選擇API框架時,Yii2和Symfony是兩個備受開發(fā)者歡迎的選擇。那麼,哪一個比較適合API開發(fā)呢?本文將對這兩個框架進行比較,並給出一些結(jié)論。一、基本介紹Yii2和Symfony都是成熟的PHP框架,都有相應(yīng)的擴展,可以用來開

See all articles