Artisan命令

目前Artisan只是实现了一些常用的功能,比如创建数据库,创建数据表,创建服务,控制器,模型等。除此之外,还可以执行终端任务,这个功能非常强大,任务程序中你除了拿不到 Web 相关的数据(ip, url, session等),其他框架资源你都可以随意调用。

你可以意味着你可以使用编写任何复杂的终端 controller, 将控制器在终端运行 (后面有演示 demo)。

在app根目录下执行php artisan --help

##或者输入

php artisan -h

注意,请先确保 php 命令行脚本已经添加到你的系统的环境变量中了。

就可以看到所有的artisan命令和参数了。类似如下所示:

下面简单介绍一下artisan的使用

创建任务

我们为终端任务定义了一个统一的接口,因此你的任务只需要实现ITask 接口就行了, 假设任务的名称为 mytest

那么你只需要添加一个任务的具体实现类:{app}/client/tasks/MytestTask.class.php, 这个类必须实现 tasks\interfaces\ITaskclient\tasks\interfaces\ITask 源码namespace client\tasks\interfaces;

interface ITask{

// 运行任务入口方法,类似 C 语言的 main 函数

public function run();

}

TestTask.class.php 可以这样写:namespace client\tasks;

use client\tasks\interfaces\ITask;

use herosphp\core\Loader;

use app\user\service\UserService;

class TestTask implements ITask{

public function run(){

tprintOk("Hello, world!");

// 你也可以调用服务,操作数据库,就跟在控制器中一样

$userService = Loader::service(UserService::class);

$users = $userService->find();

}

}

温馨提示: 框架里面内置了linux终端彩色打印的函数,tprintOk, tprintError, tprintWarning. 具体使用方法参考 全局函数。

运行任务

运行任务很简单,切换到项目根目录,执行以下命令:cd www/app

php artisan --run test

创建数据库参数名称

参数说明make-db

数据库的名称(必需)

dbhost

主机名(默认127.0.0.1)

dbuser

用户名(默认root)

dbpass

密码(默认123456)

charset

字符编码(默认utf8)

php artisan --make-db user --dbhost 127.0.0.1 --dbuser root --dbpass 123456

创建数据表

由于创建表的时候需要的参数太多,就没有通过命令行去传参数,而是使用xml去传参数的。

默认xml文档是放在 {app}/build 目录下的。注意,这里的{app} 是指应用的根目录,不是项目的根目录。

这里贴出一个 demo xml 文件

下面分别介绍一下各个xml节点的属性所代表的参数含义root 根节点,配置数据的连接信息属性名称

属性说明dbhost

数据库主机名

dbuser

数据库用户名

dbpass

数据库用户密码

dbname

数据库名称

charset

数据库字符编码

table 每个闭合的table节点表示一个数据表的配置属性名称

属性说明name

表名称

comment

数据表说明备注

engine

数据表存储引擎,默认InnoDB

pk table 子节点,主键节点,配置主键属性属性名称

属性说明name

主键名称,必填

type

数据类型,必填

ai

是否自增类型,可选 true, false

field 字段配置节点,包在 fields 节点里面。属性名称

属性说明name

字段名称

type

数据类型,可选值:int, char, varchar, datetime, timestamp, text 等

default

默认值,可选值:空,NULL, 具体值

comment

字段描述说明

add-index

是否添加索引,true OR false

index-type

索引类型,可选:unique(唯一),不填写则为普通索引.

创建模型(Model)

make-model 命令, 可以创建单个Model,也可以用你创建数据表的xml直接

批量创建模型,如果 --make-model 参数传入的是xml文档,则表示是使用

xml文档来创建Model, 如:php artisan --make-model user.xml

需要留意的是,我们也支持创建关联模型,只需要你在 table 标签内加入 flagments 标签。flagments 标签里面可以嵌套多个 model

标签,也就是说一个模型是可以关联多个模型的,model标签的属性如下:属性名称

属性说明name

模型名称,如 user

fields

关联字段,用来读取字段合并到结果。

创建单个模型需要传入的参数会多一些:参数名称

参数说明make-model

模型名称,必填

table

Model 关联的数据表,必填

pk

数据表主键,必填,默认值:id

author

创建模型的作者,可选

email

作者email, 可选

date

创建时间,可选,默认值:当天

desc

模型描述,可选

完整命令demophp artisan --make-model user --table herosphp_user --pk id --author yangjian --email yanjian102621@gmail.com --desc "User model"

创建服务参数名称

参数说明make-service

服务名称,必填,如user

module

所属模块,必填

author

创建模型的作者,可选

email

作者email, 可选

date

创建时间,可选,默认值:当天

desc

服务描述,可选

extend

继承父类,可选,默认值:common\service\CommonService, 如果为false,则表示没有父类

php artisan --make-service user --module member --desc "用户服务" --extend false

创建控制器参数名称

参数说明make-controller

控制器名称,必填

module

所属模块,必填,如果是admin, 则会自动继承CommonAction, 否则会继承 Controller 基类

author

创建模型的作者,可选

email

作者email, 可选

date

创建时间,可选,默认值:当天

desc

模型描述,可选

php artisan --make-controller news --module user --desc "新闻资讯Controller" --author yangjian --email yangjian102621@gmail.com

Copyright © HerosPHP 2016 all right reserved,powered by Gitbook最后更新时间:

2019-03-05 13:08:05

php artisan 命令详解,Artisan命令详解相关推荐

  1. laravel 如何 new php 类,PHP实例:laravel通过创建自定义artisan make命令来新建类文件详解...

    <PHP实例:laravel通过创建自定义artisan make命令来新建类文件详解>要点: 本文介绍了PHP实例:laravel通过创建自定义artisan make命令来新建类文件详 ...

  2. mysql ls命令,Linux 常用 ls命令详解

    ls命令是linux常用命令之一,用于在命令控制台提示符中列出目录和文件信息. 一.ls命令用法: ls命令运行在命令提示符终端,用法如下.其中[选项]和为可选参数,可以一零个或者多个选项:[文件]也 ...

  3. 每天一个linux命令(25):linux文件属性详解

    每天一个linux命令(25):linux文件属性详解 Linux 文件或目录的属性主要包括:文件或目录的节点.种类.权限模式.链接数量.所归属的用户和用户组.最近访问或修改的时间等内容.具体情况如下 ...

  4. ARP命令详解--网络命令详解二

    显示和修改"地址解析协议 (ARP)"缓存中的项目.ARP 缓存中包含一个或多个表,它们用于存储 IP 地址及其经过解析的以太网或令牌环物理地址.计算机上安装的每一个以太网或令牌环 ...

  5. linux kill命令信号,linux kill命令详解

    kill 命令的用途 kill 命令很容易让人产生误解,以为它仅仅就是用来杀死进程的.我们来看一下 man page 对它的解释:kill - send a signal to a process. ...

  6. linux sort命令 性能,linux sort 命令详解

    linux sort 命令详解 sort命令的功能是对文件中的各行进行排序.sort命令有许多非常实用的选项,这些选项最初是用来对数据库格式的文件内容进行各种排序操作的.实际 上,sort命令可以被认 ...

  7. php mysql修改命令_PHP编程:mysql alter table命令修改表结构实例详解

    <PHP编程:mysql alter table命令修改表结构实例详解>要点: 本文介绍了PHP编程:mysql alter table命令修改表结构实例详解,希望对您有用.如果有疑问,可 ...

  8. 怎么打开python shell_Python之使用adb shell命令启动应用的方法详解

    一直有一个心愿希望可以用Python做安卓自动化功能测试,在一步步摸索中,之前是用monkeyrunner,但是发现对于控件ID的使用非常具有局限性,尤其是ID的内容不便于区分 具有重复性时,后面又发 ...

  9. linux设置共享权限设置命令,Linux系列知识详解(三)--------- Linux链接命令和权限管理命令...

    Linux系列知识详解(三)--------- Linux链接命令和权限管理命令 一:链接命令ln 简介:什么是链接命令?链接命令分为软链接和硬链接.其中软链接产生的新文件是以路径的形式表示原文件,类 ...

  10. linux命令 正则表达式,详解Linux命令中的正则表达式

    详解Linux命令中的正则表达式 Mark Do 2017年9月19日 暂无评论 阅读 981 次 命令中的正则表达式 如果要在命令输出或文本中筛选内容时使用模糊查找,就需要使用正则表达式.正则表达式 ...

最新文章

  1. 免费的XShell替代品,同时支持Windows,macOS,Linux!又来一款国产良心工具....
  2. python 初始化数组 numpy,Python Numpy 数组的初始化和基本操作
  3. 助力企业应用与基础架构现代化 VMware这波组合拳够强!
  4. mysql更新id最大_我们可以在单个MySQL查询中更新具有最高ID的行吗?
  5. Android ProgressDialog示例
  6. TimeSpan asp.net中时间的运算
  7. Thinkphp报错:fields not exists:[status]
  8. HibernateProxy. Forgot to register a type adapter?
  9. 三维几何图形创作方法(Geometry3D)之二
  10. 马云的“虚拟信用卡”动了谁的奶酪?
  11. 进制转换之2进制与16进制之间的相互转换
  12. 如何解决Windows10系统空闲时间CPU占用高,风扇很响的问题?
  13. CF373C-Counting Kangaroos is Fun
  14. ios xmpp研究探索:删除好友
  15. reRender属性的使用
  16. Android 调用地图导航
  17. 每个工程师都应该知道的 5 个射频发射器测量指标(自NI官网翻译)
  18. optimizer_features_enable
  19. switch中return和break的作用不一样
  20. 基于java jsp的大学教室管理系统

热门文章

  1. 奢侈品电商,压死趣店的最后一根稻草?
  2. ps2022安装包程序文件错误,ps2022安装包在哪儿下载
  3. mean shift应用_使用Google地图制作MEAN应用(第二部分)
  4. w7计算机管理器怎么打开,windows7系统任务管理器怎么打开?快捷键是什么?
  5. 网站被百度网址安全中心 警告 该怎么取消拦截提示
  6. 计算机教室网络平面示意图,计算机机房平面布置图.doc
  7. hive 中文字符过滤_hive中文字符乱码 解决方法【转】
  8. python记时命令
  9. php安全新闻早八点-Microdoor-第三季
  10. oracle—ebs_采购功能点操作手册,oracle—EBS_采購功能点操作手册.doc