這不是Laravel別名的工作方式,您需要更多代碼(創建Facades和Service Providers)才能使其工作。
所以,你有一些選擇:
1)從app/config/app.php
刪除該別名,實例化類:
$curl = new Curl;
$curl->help();
2)實例化類,並將其綁定到IoC容器,在global.php ,filters.php或創建一個文件:
App::bindShared('mycurl', function($app)
{
return new Curl;
});
,並創建一個門面:
<?php namespace MyClasses\Facades;
use Illuminate\Support\Facades\Facade;
class MyCurlFacade extends Facade {
protected static function getFacadeAccessor()
{
return 'mycurl';
}
}
您的別名必須指向此Facade腳本文件,就像您在app.php中看到的所有其他人一樣。
'Curl' => 'MyClasses\MyCurlFacade',
它應該像這樣工作Curl::hello();
。
3)創建的通常(正確)Laravel結構,其中還包括一個的ServiceProvider實例化類並將其綁定到應用程序中的引導IoC容器:
<?php namespace MyClasses;
use Illuminate\Support\ServiceProvider;
class MyCurlServiceProvider extends ServiceProvider {
protected $defer = false;
public function boot()
{
}
public function register()
{
{
$this->app['mycurl'] = $this->app->share(function($app)
{
return new MyCurl;
});
}
public function provides()
{
return array('mycurl');
}
}
這是未經測試CODE,所以不要期望它能在第一次運行中工作