ThinkPHP __construct和_initialize的使用
ThinkPHP框架中的__construct和_initialize的使用
父类(PlatformController.class.php):
class PlatformController extends Controller{ public function __construct(){
echo 'PlatformController' . "<br>"; //调用父类的构造函数
parent::__construct(); echo 'PlatformController第二次' . "<br>";
} protected function _initialize(){
echo 'PlatformController下的_initialize'."<br>";
}
}
子类():
class AdminController extends PlatformController{ public function __construct(){
parent::__construct();
//子类需要的逻辑代码,如果不需要,则无需加载构造函数
//......
} public function test(){
echo 'AdminController'."<br>";
}
}
访问子类的test方法,输出结果:
PlatformController
PlatformController下的_initialize
PlatformController第二次
AdminController
结论:
(1)父类的__construct构造方法会自动调用_initialize方法。
(2)子类继承父类后,不需要写构造方法就会自动加载父类的构造函数。
(3)如果子类需要自己的构造函数,写parent::__construct(),才会加载父类构造方法,否则就不加载父类的构造方法。
ThinkPHP __construct和_initialize的使用的更多相关文章
- ThinkPHP实现登录限制时__construct和_initialize的区别
ThinkPHP支持两种构造方法: __construct和_initialize(ThinkPHP内置的构造方法). 测试URL为: http://oa.com/index.php/Admin/ ...
- thinkphp中的_initialize方法
子类的_initialize方法自动调用父类的_initialize方法.而php的构造函数construct,如果要调用父类的方法,必须在子类构造函数显示调用parent::__construct( ...
- tp3.2的__construct和_initialize方法
在tp3.2框架里面,有一个php自带的__construct()构造函数和tp3自带的构造函数_initialize()的实行顺序是先实行 php自带的__construct()构造函数 再实行 t ...
- thinkPHP中_initialize方法实例分析
子类的_initialize方法自动调用父类的_initialize方法. 而php的构造函数construct,如果要调用父类的方法,必须在子类构造函数显示调用parent::__construct ...
- ThinkPHP - 5 - 学习笔记(2015.4.15)
ThinkPHP __construct()和__initialize() 1.__initialize()不是php类中的函数,php类的构造函数只有__construct().2.类的初始化:子类 ...
- Call to a member function assign() on null
Thinkphp: 在子控制器里面写了一个构造函数,如下 //构造函数 public function __construct(){ echo 1; } 结果页面报错了 ----> Call ...
- ThinkPHP中的__initialize()和类的构造函数__construct()
ThinkPHP中的__initialize()和类的构造函数__construct()网上有很多关于__initialize()的说法和用法,总感觉不对头,所以自己测试了一下.将结果和大家分享.不对 ...
- 【TP3.2】详解_initialize() 和 __construct() 的区别和联系
1.假设 一个AdminController.class.php 集成至 \Think\Controller 类, 我们来看看Controller.class.php的构造方法源码: /** * 架构 ...
- ThinkPHP之__construct()和__initialize()
ThinkPHP中的__initialize()和类的构造函数__construct()网上有很多关于__initialize()的说法和用法,总感觉不对头,所以自己测试了一下.将结果和大家分享.不对 ...
随机推荐
- How `new’ operator works ?
这是2013年写的一篇旧文,放在gegahost.net上面 http://raison.gegahost.net/?p=15 February 15, 2013 How `new’ operator ...
- SAP云平台架构概述
在我们开始SAP云平台的架构之旅之前,让我们先看看SAP已经发布的一些其他云产品.这些云产品方案可以分为公有云和私有云两种. SAP公有云解决方案见下图最右侧,比较著名的有SAP SuccessFac ...
- ElasticSearch数据库同步插件logstash
1.下载和elasticsearch 相同版本的logstash. 2.进行解压后,进入bin下,新建一个文件mysql.conf,并输入 input { stdin{ }} output { std ...
- C程序(1)
- AspNetCore容器化(Docker)部署(二) —— 多容器通信
一.前言 着上一篇 AspNetCore容器化(Docker)部署(一) —— 入门,在单个容器helloworld的基础上引入nginx反向代理服务器组成多容器应用. 二.配置反向代理转接 配置转接 ...
- android 图片
1,setCompoundDrawables(Drawable left, Drawable top,Drawable right, Drawable bottom) 设置图片出现在textView, ...
- Spring框架针对dao层的jdbcTemplate操作crud之update修改数据库操作
使用jdbcTemplate 原理是把加载驱动Class.forName("com.mysql.jdbc.Driver"); 和连接数据库Connection conn=Drive ...
- JavaScript设计模式基础之面向对象的JavaScript(一)
动态语言类型与鸭子类型 此内容取自JavaScript设计模式与开发实践一书 编程语言按照数据类型大体可以分为2类,一类就是静态类型语言,另一类则是动态类型语言 静态类型语言也可以称之为编译语言,而动 ...
- ICPC-Beijing 2006 狼抓兔子
题目描述 题解: 裸的最小割. 但是最大流跑不过去怎么办? 转变一下,既然最大流是一条左下<->右上的通路,我们可以把图划分为若干区域, 最后找左下到右上的最短路就行了. 代码: #inc ...
- 使用SimpleDateFormat 将毫秒转换成时分秒 格式:HH:mm:ss
public static String dateFormatFromMilliSecond(long seconds) { //初始化format格式 SimpleDateFor ...