老莫的笔记本  
  
查看: 931|回复: 1

TP5 公共控制器【登录就是这么玩的】

[复制链接]

662

主题

878

帖子

5145

积分

超级版主

Rank: 8Rank: 8

积分
5145
发表于 2018-8-6 01:00:55 | 显示全部楼层 |阅读模式
本帖最后由 周大胖子 于 2018-8-6 01:01 编辑

其实吧理论上是这样的:
写一个公共的类,继承controller 类  然后,公共方法都写在这里,接着别的类继承这个中间类
  1. <?php
  2. namespace app\articles\controller;
  3. //继承基类Controller
  4. class Addd extends \think\Controller              //第一步继承基类 也可以用use 导入
  5. {
  6.     private $username = '
  7.     //第二步替换成Controller 的 初始化方法_initialize
  8.     public function _initialize($less='thinkPHP5'){
  9.         $this->username =$less;
  10.     }
  11.     public function demo1()
  12.     {
  13.         // return (new self('PHPz中文网'))->username;
  14.         // 第三步 改写
  15.         $this ->_initialize('这个就是普通的初始化方法赋值');
  16.         return $this ->username;
  17.     }
  18.     public function demo2()
  19.     {
  20.         return $this->username;
  21.     }
  22. //想法是这样的: 创意一个控制器 继承基类controller,  把所有的公共操作都写在这个类里例如登录 然后别的控制器 都继承这个公共的类 而不是继承基类
  23. }
复制代码
别的类继承这个类。 不过得注意路径

回复

使用道具 举报

662

主题

878

帖子

5145

积分

超级版主

Rank: 8Rank: 8

积分
5145
 楼主| 发表于 2018-8-6 01:01:35 | 显示全部楼层
补贴一个 构造函数的例子【这不用管 我补贴着玩的】
  1. <?php
  2. namespace app\articles\controller;
  3. class Attl
  4. {
  5.     private $username = '
  6.     //构造函数
  7.     public function __construct($less='thinkPHP5'){
  8.         $this->username =$less;
  9.     }
  10.     public function demo1()
  11.     {
  12.         return (new self('PHPz中文网'))->username;
  13.     }
  14.     public function demo2()
  15.     {
  16.         return $this->username;
  17.     }
  18. }
复制代码

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表