如何通过 Laravel IoC 容器访问 Orchestra Xml 解析器
How to access Orchestra Xml Parser through Laravel IoC Container
我正在使用 laravel 5.1。我想使用 XML 解析器,我已经搜索并找到了 Orchestra as mostly being used. So I have gone thorough all the steps given at documentation 来安装和配置。我在 config/app.php
的 providers
部分添加了 Orchestra\Parser\XmlServiceProvider::class
,在 aliases
部分添加了 'XmlParser' => Orchestra\Parser\Xml\Facade::class
。
现在在我的控制器中,我在控制器顶部添加了它的名称 space,如 use Orchestra\Parser\Xml\Facade;
。但是当我尝试在我的动作中使用它的功能时,比如
$xml = XmlParser::load($xml_document);
它生成错误说明,
Class 'App\Http\Controllers\XmlParser' not found
所以我想知道 Laravel 5.1
中是否有任何其他方式来使用这些包,如果有人使用它,我在 Orchestra
中做错了一些事情。
在 Laravel 5.1 中,控制器位于命名空间中。 XmlParser 在另一个命名空间中。您需要在控制器中包含该命名空间。
<?php
namespace Orchestra\Parser\Xml; // Maybe this one is different
class Controller...
您也可以添加一个 \ 使其生效。
$xml = XmlParser::load($xml_document);
由于文档已经描述了外观别名的注册:
'XmlParser' => Orchestra\Parser\Xml\Facade::class,
您可以使用 \XmlParser::load()
,或导入别名。
use XmlParser;
或导入完整的命名空间。
use Orchestra\Parser\Xml\Facade as XmlParser;
看起来它正在控制器内部搜索它..
Class 'App\Http\Controllers\XmlParser' 未找到
因此:
$xml = XmlParser::load($xml_document);
需要:
$xml = \XmlParser::load($xml_document);
应该可以解决这个问题
我正在使用 laravel 5.1。我想使用 XML 解析器,我已经搜索并找到了 Orchestra as mostly being used. So I have gone thorough all the steps given at documentation 来安装和配置。我在 config/app.php
的 providers
部分添加了 Orchestra\Parser\XmlServiceProvider::class
,在 aliases
部分添加了 'XmlParser' => Orchestra\Parser\Xml\Facade::class
。
现在在我的控制器中,我在控制器顶部添加了它的名称 space,如 use Orchestra\Parser\Xml\Facade;
。但是当我尝试在我的动作中使用它的功能时,比如
$xml = XmlParser::load($xml_document);
它生成错误说明,
Class 'App\Http\Controllers\XmlParser' not found
所以我想知道 Laravel 5.1
中是否有任何其他方式来使用这些包,如果有人使用它,我在 Orchestra
中做错了一些事情。
在 Laravel 5.1 中,控制器位于命名空间中。 XmlParser 在另一个命名空间中。您需要在控制器中包含该命名空间。
<?php
namespace Orchestra\Parser\Xml; // Maybe this one is different
class Controller...
您也可以添加一个 \ 使其生效。
$xml = XmlParser::load($xml_document);
由于文档已经描述了外观别名的注册:
'XmlParser' => Orchestra\Parser\Xml\Facade::class,
您可以使用 \XmlParser::load()
,或导入别名。
use XmlParser;
或导入完整的命名空间。
use Orchestra\Parser\Xml\Facade as XmlParser;
看起来它正在控制器内部搜索它..
Class 'App\Http\Controllers\XmlParser' 未找到
因此:
$xml = XmlParser::load($xml_document);
需要:
$xml = \XmlParser::load($xml_document);
应该可以解决这个问题