FuelPHP 系列(一) ------ Oil 命令
之前用过 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,等用过后再来补充。
FuelPHP 系列(一) ------ Oil 命令的更多相关文章
- FuelPHP 系列(三) ------ Model 模型
框架封装好的 model 类有几个,按需继承就好. 有:/fuel/core/classes/model/crud.php /fuel/packages/orm/classes/model.php / ...
- nginx高性能WEB服务器系列之二命令管理
nginx系列友情链接:nginx高性能WEB服务器系列之一简介及安装https://www.cnblogs.com/maxtgood/p/9597596.htmlnginx高性能WEB服务器系列之二 ...
- Hexo系列(三) 常用命令详解
Hexo 框架可以帮助我们快速创建一个属于自己的博客网站,熟悉 Hexo 框架提供的命令有利于我们管理博客 1.hexo init hexo init 命令用于初始化本地文件夹为网站的根目录 $ he ...
- 【Windows10 IoT开发系列】Powershell命令行实用程序
原文:[Windows10 IoT开发系列]Powershell命令行实用程序 更新帐户密码: 强烈建议你更新默认的管理员帐户密码.若要更新帐户密码,你可以发出以下命令: net user Admin ...
- OpenvSwitch系列之ovs-ofctl命令使用
Open vSwitch系列之一 Open vSwitch诞生 Open vSwitch系列之二 安装指定版本ovs Open vSwitch系列之三 ovs-vsctl 命令使用 OpenvSwit ...
- OpenvSwitch系列之ovs-vsctl命令使用
Open vSwitch系列之一 Open vSwitch诞生 Open vSwitch系列之二 安装指定版本ovs Open vSwitch系列之三 ovs-vsctl 命令使用 OpenvSwit ...
- Docker系列之常用命令操作手册
目录 1.安装虚拟机 2.安装Docker 3.Docker镜像操作 4.Docker容器操作 Docker系列之常用命令操作手册 继上一篇博客Docker系列之原理简单介绍之后,本博客对常用的Doc ...
- [转帖]Linux系列之SAR命令使用详解
Linux系列之SAR命令使用详解 sar是System Activity Reporter(系统活动情况报告)的缩写.这个工具所需要的负载很小,也是目前linux中最为全面的性能分析工具之一.此款工 ...
- 《作业控制系列》-“linux命令五分钟系列”之十
本原创文章属于<Linux大棚>博客. 博客地址为http://roclinux.cn. 文章作者为roc 希望您能通过捐款的方式支持Linux大棚博客的运行和发展.请见“关于捐款” == ...
随机推荐
- MP实战系列(十七)之乐观锁插件
声明,目前只是仅仅针对3.0以下版本,2.0以上版本. 意图: 当要更新一条记录的时候,希望这条记录没有被别人更新 乐观锁实现方式: 取出记录时,获取当前version 更新时,带上这个version ...
- Spring framework3.2整合hibernate4.1报错:No Session found for current thread
<bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransact ...
- Python2.7-struct模块
struct模块 处理二进制数据,与C语言交互,可以较为方便的对C语言的struct类型和python中的数据进行转换 主要是用于将int,char之类的C语言中基础数据pack至一个二进制流的字符串 ...
- iOS Swift WisdomScanKit二维码扫码SDK,自定义全屏拍照SDK,系统相册图片浏览,编辑SDK
iOS Swift WisdomScanKit 是一款强大的集二维码扫码,自定义全屏拍照,系统相册图片编辑多选和系统相册图片浏览功能于一身的 Framework SDK [1]前言: 今天给大家 ...
- Python实现随机读取文本N行数据
工作中需要判断某个文本中的URL是否能正常访问,并且随机获取其中N行能正常访问的URL数据,我的思路是:读取文本每一行数据,用urlopen访问,将返回状态码为200的URL保存到一个列表,获得列表长 ...
- 网络对抗技术 2017-2018-2 20152515 Exp2 后门原理与实践
1.实验内容 (1)使用netcat获取主机操作Shell,cron启动 (0.5分) 关于netcat:是一个底层工具,进行基本的TCP UDP数据收发.常被与其他工具结合使用,起到后门的作用. 相 ...
- cmake源码包安装后的卸载问题
cmake源码包安装 CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程),具体学习请移步官网CMake 本文介绍的就是用cmake去安装的别人的包. 一般流程: ...
- WPF编程,通过Path类型制作沿路径运动的动画另一种方法。
原文:WPF编程,通过Path类型制作沿路径运动的动画另一种方法. 版权声明:我不生产代码,我只是代码的搬运工. https://blog.csdn.net/qq_43307934/article/d ...
- Servlet——提交表单信息,Servlet之间的跳转
HTML表单标签:<form></form> 属性: actoion: 提交到的地址,默认为当前页面 method: 表单提交方式 有get和post两种方式,默认为get ...
- [Oracle]跨越 DBLINK 访问表时,数据缓存在何处的Data Buffer 中?
结论是存储在 remote 端,这其实也很好理解.在远端能高效率地计算,当然应当在远端完成缓存和检索. ■ Before query execution via DBLINK: =========== ...