加载资源
编辑该页面警告:你浏览的文档欧宝官网下载appob娱乐下载Symfony 2.0,不再维护。
读这个页面的更新版本Symfob娱乐下载ony 6.2(当前的稳定版本)。
加载资源
定位资源
加载资源的配置通常始于一个搜索-在大多数情况下:文件。这可以完成了FileLocator:
1 2 3 4 5 6
使用ob娱乐下载\组件\配置\FileLocator;美元configDirectories=数组(__DIR__。/应用程序/配置的);美元定位器=新FileLocator (美元configDirectories);美元yamlUserFiles=美元定位器- >定位(“users.yml”,零,假);
定位器接收到的集合地点应该寻找文件。的第一个参数定位()
是寻找文件的名称。第二个参数可能是当前路径和提供时,首先定位器会在这个目录中。第三个参数表示是否定位器应该返回第一个文件发现,或者是一个数组,它包含所有比赛。
资源加载器
为每种类型的资源(Yaml、XML注释等)必须定义一个加载器。每个加载程序应该实现LoaderInterface或扩展的抽象FileLoader类,它允许递归地导入其他资源:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21日22日23日24
使用ob娱乐下载\组件\配置\加载程序\FileLoader;使用ob娱乐下载\组件\Yaml\Yaml;类YamlUserLoader扩展FileLoader{公共函数负载(美元资源,美元类型= null){美元configValues= Yaml::解析(美元资源);/ /……处理配置的值/ /也许进口一些其他资源:/ / $ this - >导入(“extra_users.yml”);}公共函数支持(美元资源,美元类型= null){返回is_string (美元资源)& &“yml”= = = pathinfo (美元资源,PATHINFO_EXTENSION);}}
找到合适的加载器
的LoaderResolver收到的第一个构造函数参数加载器的集合。当一个资源(例如XML文件)应加载,它遍历集合的装入器并返回加载器支持这个特定资源类型。
的DelegatingLoader利用LoaderResolver。当它被要求加载资源,它代表这个问题的LoaderResolver。解析器发现一个合适的加载程序,加载程序将被要求加载资源:
1 2 3 4 5 6 7 8 9 10 11
使用ob娱乐下载\组件\配置\加载程序\LoaderResolver;使用ob娱乐下载\组件\配置\加载程序\DelegatingLoader;美元loaderResolver=新LoaderResolver (数组(新YamlUserLoader (美元定位器)));美元delegatingLoader=新DelegatingLoader (美元loaderResolver);美元delegatingLoader- >负载(__DIR__。' / users.yml ');/ * YamlUserLoader将用于加载这个资源,因为它支持文件* / yml”延伸
这项工作,包括代码示例,许可下Creative Commons冲锋队3.0许可证。