我有app/AppKernel
:
<?php
use Symfony\Component\HttpKernel\Kernel;
use Symfony\Component\Config\Loader\LoaderInterface;
class AppKernel extends Kernel
{
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\AsseticBundle\AsseticBundle(),
new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(),
new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(),
new JMS\AopBundle\JMSAopBundle(),
new JMS\DiExtraBundle\JMSDiExtraBundle($this),
new JMS\SecurityExtraBundle\JMSSecurityExtraBundle(),
new JMS\I18nRoutingBundle\JMSI18nRoutingBundle(),
new FOS\UserBundle\FOSUserBundle(),
new Sports\FrontendBundle\SportsFrontendBundle(), // line 25
new Sports\UserBundle\SportsUserBundle(),
new Sonata\DefaultBundle\SonataDefaultBundle(),
new Sonata\DoctrineORMAdminBundle\SonataDoctrineORMAdminBundle(),
new Sonata\AdminBundle\SonataAdminBundle(),
new Sonata\BlockBundle\SonataBlockBundle(),
new Sonata\CacheBundle\SonataCacheBundle(),
new Knp\Bundle\MenuBundle\KnpMenuBundle(),
new Stof\DoctrineExtensionsBundle\StofDoctrineExtensionsBundle()
);
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;
}
public function registerContainerConfiguration(LoaderInterface $loader)
{
$loader->load(__DIR__.'/config/config_'.$this->getEnvironment().'.yml');
}
此课程src/Sports/FrontendBundle/SportsFrontendBundle.php
:
namespace Sports\FrontendBundle;
use Symfony\Component\HttpKernel\Bundle\Bundle;
class SportsFrontendBundle extends Bundle
{
}
我得到了这个错误:
致命错误:类'Sports \ FrontendBundle \ SportsFrontendBundle'没有 在/home/tirengarfio/programacion/sports/app/AppKernel.php中找到 第25行
这是我的app/autoload.php
:
<?php
use Doctrine\Common\Annotations\AnnotationRegistry;
if (!$loader = @include __DIR__.'/../vendor/autoload.php') {
$message = <<< EOF
<p>You must set up the project dependencies by running the following commands:</p>
<pre>
curl -s http://getcomposer.org/installer | php
php composer.phar install
</pre>
EOF;
if (PHP_SAPI === 'cli') {
$message = strip_tags($message);
}
die($message);
}
// 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');
$loader->add('Sports', __DIR__ . '/../src');
}
AnnotationRegistry::registerLoader(array($loader, 'loadClass'));
return $loader;
和我的composer.json
:
{
"name": "symfony/framework-standard-edition",
"description": "The \"Symfony Standard Edition\" distribution",
"autoload": {
"psr-0": { "": "src/" }
},
"require": {
"php": ">=5.3.3",
"symfony/symfony": "2.1.1",
"doctrine/orm": "2.2.*",
"doctrine/doctrine-bundle": "dev-master",
"twig/extensions": "dev-master",
"symfony/assetic-bundle": "dev-master",
"symfony/swiftmailer-bundle": "dev-master",
"symfony/monolog-bundle": "dev-master",
"sensio/framework-extra-bundle": "*",
"sensio/distribution-bundle": "*",
"sensio/generator-bundle": "*",
"friendsofsymfony/user-bundle": "*",
"jms/security-extra-bundle": "1.1.*",
"jms/di-extra-bundle": "1.0.*",
"jms/i18n-routing-bundle" : "1.0.*",
"sonata-project/exporter" : "dev-master",
"sonata-project/jquery-bundle" : "dev-master",
"sonata-project/block-bundle" : "dev-master",
"sonata-project/cache-bundle" : "dev-master",
"sonata-project/admin-bundle" : "dev-master",
"sonata-project/user-bundle" : "dev-master",
"sonata-project/doctrine-orm-admin-bundle" : "dev-master",
"stof/doctrine-extensions-bundle": "dev-master"
},
"scripts": {
"post-install-cmd": [
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile"
],
"post-update-cmd": [
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
"Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile"
]
},
"config": {
"bin-dir": "bin"
},
"minimum-stability": "dev",
"extra": {
"symfony-app-dir": "app",
"symfony-web-dir": "web"
}
}
有什么想法吗?
sf 2.1.1
哈维
答案 0 :(得分:7)
对于将来的引用,如果您在不运行编写器的情况下签出代码并直接复制供应商文件夹,则会发生类似的问题。
要规定自动加载问题,您只需在symfony2文件夹中运行install
(假设您有composer.phar
):
php composer.phar install
这将从composer.lock文件安装项目依赖项(如果存在),或者回退到composer.json。
答案 1 :(得分:5)
这只是一个权限问题。我的包文件夹以某种方式获得了错误的权我将它们设置为755并修复了问题。
答案 2 :(得分:4)
在autoload.php中,您需要以下内容:
$loader->add('Sports', __DIR__ . '/../src');
除非你让Sports进入供应商手中?
===========================================
所以只是为了确认你有:
运动
运动/应用
运动/应用/控制台
运动/ SRC
运动/ SRC /体育/ FrontendBundle / SportsFrontendBundle.php
运动/供应商的
Windows还是unix?并且在运行控制台命令时出现错误?