我如何使用SplClassLoader

Joh*_*ohn 1 php psr-0

我试图理解并使用PSR-0 Autoloader.但它不起作用.

我的文件夹结构:

核心/

  • 图书馆/
  • 模型/

我的index.php在Root中

<?php
require_once 'Core/Library/SplClassLoader.php';

$loader = new SplClassLoader('Core', 'Core');
$loader->register();



use Model\Post;
Run Code Online (Sandbox Code Playgroud)

模型文件夹中的Post.php.

<?php
namespace Model;

class Post implements PostInterface
{
// ...
Run Code Online (Sandbox Code Playgroud)

PostInterface

<?php
namespace Model;

interface PostInterface
{
//...
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

致命错误:第17行的C:\ wamp\www\Test\index.php中找不到类'Model\Post'

Line 17: Init new Post;
Run Code Online (Sandbox Code Playgroud)

我在这做错了什么?

dev*_*ler 5

SplClassLoader的工作方式如下:

$loader = new SplClassLoader('NamespaceName', 'path/To/Base/Directory');
Run Code Online (Sandbox Code Playgroud)

您在Core此处注册命名空间,但您没有Core\Model命名空间,只是简单Model