之前用过 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 命令的更多相关文章

  1. FuelPHP 系列(三) ------ Model 模型

    框架封装好的 model 类有几个,按需继承就好. 有:/fuel/core/classes/model/crud.php /fuel/packages/orm/classes/model.php / ...

  2. nginx高性能WEB服务器系列之二命令管理

    nginx系列友情链接:nginx高性能WEB服务器系列之一简介及安装https://www.cnblogs.com/maxtgood/p/9597596.htmlnginx高性能WEB服务器系列之二 ...

  3. Hexo系列(三) 常用命令详解

    Hexo 框架可以帮助我们快速创建一个属于自己的博客网站,熟悉 Hexo 框架提供的命令有利于我们管理博客 1.hexo init hexo init 命令用于初始化本地文件夹为网站的根目录 $ he ...

  4. 【Windows10 IoT开发系列】Powershell命令行实用程序

    原文:[Windows10 IoT开发系列]Powershell命令行实用程序 更新帐户密码: 强烈建议你更新默认的管理员帐户密码.若要更新帐户密码,你可以发出以下命令: net user Admin ...

  5. OpenvSwitch系列之ovs-ofctl命令使用

    Open vSwitch系列之一 Open vSwitch诞生 Open vSwitch系列之二 安装指定版本ovs Open vSwitch系列之三 ovs-vsctl 命令使用 OpenvSwit ...

  6. OpenvSwitch系列之ovs-vsctl命令使用

    Open vSwitch系列之一 Open vSwitch诞生 Open vSwitch系列之二 安装指定版本ovs Open vSwitch系列之三 ovs-vsctl 命令使用 OpenvSwit ...

  7. Docker系列之常用命令操作手册

    目录 1.安装虚拟机 2.安装Docker 3.Docker镜像操作 4.Docker容器操作 Docker系列之常用命令操作手册 继上一篇博客Docker系列之原理简单介绍之后,本博客对常用的Doc ...

  8. [转帖]Linux系列之SAR命令使用详解

    Linux系列之SAR命令使用详解 sar是System Activity Reporter(系统活动情况报告)的缩写.这个工具所需要的负载很小,也是目前linux中最为全面的性能分析工具之一.此款工 ...

  9. 《作业控制系列》-“linux命令五分钟系列”之十

    本原创文章属于<Linux大棚>博客. 博客地址为http://roclinux.cn. 文章作者为roc 希望您能通过捐款的方式支持Linux大棚博客的运行和发展.请见“关于捐款” == ...

随机推荐

  1. 数据同步canal客户端

    1.增量订阅.消费设计 get/ack/rollback协议介绍: ① Message getWithoutAck(int batchSize),允许指定batchSize,一次可以获取多条,每次返回 ...

  2. input全选与单选(把相应的value放入隐藏域去)

    框架是Jquery 需求是: 页面上有很多复选框,1.当我选择一项复选框时候 把对应的值放入到隐藏域去 2.当我反选的时候 把隐藏域对应的值删掉.3.当我全选的时候 页面上所有的选择框的值一起放到隐藏 ...

  3. PAT A1009 Product of Polynomials (25 分)——浮点,结构体数组

    This time, you are supposed to find A×B where A and B are two polynomials. Input Specification: Each ...

  4. JAVA框架Struts2 数据封装

    一.strust2封装数据包含二部分: 数据在到Action类的时候,会经过拦截器,拦截器会有很多功能:比如数据封装.类型转换等. 我可以查看下strust-default.xml文件,看那些拦截器默 ...

  5. python_基础语法

    开始正式接触python的语法: 1. 2.

  6. Exp7:网络欺诈防范

    Exp7:网络欺诈防范 基础问题回答 通常在什么场景下容易受到DNS spoof攻击? 答:同一局域网下,以及各种公共网络. 在日常生活工作中如何防范以上两攻击方法? 答: 使用最新版本的DNS服务器 ...

  7. [胡泽聪 趣题选讲]大包子环绕宝藏-[状压dp]

    Description 你有一个长方形的地图,每一个格子要么是一个障碍物,要么是一个有一定价值的宝藏,要么是一个炸弹,或者是一块空地.你的初始位置已经给出.你每次可以走到上.下.左.右这四个相邻的格子 ...

  8. pycharm自动生成头文件注释

    1.在file->settings->file and code templates->python script即可自定制pycharm创建文件自动生成的头文件注释信息 2.创建p ...

  9. VS Code使用Git管理代码

    Visual Studio Code(简称VS Code)是一个轻量级且强大的代码编辑器,后台是微软,支持Windows.Mac和Linux操作系统,拥有丰富的插件生态系统,可通过安装插件来支持C++ ...

  10. C# Language Specification 5.0 (翻译)第四章 类型

    C# 语言的类型分为两大类:值类型(value type)和引用类型(reference type),而它们又都同时具有至少一个类型形参的泛型类型(generic type).类型形参(type pa ...