Laravel не может найти класс пакета

#php #oop #laravel-4 #packages

#php #ооп #laravel-4 #пакет

Вопрос:

Здравствуйте, я создал новый пакет для проекта Laravel, над которым я работаю, я новичок в концепции пакетов и самого laravel, но вот код, который я придумал,

/workbench/cycs/proofhq/src/Cycs/Proofhq/ProofhqServiceProvider.php

 public function boot()
{
    $this->package('cycs/proofhq');
}

/**
 * Register the service provider.
 *
 * @return void
 */
public function register()
{
    $this->app->booting(function()
    {
        $loader = IlluminateFoundationAliasLoader::getInstance();
        $loader->alias('Cycs', 'CycsProofhqFacadesSupyo');
    });

    $this->app['proofhq'] = $this->app->share(function($app)
    {
        return new Proofhq;
    });
}
  

/workbench/cycs/proofhq/src/Cycs/Proofhq/Proofhq.php

 <?php namespace CycsProofhq;

class Proofhq {

    public static function greeting() {
        return "What's up dawg!";
    }
}
  

/workbench/cycs/proofhq/src/Cycs/Proofhq/Facades/Proofhq.php

 <?php namespace CycsProofhqFacades;

use IlluminateSupportFacadesFacade;

class Proofhq extends Facade {

    /**
    * Get the registered name of the component.
    *
    * @return string
    */

    protected static function getFacadeAccessor() {
        return 'proofhq';
    }

}
  

Я добавил пакет в app/config/app.php и массив провайдеров, затем попытайтесь получить доступ к функциям пакета с помощью простого get,

 Route::get('/test', function(){
  echo proofhq::greeting();
});
  

Но я получаю следующую ошибку,

Класс ‘proofhq’ не найден

Я не могу понять, почему, я следовал примерам до буквы, и класс существует.

Может ли кто-нибудь пролить свет на это для меня?

Комментарии:

1. Вы пробовали echo Proofhq::greeting() вместо всех строчных букв?

2. Это было сочетание этого и необходимости composer dump-autoload

3. Пожалуйста, ответьте на свой вопрос самостоятельно, чтобы другие могли увидеть ответ.

Ответ №1:

composer dump-autoload и изменение первой буквы имени класса в маршрутах на верхний регистр, похоже, делает свое дело!