控制器里的方法能覆盖吗?
好像试了不行,上来确认一下. 可以重载,不能覆盖 Model里的方法可以重载吗?我在视图上调用测试的时候,方法的参数个数都是不同的了,但出错. 应该是程序问题吧。这个和CI没有关系。 你们有试过吗?我的只要重载就出现这样的错误了.
Model里两个方法是
function getArticle($offset,$num)
function getArticle($id)
Fatal error: Cannot redeclare Model_article::getArticle() in
只要我把两个方法名改成不一样,就正常. 可以重载,不能覆盖
sam 发表于 2009-5-6 10:53 http://codeigniter.org.cn/forums/images/common/back.gif
http://codeigniter.org.cn/forums/thread-1297-1-1.html
突然搜到以前的一帖关于函数重载,Sam版主也有回复来,但观点似乎是不能重载.
我也是JAVA出身的,所以不大清楚.但好像看PHP书里写到方法是可以重载的.
不知道是什么问题? 我再回答一次:PHP 不支持 C++ 那样的同名函数,参数不同的重载!!!!!!!!
PHP 重载需要一个其它的方式,这个在 PHP 手册里有说明,附上 PHP 手册相关章节:http://www.php.net/manual/en/language.oop5.overloading.php
希望初学 PHP 的朋友多多看 PHP 手册,不要想当然以为 PHP 和其它语言有同样的使用方式。 6# 乌有
ci中函数不能重载,正如hex所说 这是PHP的基础知识。一般动态语言都不会支持重载。这是语言的特性。因为重载需要严的类型来指定。因为动态语言的变量是通过语言的上下文来判别的。 你们有试过吗?我的只要重载就出现这样的错误了.
Model里两个方法是
function getArticle($offset,$num)
function getArticle($id)
Fatal error: Cannot redeclare Model_article::getArticle() in
只要我把两个方 ...
乌有 发表于 2009-5-6 11:44 http://codeigniter.org.cn/forums/images/common/back.gif
我囧了,你试过其他php框架可以重载吗?
页:
[1]