0

好的,所以我正在尝试为 Laravel 3 ( https://github.com/maikeldaloo/Resizer ) 的 Resizer 捆绑包创建一个工作外观。

到目前为止,我有:

  • 使用 Reszier 包中的代码创建了一个“Resizer.php”文件,并添加了命名空间 BARThompson\Planesaleing;
  • 创建了一个“ResizerFacade.php”,其内容包含在这篇文章的底部;
  • 创建了一个“ResizerServiceProvider.php”,其内容包含在这篇文章的底部;
  • 这三个文件都保存在:app\library\;
  • 在 'providers' => 数组下的 \app\config\app.php 中添加了一个自动加载器,内容如下:

    'BARThompson\Planesaleing\ResizerServiceProvider',

  • 在 'aliases' => 数组下为 \app\config\app.php 添加了一个别名,内容如下:

    'Resizer' => 'BARThompson\Planesaleing\Resizer',

  • 在 composer.json 的自动加载类映射中添加了以下目录:

    "app/library"

但是,我可以成功加载网站,但是当我调用 Resizer::open 时,我收到以下错误:

Class 'BARThompson\Planesaleing\Config' not found 

我对命名空间感到困惑。我没有在我的应用程序的其他任何地方使用它们,但是当我遵循使用它们的教程(http://fideloper.com/create-facade-laravel-4)时,我在我的实现中使用了它们而没有完全理解它们。

谁能解释我哪里出错了?

ResizerFacade.php:

<?php

namespace BARThompson\Planesaleing\Facades;

use Illuminate\Support\Facades\Facade;

class Resizer extends Facade {

    /**
     * Get the registered name of the component.
     *
     * @return string
     */
    protected static function getFacadeAccessor() { return 'resizer'; }

}

ResizerServiceProvicer.php:

<?php

namespace BARThompson\Planesaleing;

use Illuminate\Support\ServiceProvider;

class ResizerServiceProvider extends ServiceProvider {

    /**
     * Register the service provider.
     *
     * @return void
     */
    public function register()
    {
        // Register 'resizer' instance container to our UnderlyingClass object
        $this->app['resizer'] = $this->app->share(function($app)
        {
            return new BARThompson\Planesaleing\Resizer;
        });
    }
}
4

0 回答 0