YII2框架使用控制台命令的方法分析_php实例

来源:脚本之家  责任编辑:小易  

最近在学习PHP,着手找一个能快速上手的框架来学习。一开始看兄弟连视频时候讲师推荐ThinkPHP。于是我选择了ThinkPHP来尝试,这个框架的上手难度系数不大,能快速开发一款应用。适合小型的企业应用。因为是国人开发的,中文支持比较好。有比较全

本文实例讲述了YII2框架使用控制台命令的方法。分享给大家供大家参考,具体如下:

yii2-gird 插件是Yii2.0的一个扩展。它在官方的girdview基础上扩展了一些实用的功能。 比如: 把表格包装在bootstrap - panel标签下,使之更美观; Float Header功能,实现滑动表格的时候,表字段至于屏幕上方,方便查看; 新增操作栏说明label

有些时候我们需要通过crontab在后台跑一些定时脚本,这时候就需要用到控制台命令了。

yii\base\Controller是基础类,不具备redirect功能, 改成 yii\web\Controller

我们在commands目录下创建TestController.php,当然脚本的位置是可以随意指定的,只需要在config/console.php中配置好就行。

先在console/controllers/里新建控制器文件写PHP,然后在console/scripts/里新建脚本调用控制器(如./yii user/update-code),然后就是在crontab里每月执行一次这个脚本了。

$config = [ 'controllerNamespace' => 'app\commands', ];

yii2访问权限默认由自带rbac组件管理需要自编写相应规则实现权限管理图形界面 yii2-adminrbac管理视化需要点几鼠标能设置简单规则 本教程软件版本及链接:yii2(v2.06,使用高级模板),yii2-admin(2.0) yii2: yii2-admin: 本文未涉及自定义规则yii2

TestController.php代码如下:

这个问题相信很多人都有误解,认为通房丫头和男主人发生关系却没有取得妻妾名分,所以她们是受压迫的,痛苦不堪的。但事情要看清楚,看全面。通房丫头的待遇很好,所有的灾祸,基本都源自于男主妻妾的嫉妒。为什么有通房丫头?正妻是装点门面,妾室是发泄欲望,通房丫头如同妾,但身份还不如妾。通房丫头的目标是走向成功人士,即,由奴婢变为妾,甚至再往妻的方向发展。这一点,不光是族内人默许,甚至老太太、老太爷也会默许。《红楼梦》里谁是最有名的通房丫头呢?是的,贼恶心的赵姨娘。赵姨娘原本是一个丫鬟,被贾政当成了通房的,怀了孕生了孩子,因此才扶正成为妾。赵姨娘此生的主要目的,就是盼着王夫人赶紧去死,王夫人死了她就是老大。

<?php namespace app\commands; use YII; use yii\console\Controller; use yii\console\ExitCode; use yii\helpers\Console; //注意控制台程序必须继承自yii\console\Controller class TestController extends Controller { public $param1; public $param2; public $param3; //指定用于控制台的选项 public function options($actionID) { return [ 'param1', 'param2', 'param3', ]; } //如果这些选项名称太长,可以取个短的别名 public function optionAliases() { return [ 'p1' => 'param1', 'p2' => 'param2', 'p3' => 'param3', ]; } // 定义控制台运行的方法 // yii test/test1 -p1=hello -p2=world -p3=!!! public function actionTest1() { echo $this->param1, ' ', $this->param2, ' ', $this->param3, "\n"; return ExitCode::OK; } // 我们可以获取控制台传过来的参数 // 注意,函数第一个参数,对应控制台传过来的第一个参数,依次类推,不要把顺序搞错了。 // yii test/test2 aa bb cc public function actionTest2($p1 = '', $p2 = '', $p3 = '') { echo $p1, ' ', $p2, ' ', $p3, "\n"; return ExitCode::OK; } // 当然控制台也可以一次传多个数据过来,这就需要把函数参数声明为一个array // 控制台传参时就需要把传递的数据通过逗号连接起来,YII2通过处理变成数组 // yii test/test3 aa,bb,cc public function actionTest3(array $arr) { echo implode('--', $arr), "\n"; return ExitCode::OK; } // 控制台格式和颜色的设置 // yii test/test4 public function actionTest4() { //用于控制台输出 $this->stdout('hello', Console::FG_RED); $this->stdout('world', Console::FG_GREEN); $this->stdout('!!!', Console::FG_BLUE); echo "\n"; $hello = $this->ansiFormat('hello', Console::FG_RED); $world = $this->ansiFormat('world', Console::FG_GREEN); $sigh = $this->ansiFormat('!!!', Console::FG_BLUE); echo $hello, ' ', $world, ' ', $sigh, "\n"; return ExitCode::OK; } }

民谚有云:“家有三宝:丑妻热炕破棉袄”,意指三者同样具备实而不华的特质,诸葛亮与丑妻黄月英的美满爱情,更被视为佳话。李维嘉的老婆其实是素有“快女教母”的龙丹妮,背景雄厚,两人生活相当甜蜜,李维嘉的老婆对他的事业也起到了很重要的作用。网友们说小沈阳的妻子是翻版的郭德纲,可是都不影响到两口子之间的恩爱。小沈阳甚至向沈春阳公开示爱:“这半辈子欠你太多,就这样牵手下去!永远爱你!”有人说黄渤的妻子比黄渤还黄渤。但是黄渤却对妻子恩爱有加。黄渤说:有没有永久的爱情我不知道,我只知道有永久的感情,到最后就是亲情,这才是最可靠的情感。梁家辉与曾是香港电台制作人的江嘉年,两人一见钟情。生了孩子的江嘉年身材开始走

运行结果如下:

学乐器,是为了包装孩子还是炫耀自己?妈妈,我再也不想练琴了。妈妈,今天是我生日,能不能破例一次,不练琴了呢?我小时候,看着别人家的孩子学琴,学舞蹈,那都是贵族啊,高干子弟,不敢企及!只有羡慕的份儿。那气质,那身段,那婀娜,作为女人的我都很爱看,何况男人!不知道从什么时候起,我就下定决心,我的孩子,将来一定要学钢琴和舞蹈!真有了孩子,就顺理成章选择了一门乐器——黑管。之所以选它,是因为喜欢黑管的音色,也是因为孩子不怎么能老老实实地坐在钢琴边,黑管,男孩子玩很酷。我知道,兴趣班是在培养特长,其实看的是家长的特长,我们不熟悉乐器,自然更谈不上专业。但是,一颗爱孩子的心却希望孩子专业,是不是搞笑?在孩

注意,windows下的命令行不会显示颜色。

首先,要清楚一个概念:公众号关联的微商城实际上是一个内嵌的HTML5页面。相对而言,小程序在微信上的运行比HTML5更流畅,加载速度更快,使用户有更接近原生app的体验。左为京东商城HTML5页面,右为小程序。除此之外,小程序还有以下优点:可在微信中被搜索到,坐享9亿流量红利可以与微信公众号关联可插入到微信公众号菜单栏可在微信文章中插入识别二维码识即可马上打开这些都是没有统一标准的微商城不可比拟的。一句话总结,电商小程序比微商城更好用。如果你还有更多疑问,欢迎关注「知晓程序」,在后台回复「问答」,获取知晓程序所有小程序问答合辑。

更多关于Yii相关内容感兴趣的读者可查看本站专题:《Yii框架入门及常用技巧总结》、《php优秀开发框架总结》、《smarty模板入门基础教程》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

扩展阅读,根据您访问的内容系统为您准备了以下内容,希望对您有帮助。

PHP Yii2开发框架有什么优势好处

Yii容易学习和使用。只需要知道PHP和面向对象编程,便可以很快上手,而不必事先去学习一种新的架构或者模板语言。

用Yii的开发速度非常之快,除框架本身之外,需要为应用所写的编码极少。造就了Yii是最高效的开发框架之一。

Yii 具有高度的可重用性和可扩展性,是纯粹的面向对象。Yii中的一切都是独立的可被配置,可重用,可扩展的组件。更重要的是Yii有着越来越多的扩展库。主要由使用者贡献出的组件组成,这可能有助于大大减少开发时间。

Yii 有着丰富的功能,从MVC, DAO/ActiveRecord, 到主题化, 国际化和本地化, Yii 提供了几乎所有今天的Web 2.0应用程序开发所需的功能。

Yii参考手册是Yii完备的文档,有着学习和掌握它所需要的任何资料和信息。

Yii一开始就精心设计,以适应复杂的Web应用开发。它不是某个项目的副产品或者第三方集成。而是融合了作者丰富的Web应用开发经验和其它热门 Web 框架和应用的优秀思想的结晶。

最后,重要的一点:Yii是免费的,Yii遵循最新的BSD许可。它确保了它的第三方开发也循序和BSD相兼容的许可。这意味着无论从法律上还是财务上来说,都可以自由的使用Yii来开发任何一个开源的或者私有的应用。

它非常令人印象深刻的是,性能指标相比其他基于PHP的框架有明显效率,立即吸引了非常积极的关注并受到许多开发者的欢迎。本回答被网友采纳

PHP框架Yii2怎么使用内置方法更新配置文件

参考下这篇文章吧

http://www.jb51.net/article/54064.htm

PHP中使用YII框架的问题

因为你Users Model的对应的表明没改,在这个Users模型类里,有这样的方法:

public static function tableName()

{

return '{{%users1}}'; // users1是你的新表名

}

而且直接执行Sql查询,好像不是这样用的吧?

我一般都是这样的

Yii::$app->getDb()->createCommand($sql)->queryAll()

Yii::$app->getDb()->createCommand($sql)->queryOne()

Yii::$app->getDb()->createCommand($sql)->excute()

....

区别你可以看看源代码的说明。(Yii2上的用法,yii1.x应该差不多,你稍微改改就应该没问题)更多追问追答追问好像明白点了,Users类的表名应该怎么改呢?这个文件在哪里?UsersModel是我自己建的类,里面方法为空。追答这个放的地方一般在models这个目录下,文件名应该就叫Users

一般用编辑器就可以追踪到了,比如netbeans的按CTRL+B就可以打开对应的文件追问我实在不知道users模型是如何把表名users记住的,甚到把框架文件全部替换为新的框架文件,再重建上述users模型和indexController查询users1,结果依然是查询users表.追答我上面已经说了,这个方法定义了模型对应的数据表

public static function tableName(){}

如果要研究个明白,可以看看框架源代码

Yii框架在windows下如何允许控制台命令

确保php已加入环境变量,然后cmd进入console目录,然后在当前目录下执行php yii cron/index,对应CronController的index方法。win下的cronjob不知道咋弄,linux下大概就是这样

*/1 * * * * /usr/local/php/bin/php /data/wwwroot/project_name/console/yii cron/index

  • 本文相关:
  • yii框架通过控制台命令创建定时任务示例
  • yii框架的redis命令使用方法简单示例
  • yii使用migrate命令执行sql语句的方法
  • 实例讲解yii2.0在php命令行中运行的步骤
  • yiic命令时提示“php.exe”不是内部或外部命令的解决方法
  • yii2框架中添加自定义模块的方法实例分析
  • yii2框架中日志的配置与使用方法实例分析
  • yii2框架中使用rbac对模块,控制器,方法的权限控制及规则的使用示例
  • yii2框架中behavior行为的理解与使用方法示例
  • yii2框架中actions的作用与使用方法示例
  • php文件类型检查及fileinfo模块安装使用详解
  • php 三维饼图的实现代码
  • php实现 master-worker 守护多进程模式的实例代码
  • php empty 函数判断结果为空但实际值却为非空的原因解析
  • yii2简单实现给表单添加验证码的方法
  • yii2中事务的使用实例代码详解
  • php上传文件,创建递归目录的实例代码
  • yii框架中sphinx索引配置方法解析
  • laravel框架实现敏感词汇过滤功能示例
  • php获取二维数组中某一列的值集合
  • PHP Yii2开发框架有什么优势好处
  • PHP框架Yii2怎么使用内置方法更新配置文件
  • PHP中使用YII框架的问题
  • Yii框架在windows下如何允许控制台命令
  • yii框架调用接口代码一般放在哪个目录下
  • php yii2框架 模型层放在的是哪一个文件夹
  • yii2框架添加扩展类
  • 在php的yii2框架控制器中,return $this->redirect...
  • YII 框架通过控制台命令创建每月定时任务 怎么写
  • yii2 后台怎么直接用/admin
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全php基础php技巧php实例php文摘php模板首页php编程php实例yii框架入门及常用技巧总结php优秀开发框架总结smarty模板入门基础教程php面向对象程序设计入门教程php字符串(string)用法总结php+mysql数据库操作入门教程php常见数据库操作技巧汇总yii框架通过控制台命令创建定时任务示例yii框架的redis命令使用方法简单示例yii使用migrate命令执行sql语句的方法实例讲解yii2.0在php命令行中运行的步骤yiic命令时提示“php.exe”不是内部或外部命令的解决方法yii2框架中添加自定义模块的方法实例分析yii2框架中日志的配置与使用方法实例分析yii2框架中使用rbac对模块,控制器,方法的权限控制及规则的使用示例yii2框架中behavior行为的理解与使用方法示例yii2框架中actions的作用与使用方法示例php文件类型检查及fileinfo模块安装使用详解php 三维饼图的实现代码php实现 master-worker 守护多进程模式的实例代码yii2简单实现给表单添加验证码的方法yii2中事务的使用实例代码详解php上传文件,创建递归目录的实例代码yii框架中sphinx索引配置方法解析laravel框架实现敏感词汇过滤功能示例php获取二维数组中某一列的值集合php获取数组长度的方法(有实例)微信公众平台实现获取用户openid教你如何使用php session使用php生成二维码的两种方法(带php发送get、post请求的6种方法简php中把stdclass object转array的微信公众平台网页授权获取用户基laravel框架数据库curd操作、连贯php删除数组中空值的方法介绍php字符串的连接的简单实例php获取远程http或ftp文件的md5值的方法zend framework教程之请求对象的封装zendthinkphp中session函数详解php 使用pcntl和libevent 实现timer功能laravel实现auth认证,登录、注册后的页面php爬虫之百万级别知乎用户数据爬取与分析2017年最好用的9个php开发工具推荐(超好用推荐几款用 sublime text 开发 laravel 所win7 64位系统下php连接oracle数据库php中的mongodb select常用操作代码示例
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved