关闭

tp框架在构造函数中调用成员方法笔记

2175人阅读 评论(0) 收藏 举报

在构造函数中调用成员方法尝试了很多次但是不成功,页面报错,虽然最后解决了,但是仍然很不明白,对构造函数的含义很模糊,如有大神还请指教,

首先声明一下:rootController是父类,其他所有的控制器都继承rootController包括userController,

先看一下错误代码:

class rootController extends Controller {

//构造方法

public function __construct(){
        parent::__construct();
        $this->user();

}

//成员方法

public function user(){

$userObj = new userController();

$userres = $userObj->getUser();

}

}

试了半天发现不能调用,前台页面报错,但不知道原因,然后猜想父类初始化工作还未完成之前,是不是不能去new 其子类userController所以去掉$userObj = new userController();这行代码,把userController的方法getUser()复制粘贴到本控制器下,然后就能调用了

class rootController extends Controller {

//构造方法

public function __construct(){
        parent::__construct();
        $this->user();

}

//成员方法

public function user(){

$userres = $this->getUser();

}
}



0
0
查看评论

TP构造函数

//ThinkPHP的构造函数 public function _initialize() { header("Content-type:text/html;charset=utf-8"); }
  • leejianjun
  • leejianjun
  • 2016-05-28 10:43
  • 393

thinkphp5 model层的构造函数问题

今天遇到一个很不容易搞得问题,就是用tp5开发的时候,不管我怎么用model获取数据,都说我没有这个属性,最后查底层代码,发现我创建model文件的时候,写了一个构造函数,继承了\thinkphp\Model, 也运行了父类的构造函数,但是有个小地方没有注意,就是构造函数的传参,父类的Model是这...
  • fanshu1991
  • fanshu1991
  • 2016-08-29 17:43
  • 3184

在thinkphp5的构造方法中无法返回json问题

最近在做一个前后端分离的项目,在接口的token验证时想把他放到构造方法中,可是ajax始终无法通过构造方法的验证判断,构造方法始终会忽略掉return一句。 最后查找后发现的写法应该是这样: 在你的controller中_construct或_initialize的写法如下: class...
  • u013458115
  • u013458115
  • 2017-12-08 14:12
  • 94

TP5中Db类与Model类关系

在以 ThinkPHP 作为后台框架时,经常使用 Db 类操作和 Model 类继承,感觉两者密切相关,毕竟都是操作数据库,难道还能写两套代码? 那它们之间是什么关系呢? 花了些时间阅读了源码,整理了一张结构图,以备遗忘。 上图中,Query 查询对象地位特别重要,条条细线通Qu...
  • e62ces0iem
  • e62ces0iem
  • 2017-06-08 21:35
  • 2066

thinkphp(tp)框架封装一个自己写的方法到类里面.可以在其他控制器里面调用

菜鸟php程序员一开始不知道怎么封装类,后面自己研究出来,写博客以便记录.有误勿喷. thinkphp(tp)框架封装一个自己写的方法到类里面.可以在其他控制器里面调用
  • hexiaoniao
  • hexiaoniao
  • 2016-10-24 16:18
  • 3986

TP5-类中方法的继承

一个类中可能有多个方法,在这些方法中,有时会使用到相同的字段。这些字段只要在__construct函数中定义即可。定义规则如下: public $name; //声明公共变量name,pwd public $pwd; function __construct() { ...
  • Wake_me_Up123
  • Wake_me_Up123
  • 2017-11-21 10:02
  • 274

构造函数中调用虚成员函数问题

<br />注: 这里是参考参考stroustrup的回答吧(http://www.research.att.com/~bs/bs_faq2.html#vcall), 个人觉得对ATL中关于ATL_NO_VATBLE的理解非常有用,同时也可以对C++的规范有一次深入的理解。<br ...
  • preciousboy
  • preciousboy
  • 2010-10-28 21:54
  • 2040

Java this()必须放在构造方法的第一句,在成员方法中不能用this()调用构造方法的原因

看Head First Java 256页 ,书中提到“this()只能用在构造函数中,且它必须是第一行语句!”,不明白原因,查资料发现知乎已经有相关问题,搬运过来做个记录。 https://www.zhihu.com/question/47012546/ 1: 在构造函数中,如果...
  • lsly521
  • lsly521
  • 2016-08-18 18:42
  • 4497

使用java反射操作类的构造函数,成员变量和成员方法

 在java.lang.reflect包中有三个类Field,Method,Constructor.分别描述域,方法,构造器。参考API,关于这三个类的说明。 在运行时使用反射分析对象,如果访问的是私有域或是私有方法,私有构造函数,会抛出IllegalAccessExceptio...
  • jionghan3855
  • jionghan3855
  • 2008-02-25 11:09
  • 8667

Java精选笔记_面向对象(构造方法、this关键字、static关键字、内部类)

构造方法constructor构造器 构造方法的定义 [修饰符]  类名 (形式参数列表){         //语句 } 构造器用于构造该类的实例。作用:用来初始化对象!一般由系统在创建对象(即类的实例化)时自动调用 分析事物时,该事物...
  • xiaoye142034
  • xiaoye142034
  • 2017-06-28 01:21
  • 191
    个人资料
    • 访问:124869次
    • 积分:1891
    • 等级:
    • 排名:千里之外
    • 原创:22篇
    • 转载:280篇
    • 译文:0篇
    • 评论:2条