您现在的位置是:首页 > 网站建设常见问答网站建设常见问答
thinkphp的类中初始化函数
2017-03-22【网站建设常见问答】1626 人已围观
简介殷雯工作室转向thinkphp开发web程序后,遇到了一些较复杂的问题, tp有很多自定义的函数方法, 例如我们一般初如化类是__construct , 但tp...
殷雯工作室转向thinkphp开发web程序后,遇到了一些较复杂的问题, tp有很多自定义的函数方法, 例如我们一般初如化类是__construct , 但tp的程序里我常看到_initialize方法, 每次都是写在前面,功能表现的和类构造函数也是相近,今天看到以下文章让我们更明确的知道了tp类中的方法初始化有哪些区别.
(1)_initialize()函数是在任何方法执行之前,都要执行的,当然也包括_ _construct构造函数,注意,_ _construct这里是双划线,而_initialize()函数是单划线。
(2)如果父子类均有_initialize()函数,则子类覆盖了父类的,如果子类没有而父类有,则子类继承父类的。在调用子类对象的_initialize()时,不会导致自动调用父类的_initialize()。(3)默认情况下,子类的构造函数也不会自动调用父类的构造函数,这一点与Java不同。实际编写子类的构造函数时,一般都要加上父类构造函数的主动调用 parent::_ _construct(),否则会导致子类对象空指针的异常,如Call to a member function assign() on a non-object。
(4)_initialize()函数是在“任何”方法调用之前都要调用的,也就是说如果存在_initialize()函数,调用对象的任何方法都会导 致_initialize()函数的自动调用,而_ _construct构造函数仅仅在创建对象的时候调用一次,跟其它方法调用没有关系。
上面这四点概括的很详细,我们来例举一个场景. 比如在后台一个功能模块about单页, 在很多的链接页需要显示about的分类下拉菜单,这时就可以在aboutaction里把调用about类的php代码放在这里. 这样就不用次次把about类的方法写调用.
关注宁波网站建设博客,更多精彩分享,敬请期待!
Tags:
很赞哦! ()
相关文章
随机图文
-
网站优化关键词排名忽高忽低是什么原因分析
相信很多做了建站和优化的用户都有遇到过网站关键词排名不稳定情况,有时候关键词排到百度首页上面去了,过两天查看词又掉下来了,这是什么原因呢?... -
为什么说中小型企业越应注重企业网站的建设
在如今这个网络时代,作为最基础的网络应用,企业网站对树立企业形象和品牌、推广产品起着十分重要的作用。从某种意义上讲,一个企业有没有自己... -
PSD切片的CSS和布局经验与要点
做网站特别是前台呈现的美工在刚学完CSS基础要去实际操作进行网页切图的时候,总感觉无从下手。在这里我为大家简单总结一下,一些网页切图的经验... -
mysql常见错误代码及解决办法
制作php+mysql的动态网站,数据库是经常需要打交道的事情。mysql一些常见的错误代码如下 130 :文件格式不正确。(还不是很清楚...