最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

PHP的Yii框架入門(mén)使用教程

 更新時(shí)間:2016年02月15日 15:53:40   投稿:goldensun  
這篇文章主要介紹了PHP的Yii框架入門(mén)使用教程,Yii是一個(gè)基于組件的高性能PHP框架,人氣也非常高,需要的朋友可以參考下

安裝

Yii 的安裝由如下兩步組成:

從 yiiframework.com 下載 Yii 框架。
將 Yii 壓縮包解壓至一個(gè) Web 可訪問(wèn)的目錄。
Tip|提示: 安裝在 Web 目錄不是必須的,每個(gè) Yii 應(yīng)用都有一個(gè)入口腳本,只有它才必須暴露給 Web 用戶(hù)。其它 PHP 腳本(包括 Yii)應(yīng)該保護(hù)起來(lái)不被 Web 訪問(wèn),因?yàn)樗鼈兛赡軙?huì)被黑客利用。
需求

安裝完 Yii 以后你也許想驗(yàn)證一下你的服務(wù)器是否滿(mǎn)足使用 Yii 的要求,只需瀏覽器中輸入如下網(wǎng)址來(lái)訪問(wèn)需求檢測(cè)腳本:

http://hostname/path/to/yii/requirements/index.php
Yii 的最低需求是你的 Web 服務(wù)器支持 PHP 5.1.0 或更高版本。Yii 在 Windows 和 Linux 系統(tǒng)上的 Apache HTTP 服務(wù)器 中測(cè)試通過(guò),應(yīng)該在其它支持 PHP 5 的 Web 服務(wù)器和平臺(tái)上也工作正常。

建立第一個(gè) Yii 應(yīng)用

為了對(duì) Yii 有個(gè)初步認(rèn)識(shí),我們?cè)诒竟?jié)講述如何建立第一個(gè) Yii 應(yīng)用。我們將使用 yiic (命令行工具)創(chuàng)建一個(gè)新的 Yii 應(yīng)用。Gii(強(qiáng)大的基于web的代碼生成器)為特定的任務(wù)完成自動(dòng)代碼生成。假定 YiiRoot 為 Yii 的安裝目錄,WebRoot 是服務(wù)器的文檔根目錄。

在命令行運(yùn)行 yiic,如下所示:

% YiiRoot/framework/yiic webapp WebRoot/testdrive

Note|注意: 在 MacOS、Linux 或 Unix 系統(tǒng)中運(yùn)行 yiic 時(shí),你可能需要修改 yiic 文件的權(quán)限使它能夠運(yùn)行。此外,也可以這樣運(yùn)行此工具:

% cd WebRoot
% php YiiRoot/framework/yiic.php webapp testdrive

這將在 WebRoot/testdrive 目錄下建立一個(gè)最基本的 Yii 應(yīng)用。這個(gè)應(yīng)用擁有了大多數(shù) Yii 應(yīng)用所需要的目錄結(jié)構(gòu)。

不用寫(xiě)一行代碼,我們可以在瀏覽器中訪問(wèn)如下 URL 來(lái)看看我們第一個(gè) Yii 應(yīng)用:

http://hostname/testdrive/index.php
正如我們看到的,這個(gè)應(yīng)用包含三個(gè)頁(yè)面:首頁(yè)、聯(lián)系頁(yè)、登錄頁(yè)。首頁(yè)展示一些關(guān)于應(yīng)用和用戶(hù)登錄狀態(tài)的信息,聯(lián)系頁(yè)顯示一個(gè)聯(lián)系表單以便用戶(hù)填寫(xiě)并提交他們的咨詢(xún),登錄頁(yè)允許用戶(hù)先通過(guò)認(rèn)證然后訪問(wèn)已授權(quán)的內(nèi)容。 查看下列截圖了解更多:

2016215154517147.png (679×313)

2016215154540632.png (679×595)

2016215154555093.png (679×662)

2016215154611301.png (679×240)

2016215154624553.png (679×391)

下面的樹(shù)圖描述了我們這個(gè)應(yīng)用的目錄結(jié)構(gòu)。

testdrive/
  index.php         Web 應(yīng)用入口腳本文件
  index-test.php      功能測(cè)試使用的入口腳本文件
  assets/          包含公開(kāi)的資源文件
  css/           包含 CSS 文件
  images/          包含圖片文件
  themes/          包含應(yīng)用主題
  protected/        包含受保護(hù)的應(yīng)用文件
   yiic          yiic 命令行腳本
   yiic.bat        Windows 下的 yiic 命令行腳本
   yiic.php        yiic 命令行 PHP 腳本
   commands/       包含自定義的 'yiic' 命令
     shell/       包含自定義的 'yiic shell' 命令
   components/      包含可重用的用戶(hù)組件
     Controller.php   所有控制器類(lèi)的基礎(chǔ)類(lèi)
     Identity.php    用來(lái)認(rèn)證的 'Identity' 類(lèi)
   config/        包含配置文件
     console.php     控制臺(tái)應(yīng)用配置
     main.php      Web 應(yīng)用配置
     test.php      功能測(cè)試使用的配置
   controllers/      包含控制器的類(lèi)文件
     SiteController.php 默認(rèn)控制器的類(lèi)文件
   data/         包含示例數(shù)據(jù)庫(kù)
     schema.mysql.sql  示例 MySQL 數(shù)據(jù)庫(kù)
     schema.sqlite.sql  示例 SQLite 數(shù)據(jù)庫(kù)
     testdrive.db    示例 SQLite 數(shù)據(jù)庫(kù)文件
   extensions/      包含第三方擴(kuò)展
   messages/       包含翻譯過(guò)的消息
   models/        包含模型的類(lèi)文件
     LoginForm.php    'login' 動(dòng)作的表單模型
     ContactForm.php   'contact' 動(dòng)作的表單模型
   runtime/        包含臨時(shí)生成的文件
   tests/         包含測(cè)試腳本
   views/         包含控制器的視圖和布局文件
     layouts/      包含布局視圖文件
      main.php     所有視圖的默認(rèn)布局
      column1.php   使用單列頁(yè)面使用的布局
      column2.php   使用雙列的頁(yè)面使用的布局
     site/        包含 'site' 控制器的視圖文件
      pages/      包含 "靜態(tài)" 頁(yè)面
        about.php   "about" 頁(yè)面的視圖
      contact.php   'contact' 動(dòng)作的視圖
      error.php    'error' 動(dòng)作的視圖(顯示外部錯(cuò)誤)
      index.php    'index' 動(dòng)作的視圖
      login.php    'login' 動(dòng)作的視圖
     system/       包含系統(tǒng)視圖文件

連接到數(shù)據(jù)庫(kù)

大多數(shù) Web 應(yīng)用由數(shù)據(jù)庫(kù)驅(qū)動(dòng),我們的測(cè)試應(yīng)用也不例外。要使用數(shù)據(jù)庫(kù),我們首先需要告訴應(yīng)用如何連接它。修改應(yīng)用的配置文件 WebRoot/testdrive/protected/config/main.php 即可,如下所示:

return array(
 ......
 'components'=>array(
 ......
 'db'=>array(
  'connectionString'=>'sqlite:protected/data/source.db',
 ),
 ),
 ......
);

上面的代碼告訴 Yii 應(yīng)用在需要時(shí)將連接到 SQLite 數(shù)據(jù)庫(kù) WebRoot/testdrive/protected/data/testdrive.db 。注意這個(gè)SQLite 數(shù)據(jù)庫(kù)已經(jīng)包含在我們創(chuàng)建的應(yīng)用框架中。數(shù)據(jù)庫(kù)只包含一個(gè)名為 tbl_user 的表:

CREATE TABLE tbl_user (
  id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
  username VARCHAR(128) NOT NULL,
  password VARCHAR(128) NOT NULL,
  email VARCHAR(128) NOT NULL
);

若你想要換成一個(gè) MySQL 數(shù)據(jù)庫(kù),你需要導(dǎo)入文件 WebRoot/testdrive/protected/data/schema.mysql.sql 來(lái)建立數(shù)據(jù)庫(kù)。

Note|注意: 要使用 Yii 的數(shù)據(jù)庫(kù)功能,我們需要啟用 PHP 的 PDO 擴(kuò)展和相應(yīng)的驅(qū)動(dòng)擴(kuò)展。對(duì)于測(cè)試應(yīng)用來(lái)說(shuō),我們需要啟用 php_pdo 和 php_pdo_sqlite 擴(kuò)展。
實(shí)現(xiàn) CRUD 操作

激動(dòng)人心的時(shí)刻來(lái)了。我們想要為剛才建立的 tbl_user 表實(shí)現(xiàn) CRUD (create, read, update 和 delete) 操作,這也是實(shí)際應(yīng)用中最常見(jiàn)的操作。我們無(wú)需麻煩地編寫(xiě)實(shí)際代碼,這里我們將使用 Gii —— 一個(gè)強(qiáng)大的基于Web 的代碼生成器。

配置Gii

為了使用 Gii,首先需要編輯文件 WebRoot/testdrive/protected/main.php,這是已知的 應(yīng)用配置 文件:

return array(
 ......
 'import'=>array(
 'application.models.*',
 'application.components.*',
 ),

 'modules'=>array(
 'gii'=>array(
  'class'=>'system.gii.GiiModule',
  'password'=>'pick up a password here',
 ),
 ),
);

然后,訪問(wèn) URL http://hostname/testdrive/index.php?r=gii。這里我們需要輸入密碼,它是在我們?cè)谏厦娴呐渲弥兄付ǖ摹?/p>

生成 User 模型

登陸后,點(diǎn)擊鏈接 Model Generator。它將顯示下面的模型生成頁(yè)面,

2016215154746908.png (496×353)

在 Table Name 輸入框中,輸入 tbl_user。在 Model Class 輸入框中,輸入 User。然后點(diǎn)擊 Preview 按鈕。這里將展示將要生成的新文件?,F(xiàn)在點(diǎn)擊 Generate 按鈕。一個(gè)名為 User.php 將生成到 protected/models 目錄中。如我們稍后描述的, User 模型類(lèi)允許我們以面向?qū)ο蟮姆绞絹?lái)訪問(wèn)數(shù)據(jù)表 tbl_user 。

生成 CRUD 代碼

在創(chuàng)建模型類(lèi)之后,我們將生成執(zhí)行 CRUD 操作的代碼。我們選擇 Gii 中的 Crud Generator,如下所示,

2016215154813523.png (496×291)

在 Model Class 輸入框中,輸入 User。在 Controller ID 輸入框中,輸入 user (小寫(xiě)格式)。現(xiàn)在點(diǎn)擊 Generate 按鈕后的 Preview 按鈕。CRUD 代碼生成完成了。

訪問(wèn) CRUD 頁(yè)面

讓我們看看成果,訪問(wèn)如下 URL:

http://hostname/testdrive/index.php?r=user
這會(huì)顯示一個(gè) tbl_user 表中記錄的列表。

點(diǎn)擊頁(yè)面上的 Create User 鏈接,如果沒(méi)有登錄的話(huà)我們將被帶到登錄頁(yè)。登錄后,我們看到一個(gè)可供我們添加新用戶(hù)的表單。完成表單并點(diǎn)擊 Create 按鈕,如果有任何輸入錯(cuò)誤的話(huà),一個(gè)友好的錯(cuò)誤提示將會(huì)顯示并阻止我們保存?;氐接脩?hù)列表頁(yè),我們應(yīng)該能看到剛才添加的用戶(hù)顯示在列表中。

重復(fù)上述步驟以添加更多用戶(hù)。注意,如果一頁(yè)顯示的用戶(hù)條目太多,列表頁(yè)會(huì)自動(dòng)分頁(yè)。

如果我們使用 admin/admin 作為管理員登錄,我們可以在如下 URL 查看用戶(hù)管理頁(yè):

http://hostname/testdrive/index.php?r=user/admin
這會(huì)顯示一個(gè)包含用戶(hù)條目的漂亮表格。我們可以點(diǎn)擊表頭的單元格來(lái)對(duì)相應(yīng)的列進(jìn)行排序,而且它和列表頁(yè)一樣會(huì)自動(dòng)分頁(yè)。

實(shí)現(xiàn)所有這些功能不要我們編寫(xiě)一行代碼!

2016215154846328.png (679×637)

2016215155203485.png (679×457)

相關(guān)文章

  • thinkPHP簡(jiǎn)單調(diào)用函數(shù)與類(lèi)庫(kù)的方法

    thinkPHP簡(jiǎn)單調(diào)用函數(shù)與類(lèi)庫(kù)的方法

    這篇文章主要介紹了thinkPHP簡(jiǎn)單調(diào)用函數(shù)與類(lèi)庫(kù)的方法,簡(jiǎn)單講述了thinkPHP公共函數(shù)庫(kù)的文件位置并結(jié)合實(shí)例分析了類(lèi)庫(kù)的調(diào)用方法,需要的朋友可以參考下
    2017-03-03
  • php in_array() 檢查數(shù)組中是否存在某個(gè)值詳解

    php in_array() 檢查數(shù)組中是否存在某個(gè)值詳解

    php有時(shí)候需要判斷某一個(gè)值是否存在于數(shù)組中,我們可以直接使用php內(nèi)置函數(shù)in_array()來(lái)實(shí)現(xiàn)判斷。php in_array 函數(shù)用于檢查數(shù)組中是否存在某個(gè)值,如果存在,則返回true,否則返回false。本文章向大家介紹in_array函數(shù)的基本語(yǔ)法及使用實(shí)例,感興趣的朋友可以參考一下。
    2016-11-11
  • Yii2.0框架模型添加/修改/刪除數(shù)據(jù)操作示例

    Yii2.0框架模型添加/修改/刪除數(shù)據(jù)操作示例

    這篇文章主要介紹了Yii2.0框架模型添加/修改/刪除數(shù)據(jù)操作,結(jié)合實(shí)例形式分析了Yii2.0使用模型操作數(shù)據(jù)的添加、修改、刪除相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2019-07-07
  • 使用php清除bom示例

    使用php清除bom示例

    本文主要介紹了使用PHP去除文件BOM頭的的示例,需要的朋友可以參考下
    2014-03-03
  • Yii框架ACF(accessController)簡(jiǎn)單權(quán)限控制操作示例

    Yii框架ACF(accessController)簡(jiǎn)單權(quán)限控制操作示例

    這篇文章主要介紹了Yii框架ACF(accessController)簡(jiǎn)單權(quán)限控制操作,結(jié)合實(shí)例形式分析了Yii框架簡(jiǎn)單權(quán)限控制操作參數(shù)設(shè)置與使用技巧,需要的朋友可以參考下
    2019-04-04
  • 服務(wù)器遷移php版本不同可能誘發(fā)的問(wèn)題

    服務(wù)器遷移php版本不同可能誘發(fā)的問(wèn)題

    今天在服務(wù)器做了遷移以后,前臺(tái)可以正常顯示和調(diào)用,登陸后臺(tái)顯示500錯(cuò)誤,一般這種情況下都要查看核心跳轉(zhuǎn)文件,經(jīng)查看發(fā)現(xiàn)login.php文件并沒(méi)有調(diào)用.因?yàn)檎也坏絣ogin.php文件,那就證明這個(gè)文件里是有語(yǔ)法錯(cuò)誤
    2015-12-12
  • thinkphp模板的包含與渲染實(shí)例分析

    thinkphp模板的包含與渲染實(shí)例分析

    這篇文章主要介紹了thinkphp模板的包含與渲染,實(shí)例分析了模板包含與渲染的用法與相關(guān)技巧,是比較實(shí)用的技巧,需要的朋友可以參考下
    2014-11-11
  • Django 中 cookie的使用

    Django 中 cookie的使用

    Cookie是瀏覽器在客戶(hù)端留下的一段記錄,這段記錄可以保留在內(nèi)存或者硬盤(pán)上。Django里面,對(duì)cookie的讀取和設(shè)置很簡(jiǎn)單。接下來(lái)通過(guò)本文給大家分享Django 中 cookie的使用,感興趣的朋友一起看看吧
    2017-08-08
  • laravel框架實(shí)現(xiàn)去掉URL中index.php的方法

    laravel框架實(shí)現(xiàn)去掉URL中index.php的方法

    今天小編就為大家分享一篇laravel框架實(shí)現(xiàn)去掉URL中index.php的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-10-10
  • php中關(guān)于socket的系列函數(shù)總結(jié)

    php中關(guān)于socket的系列函數(shù)總結(jié)

    這篇文章主要介紹了php中關(guān)于socket的系列函數(shù)總結(jié),本文列舉了所有關(guān)于PHP語(yǔ)言中使用socket相關(guān)服務(wù)的一些函數(shù),需要的朋友可以參考下
    2015-05-05

最新評(píng)論

宣威市| 林周县| 建德市| 铁岭市| 陆河县| 承德县| 玉林市| 凯里市| 清镇市| 琼海市| 锦州市| 舒城县| 来凤县| 上犹县| 沧州市| 南华县| 万年县| 呼玛县| 扶余县| 永寿县| 札达县| 宜春市| 苏州市| 大同市| 长治市| 筠连县| 新沂市| 渝北区| 阿克| 西畴县| 星子县| 西和县| 延川县| 张家港市| 安溪县| 凤翔县| 霍州市| 章丘市| 肇庆市| 武隆县| 西吉县|