您现在的位置是:首页 > 网站建设常见问答网站建设常见问答
thinkphp的类中初始化函数
2017-03-22【网站建设常见问答】2587 人已围观
简介殷雯工作室转向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:
很赞哦! ()
相关文章
随机图文
我公司四周年暨新办公大楼落成庆典圆满落幕
殷雯源码 yinwen.taobao.com www.0574nb.cn 宁波网站制作
【网站内容建设】避免自己的页面成为搜索引擎的补充材料
我们在网站制作与推广的时候发现,有些网站内容虽然被收录,但仅仅是被作为一个补充材料被收录。补充材料就是搜索引擎辅助索引的一部分,这些内容...
建站过程中网站服务器稳定与否与百度之间的关系
我们的公司企业在做好网站后,都需要放置到服务器上以供网络上的用户随时可以访问,这时就会有服务器稳定性的问题。如果企业网站放在了不稳定的机房...
mysql常见错误代码及解决办法
制作php+mysql的动态网站,数据库是经常需要打交道的事情。mysql一些常见的错误代码如下 130 :文件格式不正确。(还不是很清楚...




微信收款码
支付宝收款码