我试图在laravel 4.1中创建一个外观。我创建了门面,服务提供商和班级,但无济于事。我跟随了很多"如何""包括Laracasts定制外墙的高级视频。无论我尝试多少次,我都会以Non-static method Custom\Helpers\Helper::doSomething() should not be called statically
这是我的代码......
HelpersServiceProvider.php
<?php namespace Custom\Helpers;
use Illuminate\Support\ServiceProvider;
class HelpersServiceProvider extends ServiceProvider {
public function register()
{
$this->app->bind('trial','Custom\Helpers\Helper');
}
}
HelpersFacade.php
<?php namespace Custom\Facades;
use Illuminate\Support\Facades\Facade;
class Helper extends Facade {
protected static function getFacadeAccessor()
{
return 'trial';
}
}
Helpers.php
<?php namespace Custom\Helpers;
class Helper {
public function doSomething()
{
return 'Hello';
}
}
我将服务提供商添加到我的app.php文件并注册外观别名
'Custom\Helpers\HelpersServiceProvider',
'Helper' => 'Custom\Facades\Helper',
然后当我尝试通过静态调用(是的,我知道它不是非常静态)或通过服务提供商直接访问它时,我得到异常错误。
抓住这个......
答案 0 :(得分:0)
看起来你的名字(或文件)命名不正确:
HelpersFacade.php
class Helper extends Facade {
此外,您的Helper
课程位于Helpers.php
。那些也需要匹配。