2014-06-18 34 views
1

你好,我已经创建了一个新的包,用于我正在开发的Laravel项目,我是新来的包和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!"; 
    } 
} 

/工作台/ CYCS/proofhq/src目录/ CYCS /临ofhq /墙面/ 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.php和提供商阵列,然后尝试通过简单的GET访问程序包的功能,

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

但我得到以下错误,

类 'proofhq' 未找到

我无法弄清楚为什么,我已经按照这个例子来写这封信,而且这个班还存在。

任何人都可以摆脱这对我来说这是什么?

+0

您是否尝试过使用echo Proofhq :: greeting()而不是全部小写? – Unnawut

+0

这是一个组合,需要'composer dump-autoload' – Cycs

+1

请回答你的问题你的自己如此以待,可以看到答案。 – Reflic

回答

1

composer dump-autoload并将路由器中的类名第一个字母更改为大写似乎有诀窍!