【发布时间】:2013-08-25 17:16:51
【问题描述】:
我正在尝试为 laravel-4 中的自定义构建类设置外观。但是,当我尝试加载我的网站时,我收到一条错误消息,内容为
Class 'PlaneSaleing\ResizerServiceProvider' not found
我已经按照这里的教程:http://fideloper.com/create-facade-laravel-4
我的自定义类名为Resizer.php,保存在laravel\app\library\,如下所示:
<?php
namespace PlaneSaleing;
class Resizer {
// My custom methods
}
然后我创建了一个名为ResizerFacade.php 的外观,保存在同一个文件夹中,它看起来像这样:
<?php
namespace PlaneSaleing\Facades;
use Illuminate\Support\Facades\Facade;
class Resizer extends Facade {
protected static function getFacadeAccessor() { return 'resizer'; }
}
第三,我创建了一个ResizerServiceProvider.php 文件并将其保存在同一个文件夹中,如下所示:
<?php
namespace PlaneSaleing;
use Illuminate\Support\ServiceProvider;
class ResizerServiceProvider extends ServiceProvider {
public function register()
{
// Register 'resizer' instance container to our UnderlyingClass object
$this->app['resizer'] = $this->app->share(function($app)
{
return new Resizer;
});
// Shortcut so developers don't need to add an Alias in app/config/app.php
$this->app->booting(function()
{
$loader = AliasLoader::getInstance();
$loader->alias('Resizer', 'PlaneSaleing\Facades\Resizer');
});
}
}
最后,我在'providers' => array (...) 的laravel/config/app.php 文件中添加了以下行
'PlaneSaleing\ResizerServiceProvider',
任何帮助,非常感谢
【问题讨论】:
-
您是否在 composer.json 上添加了
app/library来自动加载类映射?如果是这样,那之后你有composer dump-autoload吗? -
啊不-我现在已经这样做了。但是,我有一个新错误:
Class 'PlaneSaleing\AliasLoader' not found。有什么想法吗?
标签: php laravel laravel-4 facade service-provider