2017-12-12 5 views
1

私は同様の問題をチェックしましたが、他人によって投稿されましたが、私のコードで何が間違っているかはまだ分かりません。Symfonyの最初のページ - ファイル内で定義されるべきクラス[...]をファイルします

私はちょうど文書からそれをコピーした - https://symfony.com/doc/3.4/page_creation.html

<?php 

// src/AppBundle/Controller/LuckyController.php 
namespace AppBundle\Controller; 

use Symfony\Component\HttpFoundation\Response; 
use Symfony\Component\Routing\Annotation\Route; 

class LuckyController 
{ 
    /** 
    * @Route("/lucky/number") 
    */ 
    public function numberAction() 
    { 
     $number = mt_rand(0, 100); 

     return new Response(
      '<html><body>Lucky number: '.$number.'</body></html>' 
     ); 
    } 
} 

enter image description here

ファイル「Eで を定義するオートローダ期待クラス "のApp \コントローラ\ LuckyController":\ projektai \ php projektai \ htdocs \ mokomieji \ weather_demo_3 \ vendor \ composer /../../ src \ Controller \ LuckyController.php "にあります。 ファイルが見つかりましたが、クラスがそれに含まれていませんでした。クラス名または 名前空間には、おそらくE:\ projektai \ php projektai \ htdocs \ mokomieji \ weather_demo_3 \ config/services.yaml(どちらの がロードされていますか?リソース "E:\ projektai \ php projektai \ htdocs \ mokomieji \ weather_demo_3 \ config/services.yaml")。

ファイルが見つかりましたが、クラスが見つかりませんでした。どのようにクラスを見つけることができますか?分かった。どのようにそれを検索しようとするのですか?

composer.jsonあなたの名前空間がnamespace App\Controller;

4.0 version of documentationに切り替えてみてくださいする必要がありますので、あなたはおそらく、symfonyのフレックスを使用している構造に基づいて

{ 
    "type": "project", 
    "license": "proprietary", 
    "require": { 
     "php": "^7.0.8", 
     "symfony/console": "^3.4", 
     "symfony/flex": "^1.0", 
     "symfony/framework-bundle": "^3.4", 
     "symfony/lts": "^3", 
     "symfony/yaml": "^3.4" 
    }, 
    "require-dev": { 
     "symfony/dotenv": "^3.4" 
    }, 
    "config": { 
     "preferred-install": { 
      "*": "dist" 
     }, 
     "sort-packages": true 
    }, 
    "autoload": { 
     "psr-4": { 
      "App\\": "src/" 
     } 
    }, 
    "autoload-dev": { 
     "psr-4": { 
      "App\\Tests\\": "tests/" 
     } 
    }, 
    "scripts": { 
     "auto-scripts": { 
      "cache:clear": "symfony-cmd", 
      "assets:install --symlink --relative %PUBLIC_DIR%": "symfony-cmd" 
     }, 
     "post-install-cmd": [ 
      "@auto-scripts" 
     ], 
     "post-update-cmd": [ 
      "@auto-scripts" 
     ] 
    }, 
    "conflict": { 
     "symfony/symfony": "*" 
    }, 
    "extra": { 
     "symfony": { 
      "id": "01C16444CCZTY1MPPEE5GJZ63G", 
      "allow-contrib": false 
     } 
    } 
} 

答えて

2

。私の場合は

+0

私はsymfony flexを使用しているとは思わないが、少なくとも私はそれが何であるかわからない。コメントを書いた後にcomposer.jsonを追加します。 私の仕事はsymfony 3を使用することです。だから、symfony 3のドキュメントを使うのが良いはずです。 –

+1

@ Darius.Vあなたはsymfony flexを使用しています。あなたの作曲者の依存関係を確認してください。symfony 4のドキュメントに従ってください。名前空間は現在 'App'です。 Symfony 3.4 = Symfony 4 – kunicmarko20

+1

いいえ、symfony 3.4はv4のようにSymfony 4と同等ではなく、廃止予定の機能はすべて削除されました。 –

3

が、私はしばらくの間では、PHPを使用していなかった、私はまた、コピー/貼り付けのチュートリアルから、私は実際にはファイルの先頭に

<?php 

を追加するのを忘れ。同じエラーメッセージが表示されます。

関連する問題