gpt4 book ai didi

symfony-2.1 - 在 Symfony 2.1 中自动加载一个类

转载 作者:行者123 更新时间:2023-12-04 09:41:28 27 4
gpt4 key购买 nike

我正在将 Symfony 1.2 项目移植到 Symfony 2.x。我目前正在运行最新的 2.1.0-dev 版本。

在我的旧项目中,我有一个名为 Tools 的类,它具有一些简单的函数,用于将数组转换为字符串和从字符串生成 slug。我想在我的新项目中使用这个类,但我不清楚如何在包之外使用这个类。

我在这里查看了各种建议更改 app/autoload.php 的答案,但我的 autoload.php 看起来与答案中的不同,也许这里在 2.0 和 2.1 之间发生了一些变化。

我想将我的类(class)保留在我的 src 或 app 目录中,因为它们受源代码控制。我的供应商目录不是我使用 composer 来处理的。

任何建议将不胜感激。

最佳答案

另一种方法是使用/app/config/autoload.php:

<?php

use Doctrine\Common\Annotations\AnnotationRegistry;

$loader = require __DIR__.'/../vendor/autoload.php';
$loader->add( 'YOURNAMESPACE', __DIR__.'/../vendor/YOURVENDOR/src' );


// intl
if (!function_exists('intl_get_error_code')) {
require_once _DIR__.'/../vendor/symfony/symfony/src/Symfony/Component/Locale/Resources/stubs/functions.php';

$loader->add('', __DIR__.'/../vendor/symfony/symfony/src/Symfony/Component/Locale/Resources/stubs');
}

AnnotationRegistry::registerLoader(array($loader, 'loadClass'));

return $loader;

只需用您的值替换 YOURNAMESPACE 和 YOURVENDOR 即可。到目前为止,对我来说效果很好。

你是对的,我偶然发现了自动加载从 2.0 到 2.1 的变化。上面的代码适用于最新版本,我将项目升级到该版本;-)

关于symfony-2.1 - 在 Symfony 2.1 中自动加载一个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12045554/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com