###前提・実現したいこと
- MAMP4.2.1
- PHP7.1.8
- Composer1.1.2
名前空間を使ってクラスを呼び出す際に、requireでごちゃごちゃしないように
Composerのautoloadを使ってファイルの読み込みをしようとしているのですが、うまくいきません。
ちなみに現状はこんなディレクトリ構成、ファイル内容です。
composer.jsonにautoloadの記述をして、composer update 後の状態です。
. ├── app ├── composer.json ├── composer.lock ├── sample.php ├── src │ └── AppBudle │ ├── Common │ │ ├── Config.php │ │ └── DatabaseAccessObject.php │ └── Entity │ ├── Manager.php │ └── ManagerRepository.php <- ②このファイルを読み込みたい ├── vendor │ ├── autoload.php │ ├── composer │ │ ├── ClassLoader.php │ │ ├── LICENSE │ │ ├── autoload_classmap.php │ │ ├── autoload_namespaces.php │ │ ├── autoload_psr4.php │ │ ├── autoload_real.php │ │ ├── autoload_static.php │ │ └── installed.json │ └── twig │ ├── ... └── web ├── admin │ ├── index.php │ └── staff │ ├── add.php │ └── confirm.php <- ①このファイルから... ├── bootstrap-3.3.7-dist └── css ├── ...
json
1composer.json 2 3{ 4 "require": { 5 "twig/twig": "=1.9.2" 6 }, 7 "autoload": { 8 "psr-4": { 9 "AppBundle\": "src/AppBundle/" 10 } 11 } 12}
php
1autoload_psr4.php 2 3<?php 4 5// autoload_psr4.php @generated by Composer 6 7$vendorDir = dirname(dirname(__FILE__)); 8$baseDir = dirname($vendorDir); 9 10return array( 11 'AppBundle\' => array($baseDir . '/src/AppBundle'), 12);
php
1autoload_static.php 2 3<?php 4 5// autoload_static.php @generated by Composer 6 7namespace Composer\Autoload; 8 9class ComposerStaticInit9327fd10fb120f686d982fc491086a7f 10{ 11 public static $prefixLengthsPsr4 = array ( 12 'A' => 13 array ( 14 'AppBundle\' => 10, 15 ), 16 ); 17 18 public static $prefixDirsPsr4 = array ( 19 'AppBundle\' => 20 array ( 21 0 => __DIR__ . '/../..' . '/src/AppBundle', 22 ), 23 ); 24 25 public static $prefixesPsr0 = array ( 26 'T' => 27 array ( 28 'Twig_' => 29 array ( 30 0 => __DIR__ . '/..' . '/twig/twig/lib', 31 ), 32 ), 33 ); 34 35 public static function getInitializer(ClassLoader $loader) 36 { 37 return \Closure::bind(function () use ($loader) { 38 $loader->prefixLengthsPsr4 = ComposerStaticInit9327fd10fb120f686d982fc491086a7f::$prefixLengthsPsr4; 39 $loader->prefixDirsPsr4 = ComposerStaticInit9327fd10fb120f686d982fc491086a7f::$prefixDirsPsr4; 40 $loader->prefixesPsr0 = ComposerStaticInit9327fd10fb120f686d982fc491086a7f::$prefixesPsr0; 41 42 }, null, ClassLoader::class); 43 } 44}
php
1src/AppBundle/Entity/ManagerRepository.php 2 3<?php 4 5namespace AppBundle\Entity; 6 7class ManagerRepository 8{ 9 ...
php
1web/admin/staff/confirm.php 2 3<?php 4 5require_once $_SERVER['DOCUMENT_ROOT'] . '/vendor/autoload.php'; 6 7use AppBundle\Entity\ManagerRepository; 8 9$manager = new ManagerRepository(); 10...
###発生している問題・エラーメッセージ
上記のような記述でautoloadにてクラスを読み込もうとしているのですが、「クラス見つかんないっす」とエラーとなってしまいます。
Fatal error: Uncaught Error: Class 'AppBundle\Entity\ManagerRepository' not found in /Applications/MAMP/htdocs/web/admin/staff/confirm.php:16 Stack trace: #0 {main} thrown in /Applications/MAMP/htdocs/web/admin/staff/confirm.php on line 16
###以上
皆様のお知恵を拝借できれば幸いです。宜しくお願い致します。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。