之前用過 Laravel,框架自帶的 artisan 命令,用得爽到爆。現在工作需要,要學習 FuelPHP,首先看到框架目錄結構,有 coposer.json 框架可以用 composer 管理,一定也有自己的命令工具。
對於新手來說,不妨先用命令自動生成文件,然后看這些生成的文件了解基本的 CRUD 操作。
一、准備工作
1、要用 oil 命令需要先安裝 composer
看官網自行安裝 https://getcomposer.org/download/
2、正確連接並創建數據庫
/fuel/app/config/development/db.php 里面進行數據庫配置
下面是 /fuel/app/ 目錄結構
3、打開命令編輯工具,並切換到框架根目錄。
二、即使本地沒有服務器,也可以訪問網站的高級命令 server
php oil server
現在訪問 http://localhost:8000 就可以了,但這個狀態需要一直保持(另外打開一個窗口執行下面的其他命令)。Ctrl-C 可退出。
三、創建 MVC 及其他所需文件的最常用命令 generate
先看看可以創建哪些文件,g 是 generate 的縮寫。
php oil g help
1、scaffold 腳手架,顧名思義,一條命令可以創建一系列 MVC。簡單的 CRUD 操作,只需要一條命令,不需要自己寫任何代碼。
例:創建 article 的 MVC 系列文件,title、content、author、reading 四個字段。
php oil g scaffold article title:varchar content:text author:varchar reading:int
已經生成了這么多文件,包括 controller、model、view、migration 文件,可以看看代碼具體的增刪改查操作。(由於還沒有生成表,所以數據不能入庫,繼續往下看。)
2、controller
例:創建 ccontroller category 有四個方法,index、store、update、delete
php oil g controller category index store update delete
生成控制器文件以及和方法對應的四個視圖文件。
如果想放到 controller 目錄下的 blog 目錄下,php oil g controller blog/category index store update delete
3、model
例:創建 model category 有 name 字段
php oil g model category name:varchar
生成 model 及數據庫相關的 migration 文件
注:如果不需要 migration,后面加參數
php oil g model tag name:varchar --no-migration
如果需要軟刪除,則需要 model_soft
php oil g model post title:varchar[50] user_id:int --soft-delete
4、presenter
php oil g controller post action1 action2 --with-presenter
5、migration
♦ 執行文件遷移,及用 migration 文件自動創建表
php oil refine migrate
數據庫會有一張表叫 migration ,里面記錄了所欲遷移的文件。
♦ 生成 migration 文件,或對表進行操作,總之文件名要顧名思義。
php oil generate migration create_users name:text email:string[50] password:string[125] // 創建 users 表 php oil generate migration rename_table_users_to_accounts // 修改 users 表名為 accounts php oil generate migration add_bio_to_accounts bio:text // 添加字段 bio php oil generate migration delete_bio_from_accounts bio:text // 刪除字段 bio php oil generate migration rename_field_name_to_username_in_accounts // 修改字段名 php oil generate migration drop_accounts
6、task
php oil g task newtask cmd1 cmd2
7、config
♦ php oil g config test hello:world 生成普通配置文件 test.php
♦ php oil g config package 生成 package.php
♦ php oil g config form --overwrite 重寫 core/config/ 目錄下的配置文件。
8、module
php oil g module blog 在 框架根目錄會多一個 blog 目錄。
四、執行一些任務的簡單命令 refine
同樣 help 看一下可執行的任務
php oil refine help
上面紅框的命令都可以試試看哦,有一些很有趣的效果
五、安裝或卸載包文件的命令 package
包文件資源在配置文件 package.php 中管理
php oil package install test-package 安裝 test-package 包
php oil package uninstall test-package 卸載包文件
六、方便隨時執行 php 的快捷命令 console
php oil console 會進入 PHP 環境中,隨意寫 php 代碼
七、可進行單元測試的命令 test
用於 unit test,等用過后再來補充。