0

我正在玩包,当我这样做时,我可以让我的代码工作(在我的控制器中):

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

非常感谢任何帮助。

4

2 回答 2

1

看起来这是命名空间的问题,我通过改变这个来让它工作:

<?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'; }

}

我不确定为什么教程中的代码有效,但我的却没有。我一定是跳过了一步。

于 2013-03-24T15:44:43.020 回答
0

只是一个旁注,如果您打算与社区共享您的代码(请这样做),我鼓励您使用 5.3 语法。Laravel 要求是 5.3,所以不要在你的包中使用 5.4。

于 2013-03-24T07:38:31.343 回答