更新时间:2023-09-09 12:52:58
您可以在 Symfony 1.4 框架中使用来自 Symfony2 的 Autoloader.
You can use Autoloader from Symfony2 in Symfony 1.4 framework.
1.将 Symfony2 类加载器复制到 Symfony 1.4 沙箱项目的 vendor 目录:
SF_ROOT_DIR/lib/vendor/Symfony2/src/Symfony/Component/ClassLoader/UniversalClassLoader.php
SF_ROOT_DIR/lib/vendor/Symfony2/src/Symfony/Component/ClassLoader/UniversalClassLoader.php
SF_ROOT_DIR/lib/vendor/Symfony2/src/Symfony/Component/ClassLoader/ApcUniversalClassLoader.php
SF_ROOT_DIR/lib/vendor/Symfony2/src/Symfony/Component/ClassLoader/ApcUniversalClassLoader.php
2.修改你的 SF_ROOT_DIR/config/ProjectConfiguration.class.php 文件如下:
require_once dirname(__FILE__) . '/../lib/vendor/symfony/lib/autoload/sfCoreAutoload.class.php';
require_once dirname(__FILE__) . '/../lib/autoload/sfClassLoader.class.php';
sfCoreAutoload::register();
class ProjectConfiguration extends sfProjectConfiguration {
public function setup() {
$this->namespacesClassLoader();
$this->enablePlugins('sfDoctrinePlugin');
}
public function namespacesClassLoader() {
if (extension_loaded('apc')) {
$loader = new ApcUniversalClassLoader('S2A');
} else {
$loader = new UniversalClassLoader();
}
$loader->registerNamespaces(array(
'Pohon' => __DIR__ . '/../lib/vendor/Pohon/src'));
$loader->register();
}
}
3. 注册所需的命名空间:
例如.我想加载类:
3. Register desired namespaces:
eg. I want to load class:
PohonToolsStringUtilsSlugify.
PohonToolsStringUtilsSlugify.
文件名必须是:
SF_ROOT_DIR/lib/vendor/Pohon/src/Pohon/Tools/String/Utils/Slugify.php
SF_ROOT_DIR/lib/vendor/Pohon/src/Pohon/Tools/String/Utils/Slugify.php
和注册的命名空间如下:
and registered namespace as follows:
Pohon => SF_ROOT_DIR/lib/vendor/Pohon/src
Pohon => SF_ROOT_DIR/lib/vendor/Pohon/src