我正在玩包,我能够我的代码工作(在我的控制器),当我这样做:
App::make('Assets')->js('bla');
现在我想设置一个静态外观,我可以这样做:
Assets::js('bla');
,我得到了错误。我一直在关注这个博客条目,到目前为止还没有遇到任何麻烦。但现在我被"调用未定义的方法"错误卡住了。
我不确定你需要看到什么代码,所以这里是所有的:https://github.com/JoeCianflone/msl/tree/jc-working
这里是我的工作台:https://github.com/JoeCianflone/msl/tree/jc-working/workbench/Joecianflone/Assets
这里是我摆弄过的控制器https://github.com/JoeCianflone/msl/blob/jc-working/app/controllers/HomeController.php
感谢您的帮助。
看起来这是一个命名空间的问题,我通过改变它来工作:
<?php namespace Joecianflone'Assets'Facades;
use Illuminate'Support'Facades'Facade;
class Assets extends Facade {
/**
* Get the registered name of the component.
*
* @return string
*/
protected static function getFacadeAccessor() { return 'Assets'; }
}
:
class Assets extends 'Illuminate'Support'Facades'Facade {
/**
* Get the registered name of the component.
*
* @return string
*/
protected static function getFacadeAccessor() { return 'Joecianflone'Assets'Assets'; }
}
我不确定的是为什么教程中的代码有效,而我的代码却没有。我一定是漏了一步。
旁注,如果您计划与社区共享您的代码(请这样做),我建议您使用5.3语法。Laravel要求是5.3,所以不要在你的包中使用5.4。