이와 같은 간단한 경우에 가장 빠른 해결책은 src
아래에 직접 폴더 (예 : Common
)를 만들고 클래스를 넣는 것입니다.
src
-- Common
-- Tools.php
Tools.php
는 다음과 같은
src
아래 코드를 삽입하면
use
문을
use Common\Tools;
// ...
Tools::slugify('my test string');
을 잊지 마세요 함수를 호출하기 전에 예를
<?php
namespace Common;
class Tools
{
public static function slugify($string)
{
// ...
}
}
에 대한 적절한 네임 스페이스와 클래스를 포함 위와 같이 적절한 폴더 구조와 네임 스페이스를 사용하면 app/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 교체 :
굉장 해요, 제 수업은 Lib \ Tools에 넣었고 Symfony는 잘 자동로드했습니다. 건배! –
그것은 나를 위해 작동하지 않습니다. 나는 여기에 이유를 물었다. http://stackoverflow.com/questions/19652384/symfony2-custom-class-not-found. 왜 작동하지 않는지 알고 싶다면 –