2016-04-12 10 views
-1

私はこれに続きますDrupal 8 module development 101チュートリアル。それはYouTubeのビデオの37:15から45:14の間です。サービスの作成時に「致命的なエラー」を解決するにはどうすればよいですか?

致命的なエラー:クラス 'Drupal \ dino_roar \ DinoServices \ HelloGenerator'がC:\ Users \ myName \ Sites \ devdesktop \ drupal-8.0.5 \ modules \ dino_roar \ src \ Controllerに見つかりませんでした\ライン上RoarController.php 11

フォルダ構造: enter image description here

HelloGenerator.php

<?php 

namespace Drupal\dino_roar\DinoServices; 

class HelloGenerator 
{ 
    public function getHello($count){ 
     return "Gotten Hello ".$count; 
    } 
} 

RoarController.php

<?php 

namespace Drupal\dino_roar\Controller; 

//use Drupal\dino_roar\DinoServices\HelloGenerator; 
use Symfony\Component\HttpFoundation\Response; 
use Symfony\Bundle\FrameworkBundle\Controller\Controller; 

class RoarController extends Controller 
{ 
    public function roar($count){ 
     //$helloGenerator = new HelloGenerator(); 
     $helloGenerator = $this->get('dino_roar.hello_generator'); 
     $hello = $helloGenerator->getHello($count); 
     return new Response($hello); 

     //return new Response("Hello World ".$count); 
    } 
} 

dino_roar.info.yml

name: Dino ROAR 
type: module 
description: "ROAR at you" 
package: Custom 
core: 8.x 

dino_roar.routing.yml

dino_says: 
    path: /dino/says/{count} 
    defaults: 
     _controller: '\Drupal\dino_roar\Controller\RoarController::roar' 
    requirements: 
     _permission: 'access content' 

dino_roar.services.yml

services: 
    dino_roar.hello_generator: 
     class: Drupal\dino_roar\DinoServices\HelloGenerator 

におけるコード行に致命的なエラー・ポイントRoarController.phpファイル:$ helloGenerator = new HelloGenerator();

これはSymfonyのバージョンです。私はこのウィンドウで1,2、または3と言うことはできません。

enter image description here

答えて

1

まず第一に、あなたのRoarControllerクラスがに必要 Controllerクラス

class RoarController 

EDIT

use Symfony\Bundle\FrameworkBundle\Controller\Controller class RoarController extends Controller 

拡張

[OK]を、今あなたは私があなたを招待し、なぜあなたが提案してきたように、このhttp://symfony.com/doc/current/book/service_container.html#creating-configuring-services-in-the-container

+0

はちょうど私のRoarControllerを更新読むためにことをどのように使用するサービスを理解していなかった

public function roar($count){ $helloGenerator = new HelloGenerator(); $hello = $helloGenerator->getHello($count); return new Response($hello); //return new Response("Hello World ".$count); } 

public function roar($count){ $helloGenerator = $this->get('dino_roar.hello_generator'); $hello = $helloGenerator->getHello($count); return new Response($hello); //return new Response("Hello World ".$count); } 

に変更し、私はまだ同じエラーが発生します。 – Charlie123

+0

ありがとう!私は読書を見てみましょう。しかし、私はちょうどあなたの新しい編集を試して、それはまだ動作していない..同じエラー。 YouTubeのチュートリアルでは、動画でうまくいくので、私が何をしたのかは分かりません。 – Charlie123

+0

まったく同じエラーですか? –

関連する問題