加载资源
编辑本页警告:您正在浏览的文档欧宝官网下载appob娱乐下载Symfony 2.8,现已不再维护。
读本页的更新版本用于Syob娱乐下载mfony 6.2(当前稳定版本)。
加载资源
谨慎
的IniFileLoader
方法解析文件内容parse_ini_file函数。因此,只能将参数设置为字符串值。要将参数设置为其他数据类型(如布尔型、整数型等),建议使用其他加载器。
定位资源
加载配置通常从搜索资源(主要是文件)开始。这可以用FileLocator:
1 2 3 4 5 6
使用ob娱乐下载\组件\配置\FileLocator;$configDirectories=数组(__DIR__./应用程序/配置的);$fileLocator=新FileLocator ($configDirectories);$yamlUserFiles=$fileLocator->定位(“users.yml”,零,假);
定位器接收它应该在其中查找文件的位置集合。的第一个参数定位()
要查找的文件的名称。第二个参数可能是当前路径,当提供时,定位器将首先查找该目录。第三个参数表示定位器是否应该返回它找到的第一个文件,还是返回包含所有匹配项的数组。
资源加载器
对于每种类型的资源(YAML、XML、注释等),都必须定义一个加载器。每个加载器都应该实现LoaderInterface或者扩展抽象FileLoader类,它允许递归导入其他资源:
12 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 ($fileLocator)));$delegatingLoader=新DelegatingLoader ($loaderResolver);$delegatingLoader->负载(__DIR__.' / users.yml ');YamlUserLoader将被用来加载这个资源,因为它支持扩展名为“yml”的文件
此工作,包括代码示例,是根据创作共用BY-SA 3.0许可证。