收藏本站 Archiver
    请 后使用快捷导航
    没有账号?入住 CI 中国社区
    查看: 5326|回复: 7

    controller目录与model目录里不能有相同的文件名?

    [复制链接]
    楼主
    发表于 2008年1月20日 10:23:15 | 只看该作者 回帖奖励 |倒序浏览 |
    我在controller目录建了一个upload.php的控制器,在model目录里也建了一个upload.php模型,用controller里的upload.php调用model里的upload模型时报错,把model里的upload.php改成uploads.php,里边的类也相应更改,运行就正常了。
    看来在controller里调用model里的类时命名不能一样,新手,没办法,弄了老半天才发现这个原因,如果你也是新手,不要再犯我同样的错误。
    沙发
    发表于 2008年1月20日 13:21:47 | 只看该作者
    对呀,PHP里变量名不能重复呀!你可以LOAD的时候重命名控制器或者模型。
    具体可以参考文档里的。
    藤椅
    发表于 2008年1月20日 13:27:47 | 只看该作者
    调用模型时是用 Model_name(比如upload的话就是Upload_model),这是用户手册里写着的。http://codeigniter.com/user_guide/general/models.html
    板凳
    发表于 2008年1月20日 13:34:01 | 只看该作者
    CTO说的对,要遵守命名规则~~~~
    报纸
    发表于 2008年1月21日 13:09:02 | 只看该作者
    每一个controller都是一个CI的实例,在实例里面的每一个成员名称不允许和CI的标准成员重复
    你load一个叫foobar的lib和load一个叫foobar的model

    在当前实例里面都被定义为 $this->foobar

    引起CI实例的冲突
    地板
    发表于 2008年4月1日 21:07:56 | 只看该作者
    这个问题的本质原因是你创建了两个类名相同的类,在PHP里当然是不行的。最好的办法就是使用XXX_model或XXXModel的方式来命名Model
    7
    发表于 2008年4月2日 07:31:56 | 只看该作者
    对。。不能相同。:)。。在php中遵守java中的命名方法,永远也不会重复。。
    8
    发表于 2008年4月3日 18:06:22 | 只看该作者
    好贴!各位大佬都来给解释。。。

    新人我很受鼓励呀!
    返回列表
    您需要登录后才可以回帖 登录 | 入住 CI 中国社区

    本版积分规则

    AltStyle によって変換されたページ (->オリジナル) /