2013-04-15 3 views
2

я пытаюсь на FOSRestful пример в Symfony 2 версии, но я получаю следующее сообщение об ошибкене в состоянии найти контроллер в FOSRestful с помощью Symfony

Невозможно импортировать ресурс «@ AcmeDemoBundle/Controller/UsersController» из «/ Library /WebServer/Documents/symfony/app/config/routing_dev.yml». Убедитесь, что пакет «AcmeDemoBundle» правильно зарегистрирован и загружен в класс ядра приложения.

, как я новичок в этом, так что я не знаю, будет ли быть установлен FOSRestfulBundle правильно или нет, поэтому я здесь разместить все шаги

до сих пор я сделал следующие вещи, чтобы настроить

1. в AppKernel.php

new JMS\SerializerBundle\JMSSerializerBundle(), 
new FOS\RestBundle\FOSRestBundle(), 

2. в composer.json

"jms/serializer-bundle": "dev-master", 
"friendsofsymfony/rest-bundle": "dev-master" 

3. в config.yml

fos_rest: 
    routing_loader: 
     default_format: json 

4. в routing_dev.yml

users: 
    type:  rest 
    resource: "@AcmeDemoBundle/Controller/UsersController"  
    prefix: /users 

5. Ниже приводится содержание UsersController, который находится внутри Acme/DemoBundle/Controller

<?php 



namespace Acme\DemoBundle\Controller; 

use Acme\DemoBundle\Model\User; 
use Acme\DemoBundle\Model\UserQuery; 
use FOS\RestBundle\Controller\Annotations as Rest; 
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; 

class UsersController 
{ 
    /** 
    * @Rest\View 
    */ 
    public function allAction() 
    { 
     $users = UserQuery::create()->find(); 

     return array('users' => $users); 
    } 

    /** 
    * @Rest\View 
    */ 
    public function getAction($id) 
    { 
     $user = UserQuery::create()->findPk($id); 

     if (!$user instanceof User) { 
      throw new NotFoundHttpException('User not found'); 
     } 

     return array('user' => $user); 
    } 
} 


?> 

6 .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.2.*", 
     "doctrine/orm": "~2.2,>=2.2.3", 
     "doctrine/doctrine-bundle": "1.2.*", 
     "twig/extensions": "1.0.*", 
     "symfony/assetic-bundle": "2.1.*", 
     "symfony/swiftmailer-bundle": "2.2.*", 
     "symfony/monolog-bundle": "2.2.*", 
     "sensio/distribution-bundle": "2.2.*", 
     "sensio/framework-extra-bundle": "2.2.*", 
     "sensio/generator-bundle": "2.2.*", 
     "jms/security-extra-bundle": "1.4.*", 
     "jms/di-extra-bundle": "1.3.*", 
     "jms/serializer-bundle": "dev-master", 
     "friendsofsymfony/rest-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": "alpha", 
    "extra": { 
     "symfony-app-dir": "app", 
     "symfony-web-dir": "web", 
     "branch-alias": { 
      "dev-master": "2.2-dev" 
     } 
    } 


} 
+0

Вы могли бы показать свой файл composer.json? Может быть, пространство имен для Acme неверно. – Sgoettschkes

+0

@Sgoettschkes см. Обновление! – Hunt

ответ

0

я решил его путем добавления .php расширения к UsersController в routing_dev.yml

так, чтобы правильно введено

resource: "@AcmeDemoBundle/Controller/UsersController.php"