i creating own mvc framework simple website , want use namespaces don't know how autoload them. here tried far:
i have init.php file has autoloading function:
spl_autoload_register(function($class){ $file = __dir__ . '/../' . str_replace('\\', '/', $class) .'.php'; echo $file; if (file_exists($file)) { require_once $file; echo 'yes'; } use app\core\app app; $app = new app; this code returns "yes" locates app file.. returns fatal error: d:\xampp\htdocs\mvc\app/../app/core/app.phpyes fatal error: class 'app\core\app' not found in d:\xampp\htdocs\mvc\app\init.php on line 28 line 28 $app = new app;
here how namespacing app file:
<?php namespace app\core\app; class app { ..... the file structure following:
| app |--| core |--|--| app.php ... | init.php any ideas why?
instead of making own autoloader, use one, comes built-in composer. add following segment in composer.json file , it's done:
"autoload": { "psr-4": { "": "dir_where_namespaces_start...usually_src" } } also, can't make , "mvc framework", because mvc architecture application code implements , no framework.
Comments
Post a Comment