唤触芦交台捂残链徽睦熔希浚
恢复项目到多模块状态
公共操作即构造方法
<?php namespace app\index\controller; class Index { private $lession; public function demo1() { return $this->lession; } public function demo2() { return $this->lession; } }
执行demo1,demo2方法,无显示是正确的
使用构造函数初始化$lession
<?php namespace app\index\controller; class Index { private $lession; public function __construct($lession="ThinkPHP5") { $this->lession=$lession; } public function demo1() { return (new self('萌面人资料铺'))->lession; } public function demo2() { return $this->lession; } }
执行:
使用系统的controller控制器中的初始化方法简化操作
D:\phpStudy\PHPTutorial\WWW\tp5\thinkphp\library\think\Controller.php:
_initialize()默认方法体为空,在控制器基类的构造方法中调用
现在只需要继承系统的controller类,并重写_initialize()即可
D:\phpStudy\PHPTutorial\WWW\tp5\application\index\controller\Index.php:
<?php namespace app\index\controller; class Index extends \think\Controller { private $lession; public function _initialize($lession="ThinkPHP5") { $this->lession=$lession; } public function demo1() { $this->_initialize('www.xuexianswer.com'); return $this->lession; } public function demo2() { return $this->lession; } }
这里的_initialize()相当于__construct(),使用时它只是一个普通方法,直接调用即可
执行:
创建公共控制器Base.php
<?php namespace app\index\controller; class Base extends \think\Controller { protected $siteName="萌面人资料铺"; public function test() { return "欢迎来到".$this->siteName; } }
Index.php:
<?php namespace app\index\controller; class Index extends \app\index\controller\Base { public function demo() { return $this->siteName; } }
执行:
创建demo1()访问公共控制器中的test()方法
<?php namespace app\index\controller; class Index extends \app\index\controller\Base { public function demo() { //访问公共控制器中的$siteName return $this->siteName; } public function demo1() { //访问公共控制器中的test() return $this->test(); } }
执行:
总结:继承了Base类,因为Base类继承了系统的控制器Controller类,所以Index类不用再继承Controller类
炮恳烫慨秦镜毯彼腾嗓钡内斑