PSR-4 Class Loader

3.4 版本
维护中的版本

遵循 PSR-4 标准的类库可以使用 Psr4ClassLoader 来加载。

如果你通过 Composer 来管理依赖,你直接得到兼容 PSR-4 的完美加载器。在Composer不可用的环境下,使用本文的loader。

所有 Symfony组件 皆遵循 PSR-4。

用法 

下面例程展示的是,你如何通过 Psr4ClassLoader 自动加载器来使用Symfony的Yaml组件。假设,你已经下载了ClassLoader和Yaml组件的ZIP包,并且将其解压到 libs 目录。目录结构看起来是下面这样:

1
2
3
4
5
6
7
8
9
libs/
    ClassLoader/
        Psr4ClassLoader.php
        ...
    Yaml/
        Yaml.php
        ...
config.yml
demo.php

demo.php 中你要解析 config.yml 文件。因此,你先要配置 Psr4ClassLoader:

1
2
3
4
5
6
7
8
9
10
use Symfony\Component\ClassLoader\Psr4ClassLoader;
use Symfony\Component\Yaml\Yaml;
 
require __DIR__.'/lib/ClassLoader/Psr4ClassLoader.php';
 
$loader = new Psr4ClassLoader();
$loader->addPrefix('Symfony\\Component\\Yaml\\', __DIR__.'/lib/Yaml');
$loader->register();
 
$data = Yaml::parse(file_get_contents(__DIR__.'/config.yml'));

首先,类加载器通过 require 声明被手动加载进来,因为此时还没有自动加载架构。使用 addPrefix() 方法,你告诉类加载器从何处才能找到满足 Symfony\Component\Yaml\ 命名空间前缀的类。注册完autoloader,YAML组件已经可以使用了。

本文,包括例程代码在内,采用的是 Creative Commons BY-SA 3.0 创作共用授权。

登录symfonychina 发表评论或留下问题(我们会尽量回复)