搜尋
首頁後端開發php教程Yii框架官方教學增補篇3-開始:創建第一個Yii應用

<br>

<br>

為了對 Yii 有個初步認識,我們在本節講述如何建立第一個 Yii 應用。我們將使用yiic(命令列工具)建立一個新的 Yii 應用程式。 Gii(強大的基於web的程式碼產生器)為特定的任務完成自動程式碼產生。假定YiiRoot為 Yii 的安裝目錄,WebRoot 是伺服器的文檔根目錄。 在命令列執行yiic,如下所示:

% YiiRoot/framework/yiic webapp WebRoot/testdrive

注意: 在 MacOS、Linux 或 Unix 系統中運行yiic時,你可能需要修改yiic檔案的權限使它能夠運作。而且必須在終端機命令列中能夠直接執行php命令(可在終端機中使用php -v測試),如果不能的話需要將可執行的php路徑置於系統路徑中。此外,也可以這樣執行此工具:

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

這將在 WebRoot/testdrive 目錄下建立一個最基本的 Yii 應用。這個應用程式擁有了大多數 Yii 應用程式所需的目錄結構。 不用寫一行程式碼,我們可以在瀏覽器中造訪以下 URL 來看看我們第一個 Yii 應用程式:

http://www.php.cn/

正如我們所看到的,這個應用程式包含三個頁面:首頁、聯絡頁面、登入頁。首頁展示一些關於應用程式和使用者登入狀態的信息,聯絡頁顯示一個聯絡表單以便使用者填寫並提交他們的諮詢,登入頁允許使用者先通過認證然後存取已授權的內容。 請參閱下列截圖了解更多:

Yii框架官方教學增補篇3-開始:創建第一個Yii應用Yii框架官方教學增補篇3-開始:創建第一個Yii應用Yii框架官方教學增補篇3-開始:創建第一個Yii應用Yii框架官方教學增補篇3-開始:創建第一個Yii應用Yii框架官方教學增補篇3-開始:創建第一個Yii應用

下面的樹圖描述了我們這個應用的目錄結構:

testdrive/
   index.php                 Web 应用入口脚本文件
   index-test.php            功能测试使用的入口脚本文件
   assets/                   包含公开的资源文件
   css/                      包含 CSS 文件
   images/                   包含图片文件
   themes/                   包含应用主题
   protected/                包含受保护的应用文件
      yiic                   yiic 命令行脚本
      yiic.bat               Windows 下的 yiic 命令行脚本
      yiic.php               yiic 命令行 PHP 脚本
      commands/              包含自定义的 'yiic' 命令
         shell/              包含自定义的 'yiic shell' 命令
      components/            包含可重用的用户组件
         Controller.php      所有控制器类的基础类
         Identity.php        用来认证的 'Identity' 类
      config/                包含配置文件 console.php         控制台应用配置
         main.php            Web 应用配置
         test.php            功能测试使用的配置
      controllers/           包含控制器的类文件
         SiteController.php  默认控制器的类文件
      data/                  包含示例数据库 schema.mysql.sql    示例 MySQL 数据库
         schema.sqlite.sql   示例 SQLite 数据库
         testdrive.db        示例 SQLite 数据库文件
      extensions/            包含第三方扩展
      messages/              包含翻译过的消息
      models/                包含模型的类文件
         LoginForm.php       'login' 动作的表单模型
         ContactForm.php     'contact' 动作的表单模型
      runtime/               包含临时生成的文件
      tests/                 包含测试脚本
      views/                 包含控制器的视图和布局文件
         layouts/            包含布局视图文件
            main.php         所有视图的默认布局
            column1.php      使用单列页面使用的布局
            column2.php      使用双列的页面使用的布局
         site/               包含 'site' 控制器的视图文件
            pages/           包含 "静态" 页面
               about.php     "about" 页面的视图
            contact.php      'contact' 动作的视图
            error.php        'error' 动作的视图(显示外部错误)
            index.php        'index' 动作的视图
            login.php        'login' 动作的视图
         system/             包含系统视图文件

1. 連接到資料庫

Web 應用應用也不例外。要使用資料庫,我們首先需要告訴應用程式如何連接它。修改應用程式的設定檔WebRoot/testdrive/protected/config/main.php即可,如下:

<br>

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

上面的程式碼告訴Yii 應用程式在需要時將連接到testitedrive /protected/data/testdrive.db。注意這個SQLite 資料庫已經包含在我們建立的應用框架中。資料庫只包含一個名為tbl_user的表:

<br>

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
);

若你想要換成一個MySQL 資料庫,你需要匯入檔案WebRoot/testdrive/protected/data/schema.mysql. 。

注意: 要使用 Yii 的資料庫功能,我們需要啟用 PHP 的 PDO 擴充功能和對應的驅動擴充。對於測試應用程式來說,我們需要啟用php_pdo和php_pdo_sqlite擴充。

2. 實現 CRUD 操作

激動人心的時刻來了。我們想要為剛才建立的tbl_user表實作 CRUD (create, read, update 和 delete) 操作,這也是實際應用中最常見的操作。我們無需麻煩地編寫實際程式碼,這裡我們將使用Gii —— 一個強大的基於Web 的程式碼產生器。

設定Gii

為了使用Gii,首先需要編輯檔案WebRoot/testdrive/protected/main.php,這是已知的 應用程式設定 檔案:

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

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

然後,造訪http://www.php.cn /。這裡我們需要輸入密碼,它是在我們在上面的設定中指定的。

產生 User 模型

登陸後,點選連結Model Generator。它將顯示下面的模型產生頁面: Yii框架官方教學增補篇3-開始:創建第一個Yii應用

在Table Name輸入框中,輸入tbl_user。在Model Class 輸入框中,輸入 User。然後點選Preview按鈕。這裡將展示將要產生的新文件。現在點選Generate按鈕。一個名為User.php將會產生到protected/models目錄中。如我們稍後描述的, User模型類別允許我們以物件導向的方式存取資料表tbl_user。

產生 CRUD 程式碼

在建立模型類別之後,我們將產生執行 CRUD 操作的程式碼。我們選擇 Gii 中的Crud Generator,如下所示: Yii框架官方教學增補篇3-開始:創建第一個Yii應用

在Model Class输入框中,输入User。在Controller ID输入框中,输入user(小写格式)。现在点击Generate按钮后的 Preview按钮。CRUD 代码生成完成了。

访问 CRUD 页面

让我们看看成果,访问如下 URL:

http://www.php.cn/

这会显示一个tbl_user表中记录的列表。 点击页面上的Create User 链接,如果没有登录的话我们将被带到Yii框架官方教學增補篇3-開始:創建第一個Yii應用。登录后,我们看到一个可供我们添加新用户的表单。完成表单并点击Create按钮,如果有任何输入错误的话,一个友好的错误提示将会显示并阻止我们保存。回到用户列表页,我们应该能看到刚才添加的用户显示在列表中。 重复上述步骤以添加更多用户。注意,如果一页显示的用户条目太多,列表页会自动分页。 如果我们使用admin/admin作为管理员登录,我们可以在如下 URL 查看用户管理页:

http://www.php.cn/

这会显示一个包含用户条目的漂亮表格。我们可以点击表头的单元格来对相应的列进行排序,而且它和列表页一样会自动分页。 实现所有这些功能不要我们编写一行代码!

<br>

Yii框架官方教學增補篇3-開始:創建第一個Yii應用

以上就是Yii框架官方教程增补篇3——开始:创建第一个Yii应用的内容,更多相关内容请关注PHP中文网(www.php.cn)!

<br>

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
超越炒作:評估當今PHP的角色超越炒作:評估當今PHP的角色Apr 12, 2025 am 12:17 AM

PHP在現代編程中仍然是一個強大且廣泛使用的工具,尤其在web開發領域。 1)PHP易用且與數據庫集成無縫,是許多開發者的首選。 2)它支持動態內容生成和麵向對象編程,適合快速創建和維護網站。 3)PHP的性能可以通過緩存和優化數據庫查詢來提升,其廣泛的社區和豐富生態系統使其在當今技術棧中仍具重要地位。

PHP中的弱參考是什麼?什麼時候有用?PHP中的弱參考是什麼?什麼時候有用?Apr 12, 2025 am 12:13 AM

在PHP中,弱引用是通過WeakReference類實現的,不會阻止垃圾回收器回收對象。弱引用適用於緩存系統和事件監聽器等場景,需注意其不能保證對象存活,且垃圾回收可能延遲。

解釋PHP中的__ Invoke Magic方法。解釋PHP中的__ Invoke Magic方法。Apr 12, 2025 am 12:07 AM

\_\_invoke方法允許對象像函數一樣被調用。 1.定義\_\_invoke方法使對象可被調用。 2.使用$obj(...)語法時,PHP會執行\_\_invoke方法。 3.適用於日誌記錄和計算器等場景,提高代碼靈活性和可讀性。

解釋PHP 8.1中的纖維以進行並發。解釋PHP 8.1中的纖維以進行並發。Apr 12, 2025 am 12:05 AM

Fibers在PHP8.1中引入,提升了並發處理能力。 1)Fibers是一種輕量級的並發模型,類似於協程。 2)它們允許開發者手動控制任務的執行流,適合處理I/O密集型任務。 3)使用Fibers可以編寫更高效、響應性更強的代碼。

PHP社區:資源,支持和發展PHP社區:資源,支持和發展Apr 12, 2025 am 12:04 AM

PHP社區提供了豐富的資源和支持,幫助開發者成長。 1)資源包括官方文檔、教程、博客和開源項目如Laravel和Symfony。 2)支持可以通過StackOverflow、Reddit和Slack頻道獲得。 3)開發動態可以通過關注RFC了解。 4)融入社區可以通過積極參與、貢獻代碼和學習分享來實現。

PHP與Python:了解差異PHP與Python:了解差異Apr 11, 2025 am 12:15 AM

PHP和Python各有優勢,選擇應基於項目需求。 1.PHP適合web開發,語法簡單,執行效率高。 2.Python適用於數據科學和機器學習,語法簡潔,庫豐富。

php:死亡還是簡單地適應?php:死亡還是簡單地適應?Apr 11, 2025 am 12:13 AM

PHP不是在消亡,而是在不斷適應和進化。 1)PHP從1994年起經歷多次版本迭代,適應新技術趨勢。 2)目前廣泛應用於電子商務、內容管理系統等領域。 3)PHP8引入JIT編譯器等功能,提升性能和現代化。 4)使用OPcache和遵循PSR-12標準可優化性能和代碼質量。

PHP的未來:改編和創新PHP的未來:改編和創新Apr 11, 2025 am 12:01 AM

PHP的未來將通過適應新技術趨勢和引入創新特性來實現:1)適應云計算、容器化和微服務架構,支持Docker和Kubernetes;2)引入JIT編譯器和枚舉類型,提升性能和數據處理效率;3)持續優化性能和推廣最佳實踐。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。