-
Tp5 继承Base用法
2018-08-01 16:45:14这些字段只要在__construct函数中定义即可。定义规则如下: <?php namespace app\controller; use think; class Base extends think\Controller{ public $name; //声明公共变量name,pwd publi...一个类中可能有多个方法,在这些方法中,有时会使用到相同的字段。这些字段只要在__construct函数中定义即可。定义规则如下:
<?php namespace app\controller; use think; class Base extends think\Controller{ public $name; //声明公共变量name,pwd public $pwd; function __construct() { $where = array( 'class_name' => 'sms\ChuanglanSmsApi', 'is_effect' => 1, 'is_delete' => 0 ); $config = Db::name('sms')->where($where)->field('id,name,pwd')->find(); $this->name = $config['name']; $this->pwd = $config['pwd']; } } //在以后的方法中,使用$this->name的格式就可以得到name值。 例如: <?php namespace app\controller; use think; class Index extends Base{ function Index(){ $name = $this->name; //就可以得到name的值了 } }
-
IS_GET IS_POST TP5中不好使
2018-08-30 09:57:41IS_GET IS_POST TP5中不好使 今天用tp5写突然发现程序IS_GET IS_POST TP5中不好使了。 原来,改成了request()->isXxx(); 想用原来的也可以: //common->base 里面自己定义 defined('IS_GET') or ...IS_GET IS_POST TP5中不好使
今天用tp5写突然发现程序IS_GET IS_POST TP5中不好使了。
原来,改成了request()->isXxx();
想用原来的也可以:
//common->base 里面自己定义 defined('IS_GET') or define('IS_GET', $this->request->isGet()); defined('IS_POST') or define('IS_POST', $this->request->isPost()); defined('IS_AJAX') or define('IS_AJAX', $this->request->isAjax());
特记录一下
-
php 命令安装tp5,TP5 自定义命令详细命令行用法
2021-04-07 08:22:34好在TP5框架中有命令行的功能,我们可以使用TP5的命令行调用我们自定义的命令,从而操作TP5项目中的代码。定义命令先简单的定义一个命令,建立一个命令行测试类:namespace app\base\command;use think\con...很多时候需要使用命令行来执行php脚本,执行单独的php的脚本没有什么太大的问题,如果想要执行使用TP5框架项目的某个文件,可能会因相关文件无法加载而不能执行。
好在TP5框架中有命令行的功能,我们可以使用TP5的命令行调用我们自定义的命令,从而操作TP5项目中的代码。
定义命令
先简单的定义一个命令,建立一个命令行测试类:
namespace app\base\command;
use think\console\Command;
use think\console\Input;
use think\console\Output;
class Test extends Command
{
protected function configure()
{
$this->setName('test');//定义命令的名字
}
protected function execute(Input $input, Output $output)
{
$output->writeln('Hello World');//在命令行界面输出内容
}
}
现在来说一下这2个方法的功能:
configure()
用来设置自定义命令属性,可以配置命令名字、命令参数、命令选项、命令描述
execute()
用来设置执行命令的相关操作,通过Input,Output输入输出达到命令行和代码的交互。
配置命令
设置完了自定义命令,还要在application/command.php中配置一下才行哦:
return [
'app\base\command\Test'
];
一个命令对应一个命令类,对应一个配置。也就是说想定义多个命令,就需要建立多个类文件,每个定义的命令都要在这里配置才能生效。
使用命令
首先进入项目的根目录,然后打开cmd,先使用php think 命令可以看到:
在Available commands 这一栏里,看到我们刚才的定义的test命令。
现在执行这个命令:
php think test
可以看到返回:
Hello World
这样我们定义的命令就使用成功了。
命令参数
上面的命令似乎只能执行一些简单的操作,这次我们给命令添加几个参数,增加命令的功能性。
protected function configure()
{
$this->setName('test') //定义命令的名字
->setDescription('This is my command') //定义命令的描述
->addArgument('name') //增加一个名字参数
->addArgument('age'); //增加一个年龄参数
}
protected function execute(Input $input, Output $output)
{
//获取输入的参数
$name = $input->getArgument('name');
$age = $input->getArgument('age');
//输出获得的参数
$output->writeln("My name is $name ,age is $age");
}
在命令行输入:
php think test wuhen 20
可以看到返回 :
My name is wuhen,age is 20
命令选项
我们的命令虽然可以传入参数了,不过可以增加 选项 进一步充分我们命令的功能。
protected function configure()
{
$this->setName('calculate') //定义命令的名字
->setDescription('This is my command') //定义命令的描述
->addArgument('number1') //参数1
->addArgument('number2') //参数2
->addOption('add') //定义相加的选项
->addOption('sub'); //定义相减的选项
}
protected function execute(Input $input, Output $output)
{
//获取输入的2个参数
$number1 = $input->getArgument('number1');
$number2 = $input->getArgument('number2');
//加法操作
if($input->hasOption('add')){
$result = $number1 + $number2;
$output->writeln("$number1 + $number2 = $result");
}
//减法操作
if($input->hasOption('sub')){
$result = $number1 - $number2;
$output->writeln("$number1 - $number2 = $result");
}
}
在命令行输入:
php think calculate 20 30 --add
可以看到返回 :
20 + 30 = 50
在命令行输入:
php think calculate 20 30 --sub
可以看到返回:
20 - 30 = -10
标签:定义,自定义,命令,TP5,命令行,input,php,think
来源: https://blog.csdn.net/weixin_41715751/article/details/102741861
-
TP5控制器中引入类文件的问题
2017-08-11 16:32:32如果你用的时TP5: 1:打开框架核心文件夹thinphp里面的base.php文件,里面已经定义了一些常用路径常量,基本不用再自己定义。 2:把b.class.php文件的class去掉(多余)(类名首字母要大写b改成B,全名B.php就可以...如果你用的时TP5:
1:打开框架核心文件夹thinphp里面的base.php文件,里面已经定义了一些常用路径常量,基本不用再自己定义。
2:把b.class.php文件的class去掉(多余)(类名首字母要大写b改成B,全名B.php就可以了),然后打开B.php在<?php // 声明该文件在a文件夹内 namespace a; class B{ } // 然后在控制器中 <?php namespace app\index\controller; use think\Controller; use a\B; class Index { public function index() { // 在方法里面直接 new 就可以了 $obj = new B; return 'index'; } }
-
TP5自定义命令行详细用法
2019-03-14 11:32:46好在TP5框架中有命令行的功能,我们可以使用TP5的命令行调用我们自定义的命令,从而操作TP5项目中的代码。 定义命令 先简单的定义一个命令,建立一个命令行测试类: namespace app\base\command; use ... -
TP5 自定义命令详细命令行用法
2019-10-25 14:02:32好在TP5框架中有命令行的功能,我们可以使用TP5的命令行调用我们自定义的命令,从而操作TP5项目中的代码。 定义命令 先简单的定义一个命令,建立一个命令行测试类: namespace app\base\command; u... -
TP5的一些小知识整理
2020-06-13 11:45:401.查看当前项目的thinkphp版本 tp5.0 ,版本号是写在/thinkphp/base.php 中,定义 THINK_VERSION; tp5.1,版本号在/thinkphp/library/think/App.php 中; -
tp5加载资源文件
2018-03-09 10:07:41在think\view.php的构造方法__construct中默认定义了资源文件路径 $baseReplace = [ '__ROOT__' => $root, '__URL__' => $base . '/' . $request->module() . '/' . Loader::parseName($... -
TP5模块包含和继承
2019-06-18 08:58:391.模板包含 将公共部分提出来, 例如放在 view/common/nav.hml 中, 再需要的时候,通过...先定义一个主模板, 例如放在, view/common/base.html 中,在其中 放入坑"block", 例如 title <!doctype html> <ht... -
(2)学习tp5之常量、自动加载、命名空间
2018-04-01 17:56:57文档对应手册-》附录-》常量参考写过框架的应该都看出来了,如果想...tp5只不过是给放在一个入口文件中的东西,分开放在了4个文件中。public/index.php 和 thinkphp/start.php 和 thinkphp/base.php 和 thinkphp/l... -
为了操作方便,建议打开 MySql 管理工具,直接运行所提供的 "database/tp5_pro.sql" 数据库文件 说明信息 > 其次就是到 config/database.php 文件中,配置正确的数据库连接信息 这是鄙人的默认数据,后期可...
-
让Swoole完美支持ThinkPHP5
2018-12-17 19:29:21TP5的运行机制 任何请求都会经过tp5的入口文件,载入框架的配置文件,启动进程,然后处理请求。 在这个index.php的入口文件中,可以看到,它先定义的APP_PATH这个常量,然后引入的框架的启动文件start.php,那我们就... -
让Swoole 和 ThinkPHP5 完美结合~~~
2019-06-02 13:12:29TP5的运行机制 任何请求都会经过tp5的入口文件,载入框架的配置文件,启动进程,然后处理请求。. 在这个index.php的入口文件中,可以看到,它先定义的APP_PATH这个常量,然后引入的框架的启动文件start.php,那... -
php有有携程吗,thinkphp5支持swoole携程吗
2021-03-23 22:13:26TP5运行机制:任何请求都会经过tp5的入口文件,载入框架的配置文件,启动进程,然后处理请求。在这个index.php的入口文件中,可以看到,它先定义的APP_PATH这个常量,然后引入的框架的启动文件start.php,那我们就去... -
C++后台开发STL之vector类2017/5/15
2017-05-15 15:42:54浏览了一遍vector源码,在SGI STL头文件Stl_vector.h文件中,头文件一共定义了三个类,第一个是_Vector_alloc_base类,第二个是_Vector_base类,第三个则是外部接口vector类。STL代码vector类无删减版://__STL_... -
swoole4.0 支持thinkhphp5.1
2019-02-20 16:22:54TP5的运行机制 任何请求都会经过tp5的入口文件,载入框架的配置文件,启动进程,然后处理请求。 在这个index.php的入口文件中,可以看到,它先定义的APP_PATH这个常量,然后引入的框架的启动文件start.php,那我们... -
Oracle数据库精讲与疑难解析.part5(共七部分)
2011-08-21 11:30:03本书旨在向读者解答使用Oracle中遇到的疑难问题,并展示管理Oracle的大量技巧。 第1篇 创建属于自己的oracle数据库 第1章 认识oracle的世界——oracle的体系结构 1.1 oracle的发家史 1.2 数据库 1.3 ... -
华为编程开发规范与案例
2008-09-04 16:44:563 pDBFat = (_NM_DBFAT_STRUC *)(NVDB_BASE + DBFAT_OFFSET + i*DBFAT_LEN); 4 if(fat_check(pDBFat) != 0) 5 { 6 pSysHead->system_flag = 0; 7 head_sum(); 8 continue; 9 } 10 if(strlen(dbf->dbf_... -
TTL线刷机教程1.docx
2019-10-28 22:06:37第一步是boardID,CFE会返回所有支持的型号,输入型号后边的数字来定义,如果找不到你自己的设备,保持默认就好。 之后会让你修改MAC长度,一般为12,这里务必修改正确。 回车后会让你输入MAC地址,一般会有个默认... -
[完整][Oracle][Oracle数据库精讲与疑难解析].pdf
2012-11-17 16:25:15版 次:1页 数:932字 数:1196000印刷时间:2008-5-1开 本:16开纸 张:胶版纸印 次:1I S B N:9787121061899 内容简介 本书是一本毫无保留的Oracle学习宝典。通过作者历时3年的写作,本书介绍了Oracle的... -
Oracle数据库精讲与疑难解析part2
2013-07-29 11:26:32上架时间:2008-5-30 出版日期:2008 年5月 开本:16开 页码:932 版次:1-1 编辑推荐 耗时3年,作者曾为本书辞职在家专心写作. 754个实务,件件源自实际工作的经验与教训,配有实务速查目录 分享经验... -
Oracle数据库精讲与疑难解析part1
2013-07-29 11:24:41上架时间:2008-5-30 出版日期:2008 年5月 开本:16开 页码:932 版次:1-1 编辑推荐 耗时3年,作者曾为本书辞职在家专心写作. 754个实务,件件源自实际工作的经验与教训,配有实务速查目录 分享经验... -
Oracle数据库精讲与疑难解析.part1(共七部分)
2011-08-20 20:24:06本书旨在向读者解答使用Oracle中遇到的疑难问题,并展示管理Oracle的大量技巧。 第1篇 创建属于自己的oracle数据库 第1章 认识oracle的世界——oracle的体系结构 1.1 oracle的发家史 1.2 数据库 1.3 ... -
Oracle数据库精讲与疑难解析.part7(共七部分)
2011-08-20 23:26:29本书旨在向读者解答使用Oracle中遇到的疑难问题,并展示管理Oracle的大量技巧。 第1篇 创建属于自己的oracle数据库 第1章 认识oracle的世界——oracle的体系结构 1.1 oracle的发家史 1.2 数据库 1.3 ... -
Oracle数据库精讲与疑难解析.part6(共七部分)
2011-08-20 23:02:13本书旨在向读者解答使用Oracle中遇到的疑难问题,并展示管理Oracle的大量技巧。 第1篇 创建属于自己的oracle数据库 第1章 认识oracle的世界——oracle的体系结构 1.1 oracle的发家史 1.2 数据库 1.3 ... -
Oracle数据库精讲与疑难解析.part4(共七部分)
2011-08-20 22:17:13本书旨在向读者解答使用Oracle中遇到的疑难问题,并展示管理Oracle的大量技巧。 第1篇 创建属于自己的oracle数据库 第1章 认识oracle的世界——oracle的体系结构 1.1 oracle的发家史 1.2 数据库 1.3 ... -
Oracle数据库精讲与疑难解析.part3(共七部分)
2011-08-20 21:40:29本书旨在向读者解答使用Oracle中遇到的疑难问题,并展示管理Oracle的大量技巧。 第1篇 创建属于自己的oracle数据库 第1章 认识oracle的世界——oracle的体系结构 1.1 oracle的发家史 1.2 数据库 1.3 ... -
Oracle数据库精讲与疑难解析.part2(共七部分)
2011-08-20 20:49:11本书旨在向读者解答使用Oracle中遇到的疑难问题,并展示管理Oracle的大量技巧。 第1篇 创建属于自己的oracle数据库 第1章 认识oracle的世界——oracle的体系结构 1.1 oracle的发家史 1.2 数据库 1.3 ... -
有的设备,比如小米 5S + MIUI 8.0 + Android 6.0.1 MXB48T,可能在第 5 步之前需要重启 adbd 服务,在设备的终端模拟器上运行: restart adbd 如果 restart 无效,尝试以下命令: stop adbd start adbd 应用管理 ...