1

我有一个使用 CakePHP 1.3 和 2.3 的环境,两者都使用相同的模型类。

我的可重用模型路径是:/var/www/libs/cakephp/models/*

在我的 config/bootstrap.php 文件中,我设置了:

App::build(array(
    'Model' => array('/var/www/libs/cakephp/models/'),
));

在生产环境中一切正常,但在测试环境中,'models/*'文件夹中的类没有加载。

两台服务器都是 LAMP。

经过大量试验和错误后,我发现如果我将模型/测试环境文件夹中的文件从myclassname.php重命名为Myclassname.php一切正常!

所以问题在于名称文件中的案例。

我知道 CakePHP 2.3 的约定,模型类应该是 CamelCase,但在旧的 CakePHP 1.3 应用程序中需要这些类。这里的问题是关于使用相同版本的框架、PHP 和 linux 时配置之间的差异。

我的问题可能是什么原因?

在开发环境(Windows)中一切正常。

4

1 回答 1

0

正如 AD7six 所建议的那样,我创建了指向我的模型的符号链接,允许 CakePHP 1.3 和 2.3 独立于大小写请求类文件。

cd /var/www/libs/cakephp/models/; ln -s myclassname.php MyClassname.php
于 2013-10-29T16:49:32.460 回答