如何解决ReflectionException类orchestra.parser.xml不存在

时间:2016-03-31 15:27:06

标签: php xml laravel parsing ioc-container

我正在尝试使用Orchestral / parser

创建一个xml文件
  

https://github.com/orchestral/parser

我正确安装了它,并在我的控制器中调用它:

use Orchestra\Parser\Xml\Facade as XmlParser;

...

class Product extends Controller
{    
    public function createProduct()
   {
        $xml    = XmlParser::load("test.xml");
        $xmlR = $xml->parse([
            'id' => ['uses' => 'xmlR.id'],
        ]);
   }
}

但是我收到以下错误消息:

  

Container.php第741行中的ReflectionException:Class   orchestra.parser.xml不存在

因此我并不真正理解加载意味着什么(在我的例子中是load(“test.xml”)。

3 个答案:

答案 0 :(得分:2)

您是否尝试使用以下命令刷新自动加载:composer dump-autoload

答案 1 :(得分:1)

您的错误明确指出您没有在 config / app.php 文件中设置软件包(通过列出Orchestral XML Parser的提供程序)。 / p>

要解决此问题,请将Orchestra\Parser\XmlServiceProvider::class添加到 config / app.php 文件中的提供商列表中,如下所示:

  

'providers'=> [

     

//其他Laravel服务提供商

     

乐团\分析器\ XmlServiceProvider ::类,

     

],

答案 2 :(得分:0)

清除缓存修复了我的问题:

php artisan cache:clear
php artisan config:cache