Laravel 5服务提供商无法在web服务器中工作,但在我的本地主机中工作良好。详细信息如下所示
App->Privider->MymoduleServiceProvider.php
namespace App'Providers;
use Illuminate'Support'ServiceProvider;
use App;
class MyModuleServiceProvider extends ServiceProvider
{
public function boot()
{
//
}
public function register()
{
App::bind('mymodule', function()
{
return new 'App'Module'MyModule;
});
}
}
我已经制作了一个名为Module的文件夹,在这个文件夹中有两个文件
应用程序->模块
1.MyModule.php
namespace App'module;
use Session;
class MyModule {
public function Vegitable($data){
$veg = 'App'models'veg::select('id')
->where('vegs', $data)
->get()->count();
echo $veg;
}
}
2.MyModuleFacade.php
namespace App'Module;
use Illuminate'Support'Facades'Facade;
class MyModuleFacade extends Facade{
protected static function getFacadeAccessor() { return 'mymodule'; }
}
我在config->app.php中添加了
'providers' => [
App'Providers'MymoduleServiceProvider::class
]
'aliases' => [
'MyModule'=> App'module'MyModuleFacade::class,
]
并像{{MyModule::Vegitable($veg->proid)}}
一样在视图中调用
它在我的本地主机(examplep)中运行良好,但在下面给出的web服务器geting错误消息中不工作
ErrorException in AliasLoader.php line 66:
Class 'App'module'MyModuleFacade' not found (View: /home/pric/public_html/veg/demo/vegster/resources/views/veglist.blade.php)
我在App->Module模块文件夹中修复了这个问题,该文件夹以大写"M"开头,但在config->App.php别名中显示小"M"
你只需要添加这个
'aliases' => [
'MyModule'=> App'Module'MyModuleFacade::class,
]
而不是
'aliases' => [
'MyModule'=> App'module'MyModuleFacade::class,
]