2017-08-17 57 views
0

我已經從github克隆項目,並安裝在我的本地系統一切工作正常。目標[App Http Controllers IndexController]不可實例化。在laravel

而我通過命令創建了控制器,控制器已創建,但是當我嘗試使用控制器功能時,該錯誤如下所示。

BindingResolutionException

目標[應用\ HTTP \控制器\ SomeController]不是實例化。 在Container.php(線895)

我試圖通過運行下面的命令來解決這個問題:

PHP人員緩存:清楚

PHP人員清楚編譯

composer dump-autoload

php artisan optimize

php artisan config:clear

但我仍然有同樣的錯誤。請幫我解決這個問題。

我的控制器:

<?php 

namespace App\Http\Controllers; 

use Illuminate\Http\Request; 

class SomeController extends Controller 
{ 
    public function getIndex() { 
    echo "string"; 
    } 
} 

AppServiceProvider.php:

<?php 

namespace App\Providers; 

use Illuminate\Support\ServiceProvider; 
use Illuminate\Support\Facades\Schema; 

class AppServiceProvider extends ServiceProvider 
{ 
/** 
* Bootstrap any application services. 
* 
* @return void 
*/ 
public function boot() 
{ 
    // 
    Schema::defaultStringLength(191); 
} 

    /** 
    * Register any application services. 
    * 
    * @return void 
    */ 
    public function register() 
    { 
     // 
    } 
} 

Controller.php這樣

<?php 

namespace App\Http\Controllers; 

use Illuminate\Foundation\Bus\DispatchesJobs; 
use Illuminate\Routing\Controller as BaseController; 
use Illuminate\Foundation\Validation\ValidatesRequests; 
use Illuminate\Foundation\Auth\Access\AuthorizesRequests; 
use Carbon\Carbon; 

class Controller extends BaseController 
{ 
use AuthorizesRequests, DispatchesJobs, ValidatesRequests; 


protected function __construct() { 

    $variable2 = "I am Data 2"; 
    View::share ('variable2', $variable2); 
} 

protected function create_permission($role_type_id,$module_id) 
{ 
    $CheckCreatePermission = \DB::table('role_type_access')->where(['role_type_id'=> $role_type_id,'module_id'=>$module_id])->select('create')->get(); 
    if(!empty($CheckCreatePermission[0])) 
    { 
     if($CheckCreatePermission[0]->create===1) 
     { 
      return 1; 
     } 
     return 0; 
    } 
    return 0; 
} 

protected function edit_permission($role_type_id,$module_id) 
{ 
    $CheckEditPermission = \DB::table('role_type_access')->where(['role_type_id'=> $role_type_id,'module_id'=>$module_id])->select('edit')->get(); 
    if(!empty($CheckEditPermission[0])) 
    { 
     if($CheckEditPermission[0]->edit===1) 
     { 
      return 1; 
     } 
     return 0; 
    } 
    return 0; 
} 

protected function delete_permission($role_type_id,$module_id) 
{ 
    $CheckDeletePermission = \DB::table('role_type_access')->where(['role_type_id'=> $role_type_id,'module_id'=>$module_id])->select('delete')->get(); 
    if(!empty($CheckDeletePermission[0])) 
    { 
     if($CheckDeletePermission[0]->delete===1) 
     { 
      return 1; 
     } 
     return 0; 
    } 
    return 0; 
} 

protected function view_permission($role_type_id,$module_id) 
{ 
    $CheckViewPermission = \DB::table('role_type_access')->where(['role_type_id'=> $role_type_id,'module_id'=>$module_id])->select('view')->get(); 
    if(!empty($CheckViewPermission[0])) 
    { 
     if($CheckViewPermission[0]->view===1) 
     { 
      return 1; 
     } 
     return 0; 
    } 
    return 0; 
} 

protected function view_all_permission($role_type_id,$module_id) 
{ 
    $CheckLayoutPermission = \DB::table('role_type_access') 
    ->join('modules', 'role_type_access.module_id', '=', 'modules.id') 
    ->where(['role_type_access.role_type_id'=> $role_type_id,'role_type_access.view'=>1,'role_type_access.module_id'=>$module_id]) 
    ->select('role_type_access.module_id','role_type_access.view','role_type_access.create','role_type_access.edit','role_type_access.delete','modules.name','modules.label')->get(); 

    return $CheckLayoutPermission; 

    // print_R($$CheckViewMenuPermission); 
    // echo count($CheckViewMenuPermission); 
    /*  if(!empty($CheckViewPermission[0])) 
    { 
     if($CheckViewPermission[0]->view===1) 
     { 
      return 1; 
     } 
     return 0; 
    } 
    return 0;*/ 
} 

public function getDownload($file_path,$file_name) 
{ 
    //PDF file is stored under project/public/download/info.pdf 
    $file= public_path().'/uploads/'.$file_path.'/'.$file_name; 
    $headers = array(
       'Content-Type: application/pdf', 
      ); 

    return \Response::download($file, $file_name, $headers); 
} 

public function updateTracker($tracked_date,$action) 
{ 

    $Globaltracks = \DB::table('global_tracks')->where('tracked_date', $tracked_date)->get(); 
    if (count($Globaltracks) > 0) { 

     \DB::table('global_tracks') 
     ->where('tracked_date', $tracked_date) 
     ->increment($action,1,['updated_at'=>Carbon::now()->toDateTimeString()]); 

    } else { 

     $Globaltracks_id = \DB::table('global_tracks')->insert(
     ['tracked_date' => $tracked_date,$action => 1,'created_at'=>Carbon::now()->toDateTimeString()]); 

    } 

    } 


    } 
+0

提供您的'AppServiceProvider.php'代碼來檢查你的代碼,隨後 –

+0

已經更新了我的問題與appserviceprovider通過使你的父母控制器的構造函數,而不是公衆的保護 – Vinothini

+0

嘗試結合的方式@ V.php:你正在使用哪個laravel版本? –

回答

0

更新您的SomeController與下面的代碼:

<?php 

namespace App\Http\Controllers; 
use App\Http\Controllers\Controller; 
use Illuminate\Http\Request; 

class SomeController extends Controller 
{ 
    public function getIndex() { 
     echo "string"; 
    } 
} 

希望爲你工作!

+0

沒有即時得到同樣的錯誤 – Vinothini

+0

@AddWebSolutionPvtLtd –

+0

即時通訊使用laravel 5.4 – Vinothini

相關問題