我在我的wamp服务器上安装了laravel 4。这就是我做的:
1 - 将此"app/classes"
添加到composer.json。
在app中创建文件夹类,并将Curl.php类放在该文件夹中。
3将此app_path().'/classes',
添加到app / start中的global.php。
在www目录中的4个运行composer dump-autoload
命令。
5 - 使用类似Curl::help()
的必须将此别名添加到app / config / app.php别名部分'Curl'=>'Curl'
。
执行此操作后,当我在路由器中返回return Curl::hello();
时,此页面出现:
http://www.mediafire.com/view/h9489jr5s2699ty/err.PNG
我的卷曲课程:Curl class
任何帮助??
答案 0 :(得分:0)
这不是Laravel别名的工作方式,您需要更多代码(创建外观和服务提供商)才能使其正常工作。
所以你有一些选择:
1)从app/config/app.php
中删除别名并实例化您的班级:
$curl = new Curl;
$curl->help();
2)实例化你的类并将其绑定到IoC容器,在global.php,filters.php或为其创建一个文件:
App::bindShared('mycurl', function($app)
{
return new Curl;
});
创建一个Facade:
<?php namespace MyClasses\Facades;
use Illuminate\Support\Facades\Facade;
class MyCurlFacade extends Facade {
protected static function getFacadeAccessor()
{
return 'mycurl';
}
}
您的Alias必须指向此Facade脚本文件,就像您在app.php中看到的所有其他文件一样。
'Curl' => 'MyClasses\MyCurlFacade',
它应该像Curl::hello();
一样工作。
3)创建通常的(正确的?)Laravel结构,该结构还包括一个ServiceProvider,用于实例化您的类并将其绑定到应用程序Boot中的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');
}
}
这是未经测试的代码,所以不要期望它在第一次运行中工作