当前位置: 首页 > 面试题库 >

Linux上的Codeigniter类和文件名区分大小写(centos)

杜河
2023-03-14
问题内容

我遇到一个区分大小写的问题,无法解决问题。

这就是我的文件结构。我只输入要使用的目录,但实际上我使用的是完整安装的CI3。

/application
    ....
    /controllers/
        application_controller.php
    /core/
        MY_Controller.php
        Public_controller.php
    ....
    /models/
        Application_model.php
    ....

这是类定义语法的样子:

/application/core/My_Controller.php

class MY_Controller extends CI_Controller
{
    function __construct()
    {
        parent::__construct();
    }
}

/application/core/Public_Controller.php

class Public_Controller extends MY_Controller
{
    function __construct()
    {
        parent::__construct();
    }

    // Application logic here...
}

/application/controllers/application_controller.php

class Application_controller extends Public_Controller
{

    public function __construct()
    {
        parent::__construct();
    }

    // Application logic here...
}

阅读文档,我发现我应该为类命名:

Foo_Controller.php

然后,我总是(认为)类定义应该与文件名匹配。所以:

class Foo_Controller extends Bar_Controller {
    ....
}

然后出现500错误,或者没有错误,然后出现白页。当我在本地(mac)工作时,一切正常。截至目前(使用上述语法),我至少正在获取默认的codeigniter
404页面。使用时

error_log(__FILE__);

在每个班级的顶部,我要做的就是 My_Controller.php

感谢您的任何建议!


问题答案:

Codeigniter 更改日志说

更改了文件命名约定(类文件名现在必须是 Ucfirst其他所有 文件都必须 小写 )。

所以你的控制器和文件名应该是

  • My_controller(仅M大写字母其余小写字母)
  • 公共控制器
  • Application_controller
  • Foo_controller

我自己不喜欢这种情况下新的命名约定CI-2更好。

注意:

控制器名称Public_Controller(C大写字母)和文件名Public_controller.php可能有效,但我希望两个名称保持相同,因此控制器名称应为Public_controller



 类似资料:
  • 问题内容: 如果一个人在不同目录中编写了两个具有相同的不区分大小写名称的公共Java类,则这两个类在运行时将不可用。(我在Windows,Mac和Linux上使用多个版本的HotSpot JVM进行了测试。如果还有其他同时可用的JVM,我也不会感到惊讶。)例如,如果我创建了一个名为类的类,则这样命名: 在我的网站上可以找到三个包含上面代码的Eclipse项目。 如果尝试,我像这样调用两个类: 类型

  • 问题内容: 我正在尝试提出一个要求区分大小写的结果的请求。 例如在我的数据库中 该请求是 但我有3行作为结果,我只想要abcdef 我试图找到一个解决方案 但是我有这个错误: 未知归类:’Latin1_General_CS_AS’{“成功”:false,“错误”:“#1273-未知归类:’Latin1_General_CS_AS’”} 谢谢 问题答案: 感谢您的帮助,我找到了不是latin1 ut

  • 问题内容: 我需要检查文件是否存在。可以通过方法来完成。但是这种存在检查是区分大小写的。我的意思是,如果我在代码中有一个文件名some_image_file.jpg,但实际上如果文件是some_image_file.JPG,则此方法表示该文件不存在。如何以不区分大小写的扩展名检查文件的存在并获取实际的文件名? 在我的情况下,我有一个Excel文件。每行包含文件和文件名的元数据。在某些情况下,我只有

  • 问题内容: 我有一个Lucene索引,该索引当前区分大小写。我想添加的 选项 有不区分大小写作为后备的。这意味着与案例匹配的结果将获得更大的权重,并且将首先出现。例如,如果结果数限制为10,并且有10个匹配项符合我的情况,那就足够了。如果仅找到7个结果,则可以从不区分大小写的搜索中再添加3个结果。 我的案子实际上更复杂,因为我有不同重量的物品。理想情况下,匹配“错误”的表壳会增加一些重量。不用说,

  • 对于报告(0.1%的所有查询),我需要返回一个所有可能类别的列表,区分大小写! 考虑以下文件: 运行以下查询: 返回: 是否有方法返回区分大小写的类别(存储在文档中)?我对此查询结果中的感兴趣。 Elasticsearch论坛中的问题 谢谢,伊泰