Devsway

日々の記録とか記憶とか。


経緯


いままでよくわからんまま使ってたので自分でauto_loadやってみたくなった。

spl_autoload_register()を使ってみよー!


ハマったところ


namespaceの扱いにはまりました。



Warning: include(classes/classes/Greeting.php): failed to open stream: No such file or directory in /Users/Kiyohara/test/test_php_auto_autoload/Autoloader.php on line 5

Warning: include(): Failed opening 'classes/classes/Greeting.php' for inclusion (include_path='.:') in /Users/Kiyohara/test/test_php_auto_autoload/Autoloader.php on line 5

Fatal error: Uncaught Error: Class 'classes\Greeting' not found in /Users/Kiyohara/test/test_php_auto_autoload/index.php:7
Stack trace:


classes\Greeting

‘\'(バックスラッシュ)として読んでしまう。。

本当は/(スラッシュ)として読んでほしいのだが、、


こんなふうにしたらいいみたい。



たしかにcomposerのソースとかみてたらこんなことしている。。。


なるほどね〜・。



参考


https://stackoverflow.com/questions/22494980/php-namespacing-and-spl-autoload-register




カテゴリー

オレオレIT用語辞典