在Symfony的项目配置类中使用require_once


using require_once in Symfony's project configuration class

在我的ProjectConfiguration.class.php文件中,我试图确保sfCoreAutoload.class.php的文件路径是动态的,并且不需要我每次在线登录时都手动更改它,正如你们大多数人所知,这需要您输入以下行:

require_once dirname(__FILE__).'/../lib/vendor/symfony/lib/autoload/sfCoreAutoload.class.php';

(参考 http://symfony.com/blog/jobeet-day-23-the-deployment)

我的Symfony文件存储在:

Users/username/lib/vendor/symfony-1.4.14/lib/autoload/sfCoreAutoload.class.php`

这基本上可以转化为:

require_once dirname(__FILE__).'/../lib/vendor/symfony-1.4.14/lib/autoload/sfCoreAutoload.class.php'; 

但这不起作用,我的本地主机说找不到服务器。

以上对我来说无论如何都没有意义,因为项目配置文件存储在:

symfony/lib/config/sfProjectConfiguration.class.php

和自动加载文件:

symfony/lib/autoload/sfCoreAutoload.class.php

所以从技术上讲,这应该转化为:

require_once dirname(__FILE__).'/../autoload/sfCoreAutoload.class.php'

这也行不通,让我提到生产和开发环境的完整路径,因此每次推送它时都需要手动进行更改(显然使过程不那么无缝和愚蠢)。

有人知道这里发生了什么吗?

谢谢!

例如

,如果您想共享Symfony文件夹,则保持Symfony文件夹独立于项目是一个很好的解决方案。

我建议您保留默认路径

require_once dirname(__FILE__).'/../lib/vendor/symfony/lib/autoload/sfCoreAutoload.class.php';

然后,只需创建一个符号链接,到您的symfony文件夹。

cd /path/to/your/project/lib/vendor
ln -s Users/username/lib/vendor/symfony-1.4.14/ symfony