phpのspl_autoload_registerを利用した場合、namespace useがうまくいきません。
よろしくお願いいたします。
Xserver
PHP 7.3
test.php
php
1//require_once 'Hoge.php'; 2require_once 'autoload.php'; 3 4use Test; 5 6$hoge = new Test\Hoge(); 7$res = $hoge->hogehoge(); 8echo $res; 9
require_once 'autoload.php' の場合
Fatal error: Uncaught Error: Class 'Test\Hoge' not found in /dir/test.php:11 Stack trace: #0 {main} thrown in /dir/test.php on line 11
require_once 'Hoge.php' の場合
ok
Hoge.php
php
1namespace Test; 2 3class Hoge 4{ 5 6 public function hogehoge(){ 7 return 'ok'; 8 } 9 10}
autoload.php
spl_autoload_register(function ($class) { $classFile = $class .'.php'; if (is_file($classFile) && is_readable($classFile)) { require_once $classFile; return true; } return false; });
あなたの回答
tips
プレビュー