本人在校学生一枚,PHP目前刚刚学习完面向对象部分,目前正在理解学习SPL库的使用,发现SPL部分有些还是不好理解,学习的项目根目录如下...还望各位大神们指点一二
PSR-0
├── App
│ └── Controller
│ └── Home
│ └── Revamp.php
├── Users
│ ├── Loader.php
│ └── Object.php
└── index.php
加载类如下Loader.php
<code><?php namespace Users; class Loader{ public static function autoload($class){ require BASEDIR. '/'. str_replace('\\', '/', $class) .'.php'; } } </code></code>
Revamp.php
<code><?php namespace App\Controller\Home; class Revamp { public static function load(){ echo __METHOD__; } } </code></code>
入口文件如下index.php:
<code><?php define('BASEDIR', __DIR__); /** * 引入自动加载引导类 */ require_once BASEDIR . '/Users/Loader.php'; // 将加载函数注册到 SPL spl_autoload_register('\\Users\\Loader::autoload'); Users\Objet::load(); App\Controller\Home\Revamp::load();</code></code>
第二个 Revamp类的加载为何会一直有问题?出现HTTP500错误
本人在校学生一枚,PHP目前刚刚学习完面向对象部分,目前正在理解学习SPL库的使用,发现SPL部分有些还是不好理解,学习的项目根目录如下...还望各位大神们指点一二
PSR-0
├── App
│ └── Controller
│ └── Home
│ └── Revamp.php
├── Users
│ ├── Loader.php
│ └── Object.php
└── index.php
加载类如下Loader.php
<code><?php namespace Users; class Loader{ public static function autoload($class){ require BASEDIR. '/'. str_replace('\\', '/', $class) .'.php'; } } </code></code>
Revamp.php
<code><?php namespace App\Controller\Home; class Revamp { public static function load(){ echo __METHOD__; } } </code></code>
入口文件如下index.php:
<code><?php define('BASEDIR', __DIR__); /** * 引入自动加载引导类 */ require_once BASEDIR . '/Users/Loader.php'; // 将加载函数注册到 SPL spl_autoload_register('\\Users\\Loader::autoload'); Users\Objet::load(); App\Controller\Home\Revamp::load();</code></code>
第二个 Revamp类的加载为何会一直有问题?出现HTTP500错误
打开错误显示,看看具体的错误是什么。估计你这个情况和 ClassName 的处理有关,注意类名前面还有一个斜杠的
看你发的目录结构,Controller和Home放在同一级了
我按照你的代码敲了一遍,没做任何改变,可以正常输出~