我正在尝试在自己正在建立的网站“ Jamie's Corner”上创建一个新部分。因此,我复制了“关于此站点...”部分中已有的控制器,将文件重命名为JamiesCorner.php,并将控制器重命名为“ JamiesCorner”。当我加载页面(my_site.local / index.php / jamiescorner)时,我希望看到的内容与“关于此站点...”部分相同。相反,我得到了Codeigniter 404页面。我尝试了很多事情,但发现将控制器(和文件)重命名为Jamies是可行的。为什么是这样?名称“ JamiesCorner”显然没有错。那么为什么Codeigniter拒绝呢?
答案 0 :(得分:2)
CodeIgniter naming convention要求类文件和类定义中的第一个字符应为大写。实际上,就第一个字符而言,这就是rule。至于名称的其余部分,这不是规则,但会对URL产生影响。
使用命名规则,文件应为 Jamies_corner.php 并按如下方式定义类
Firestore
URL将会是class Jamies_corner extends CI_Controller {
CodeIgniter在加载控制器时始终将第一个字符强制为大写。但是它将其余的控制器名称保持原样。在区分大小写的操作系统(所有版本的Linux)中,文件名必须完全匹配,否则将找不到文件。
换句话说,使用文件my_site.local/index.php/jamies_corner
和JamiesCorner.php
时,URL至少需要为class JamiesCorner
您也可以使用my_site.local/index.php/jamiesCorner
,但是如果在“角落”中没有大写字母“ C”,则每次都会失败。