1
AppKernel.php에서와 마찬가지로 autoload.php에서 dev 및 prod의 차이점이없는 이유는 무엇입니까?생산에 필요한 장치에서 dev에 대한 번들을 분리합니다.
물론 환경을 확인할 수는 있지만 그 이유가 있는지 궁금합니다.
B/C 많은 번들이 개발에 유용합니다. 예를 들어 관리 인터페이스에 번들이 많이 필요합니다 (추측 컨데 ...). 하지만 제작 과정에서 이들을로드하고 싶지는 않습니다.
autoload.php :
use Symfony\Component\ClassLoader\UniversalClassLoader;
use Doctrine\Common\Annotations\AnnotationRegistry;
$loader = new UniversalClassLoader();
$loader->registerNamespaces(array(
'Symfony' => array(__DIR__.'/../vendor/symfony/src', __DIR__.'/../vendor/bundles'),
'Sensio' => __DIR__.'/../vendor/bundles',
'JMS' => __DIR__.'/../vendor/bundles',
'Doctrine\\Common' => __DIR__.'/../vendor/doctrine-common/lib',
'Doctrine\\DBAL' => __DIR__.'/../vendor/doctrine-dbal/lib',
'Doctrine' => __DIR__.'/../vendor/doctrine/lib',
'Monolog' => __DIR__.'/../vendor/monolog/src',
'Assetic' => __DIR__.'/../vendor/assetic/src',
'Metadata' => __DIR__.'/../vendor/metadata/src',
));
$loader->registerPrefixes(array(
'Twig_Extensions_' => __DIR__.'/../vendor/twig-extensions/lib',
'Twig_' => __DIR__.'/../vendor/twig/lib',
));
AppKernel.php :
public function registerBundles()
{
$bundles = array(
new Symfony\Bundle\FrameworkBundle\FrameworkBundle(),
new Symfony\Bundle\SecurityBundle\SecurityBundle(),
new Symfony\Bundle\TwigBundle\TwigBundle(),
new Symfony\Bundle\MonologBundle\MonologBundle(),
new Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle(),
new Symfony\Bundle\DoctrineBundle\DoctrineBundle(),
new Symfony\Bundle\AsseticBundle\AsseticBundle(),
new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(),
new JMS\SecurityExtraBundle\JMSSecurityExtraBundle(),
);
if (in_array($this->getEnvironment(), array('dev', 'test'))) {
$bundles[] = new Acme\DemoBundle\AcmeDemoBundle();
$bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle();
$bundles[] = new Sensio\Bundle\DistributionBundle\SensioDistributionBundle();
$bundles[] = new Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle();
}
return $bundles;
}
좋은 지적입니다! 예를 들어 오토로더와 같은 특정 구성 요소를 사용하는 방법에 대해 궁금합니다. 당신이 제안하는 것이 그 문제를 해결할 좋은 방법입니다. 문서는 현재 상태의 배포판을 표준으로 사용하는 경우에만 사용됩니다. 코드와 그 문서를 검사해야합니까? – Raffael
구성 요소의 설명서가 부족한 경우에도 프레임 워크의 설명서가 상당히 광범위합니다. 그런 다음 Symfony2 Google 그룹과 코드를 지식의 원천으로 사용합니다. – futurecat