PHPを学習中です。testClassA.php, testClassB.phpという2つのファイルを用意して、それぞれにクラスを作成しました。
そこに、同じ名前空間を宣言して一方のクラスからもう一方のクラスを継承しようと考えたのですが、以下のコードの状態でtestClassA.phpにアクセスするとエラーが発生してしまいます。いったいなぜでしょうか?
testClassA.php:
PHP
1<?php 2namespace Myapp\hoge; 3 4use Myapp\hoge; 5 6final class testClassA extends testClassB 7{ 8 //処理 9}
testClassB.php:
PHP
1<?php 2namespace Myapp\hoge; 3 4use Myapp\hoge; 5 6class testClassB 7{ 8 //処理 9}
発生するエラー:
Fatal error: Class 'Myapp\hoge\testClassB' not found in (省略)\Myapp\hoge\testClassA.php on line 6
使用環境:
0. windows7
0. XAMPP(PHP7.0.9)
0. さくらエディタ
追記
- require_onceで継承したいファイルを読み込んだ場合はエラーが表示されませんでした。
- また、composerを使ってオートローダーを作成しています。
{ "name": "テストアプリ", "description": "テストアプリ", "autoload": { "psr-4": { "Myapp\\": "Myapp/" } }, "require": {} }
公式のマニュアルを読んで色々と試しましたが、未だ解決することができません。
どなたかご存知の方よろしくおねがいします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/01/12 09:05
2017/01/12 10:38
2017/01/12 10:47
2017/01/12 10:51
2017/01/12 11:05
2017/01/26 04:59