精华内容
下载资源
问答
  • 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:41
    IS_GET IS_POST TP5中不好使 今天用tp5写突然发现程序IS_GET IS_POST TP5中不好使了。 原来,改成了request()-&gt;isXxx(); 想用原来的也可以: //common-&gt;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());
    

    特记录一下 

     

    展开全文
  • 好在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 命令可以看到:

    690abb7f78904f92411c5ea71428c1bf.png

    在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';
        }
    }
    
    

    http://www.thinkphp.cn/topic/43778.html

    展开全文
  • TP5自定义命令行详细用法

    千次阅读 2019-03-14 11:32:46
     好在TP5框架有命令行的功能,我们可以使用TP5的命令行调用我们自定义的命令,从而操作TP5项目的代码。 定义命令  先简单的定义一个命令,建立一个命令行测试类: namespace app\base\command; use ...
  •  好在TP5框架有命令行的功能,我们可以使用TP5的命令行调用我们自定义的命令,从而操作TP5项目的代码。 定义命令  先简单的定义一个命令,建立一个命令行测试类: namespace app\base\command; u...
  • TP5的一些小知识整理

    2020-06-13 11:45:40
    1.查看当前项目的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__' =&gt; $root, '__URL__' =&gt; $base . '/' . $request-&gt;module() . '/' . Loader::parseName($...
  • TP5模块包含和继承

    2019-06-18 08:58:39
    1.模板包含 将公共部分提出来, 例如放在 view/common/nav.hml , 再需要的时候,通过...先定义一个主模板, 例如放在, view/common/base.html ,在其中 放入坑"block", 例如 title <!doctype html> <ht...
  • 文档对应手册-》附录-》常量参考写过框架的应该都看出来了,如果想...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:21
    TP5的运行机制 任何请求都会经过tp5的入口文件,载入框架的配置文件,启动进程,然后处理请求。 在这个index.php的入口文件,可以看到,它先定义的APP_PATH这个常量,然后引入的框架的启动文件start.php,那我们就...
  • TP5的运行机制 任何请求都会经过tp5的入口文件,载入框架的配置文件,启动进程,然后处理请求。. 在这个index.php的入口文件,可以看到,它先定义的APP_PATH这个常量,然后引入的框架的启动文件start.php,那...
  • TP5运行机制:任何请求都会经过tp5的入口文件,载入框架的配置文件,启动进程,然后处理请求。在这个index.php的入口文件,可以看到,它先定义的APP_PATH这个常量,然后引入的框架的启动文件start.php,那我们就去...
  • 浏览了一遍vector源码,在SGI STL头文件Stl_vector.h文件,头文件一共定义了三个类,第一个是_Vector_alloc_base类,第二个是_Vector_base类,第三个则是外部接口vector类。STL代码vector类无删减版://__STL_...
  • swoole4.0 支持thinkhphp5.1

    2019-02-20 16:22:54
    TP5的运行机制 任何请求都会经过tp5的入口文件,载入框架的配置文件,启动进程,然后处理请求。 在这个index.php的入口文件,可以看到,它先定义的APP_PATH这个常量,然后引入的框架的启动文件start.php,那我们...
  • 本书旨在向读者解答使用Oracle遇到的疑难问题,并展示管理Oracle的大量技巧。 第1篇 创建属于自己的oracle数据库  第1章 认识oracle的世界——oracle的体系结构  1.1 oracle的发家史  1.2 数据库  1.3 ...
  • 3 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地址,一般会有个默认...
  • 版 次:1页 数:932字 数:1196000印刷时间:2008-5-1开 本:16开纸 张:胶版纸印 次:1I S B N:9787121061899 内容简介 本书是一本毫无保留的Oracle学习宝典。通过作者历时3年的写作,本书介绍了Oracle的...
  • 上架时间:2008-5-30 出版日期:2008 年5月 开本:16开 页码:932 版次:1-1 编辑推荐  耗时3年,作者曾为本书辞职在家专心写作.  754个实务,件件源自实际工作的经验与教训,配有实务速查目录  分享经验...
  • 上架时间:2008-5-30 出版日期:2008 年5月 开本:16开 页码:932 版次:1-1 编辑推荐  耗时3年,作者曾为本书辞职在家专心写作.  754个实务,件件源自实际工作的经验与教训,配有实务速查目录  分享经验...
  • 本书旨在向读者解答使用Oracle遇到的疑难问题,并展示管理Oracle的大量技巧。 第1篇 创建属于自己的oracle数据库  第1章 认识oracle的世界——oracle的体系结构  1.1 oracle的发家史  1.2 数据库  1.3 ...
  • 本书旨在向读者解答使用Oracle遇到的疑难问题,并展示管理Oracle的大量技巧。 第1篇 创建属于自己的oracle数据库  第1章 认识oracle的世界——oracle的体系结构  1.1 oracle的发家史  1.2 数据库  1.3 ...
  • 本书旨在向读者解答使用Oracle遇到的疑难问题,并展示管理Oracle的大量技巧。 第1篇 创建属于自己的oracle数据库  第1章 认识oracle的世界——oracle的体系结构  1.1 oracle的发家史  1.2 数据库  1.3 ...
  • 本书旨在向读者解答使用Oracle遇到的疑难问题,并展示管理Oracle的大量技巧。 第1篇 创建属于自己的oracle数据库  第1章 认识oracle的世界——oracle的体系结构  1.1 oracle的发家史  1.2 数据库  1.3 ...
  • 本书旨在向读者解答使用Oracle遇到的疑难问题,并展示管理Oracle的大量技巧。 第1篇 创建属于自己的oracle数据库  第1章 认识oracle的世界——oracle的体系结构  1.1 oracle的发家史  1.2 数据库  1.3 ...
  • 本书旨在向读者解答使用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 应用管理 ...

空空如也

空空如也

1 2
收藏数 29
精华内容 11
关键字:

tp5中定义base