【发布时间】:2014-06-18 15:56:49
【问题描述】:
您好,我为我正在处理的 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 = \Illuminate\Foundation\AliasLoader::getInstance();
$loader->alias('Cycs', 'Cycs\Proofhq\Facades\Supyo');
});
$this->app['proofhq'] = $this->app->share(function($app)
{
return new Proofhq;
});
}
/workbench/cycs/proofhq/src/Cycs/Proofhq/Proofhq.php
<?php namespace Cycs\Proofhq;
class Proofhq {
public static function greeting() {
return "What's up dawg!";
}
}
/workbench/cycs/proofhq/src/Cycs/Proofhq/Facades/Proofhq.php
<?php namespace Cycs\Proofhq\Facades;
use Illuminate\Support\Facades\Facade;
class Proofhq extends Facade {
/**
* Get the registered name of the component.
*
* @return string
*/
protected static function getFacadeAccessor() {
return 'proofhq';
}
}
我已经将包添加到app/config/app.php和providers数组中,然后尝试通过简单的get来访问包函数,
Route::get('/test', function(){
echo proofhq::greeting();
});
但我收到以下错误,
找不到类“proofhq”
我不知道为什么,我已经完全按照示例进行了操作,并且该课程存在。
谁能帮我解释一下?
【问题讨论】:
-
你试过 echo Proofhq::greeting() 代替全小写吗?
-
这是两者的结合,需要
composer dump-autoload -
请您自己回答您的问题,以便其他人看到答案。
标签: php oop laravel-4 packages