2016-11-02 2 views
2

내가 작곡가 laravel 5.2에서 그렇게 할 수 있습니까?

  • PHP는 장인 마이그레이션 ---> 확인
  • PHP는 장인 메이크업과 laravel 5를 설치 내 응용 프로그램

    1. 만들기 시작 : 인증 ---> 확인
    2. PHP는 장인 메이크업 : 컨트롤러 > AboutController -> 확인

    결과 : 나는

    "정보" "홈"페이지 (보안 페이지에 인증이 필요) 공공 페이지를 가지고 6,

    는 경로 파일 : 컨트롤러 및

    <?php 
        Route::get('/', function() { 
         return view('welcome'); 
        }); 
        Route::auth(); 
        Route::get('/about', '[email protected]'); 
        Route::get('/home', '[email protected]'); 
        .... 
    ?> 
    

    은 다음과 같이이다 : 이것은 내 about.blade.php 파일

    <?php namespace App\Http\Controllers; use App\Http\Requests; use 
    Illuminate\Http\Request; 
    
        class AboutController extends Controller { 
    
         public function __construct() { 
    
         } 
    
         public function index() { 
          return view('about'); 
         } 
        } 
    

    입니다 : 내가 로그 아웃하고있어

    @extends('layouts.app') 
    
    @section('content') 
    <div class="container"> 
        <div class="row"> 
         <div class="col-md-10 col-md-offset-1"> 
          <div class="panel panel-default"> 
           <div class="panel-heading">About</div> 
    
           <div class="panel-body"> 
            About page! 
           </div> 
          </div> 
         </div> 
        </div> 
    </div> 
    @endsection 
    

    :
    모든 것이 문제가되지 않으며 정보 페이지에 액세스 할 수 있습니다. 홈 페이지는 로그인이 필요합니다.

    로그인 할 때 :
    홈페이지에 액세스 할 수 있습니다. 괜찮습니다. 하지만이 약의 페이지에 액세스 할 때, 내가 좋아하는 뷰 페이지 뭔가 오류가 발생 :

    FatalErrorException AliasLoader.php 라인 (63) : '100'에 도달 최대 기능의 중첩 레벨이 중단!

    정보 페이지에 $this->middleware('auth');을 입력하면 문제가 없지만 그렇게하고 싶지는 않습니다.


    나는이 모든 시도 :

    <?php 
        ............ 
        //$this->middleware('auth'); 
        //$this->middleware('auth', ['only' => 'create']); 
        //$this->middleware('auth', ['only' => ['create', 'edit', 'destroy']]); 
        //$this->middleware('guest', ['except' => 'index']); 
        //$this->middleware('guest', ['except' => ['index', 'create']]); 
        //$this->middleware('guest'); 
        ........ 
    ?> 
    

    을 그러나 문제는 지속되었다. 이 페이지는 미들웨어를 필요로 같은

    그 보일 그래서, 내가 이런 짓을 :

    <?php 
        namespace App\Http\Controllers; 
        use App\Http\Requests; 
        use Illuminate\Http\Request; 
        use Illuminate\Support\Facades\Auth; 
    
        class AboutController extends Controller { 
    
         public function __construct() { 
          if (Auth::check()) { 
           $this->middleware('auth'); 
          } 
          else { 
           $this->middleware('guest'); 
          } 
         } 
    
         public function index() { 
          return view('about'); 
         } 
        } 
    ?> 
    

    잘 작동이 경우, 내가 틀렸다면 나는 내 솔루션이 좋은 경우 알고 싶어하거나.

  • +1

    가능한 복제 [Laravel 5.2 AliasLoader.php 라인에서 객체 FatalErrorException 만들기 63] (http://stackoverflow.com/questions/35819097/laravel-5-2-create- object-fatalerrereception-in-aliasloader-php-line-63) –

    +1

    흠. 나는 Laravel 5.3에서 이것을 복제하려고 시도했지만, 그것은 나를 위해 일했습니다. 'resources/views/about.blade.php' 파일은 어떻게 생겼습니까?실제로 생성자에서 미들웨어 검사가 필요하지 않아야합니다 (즉, 확실하게 해결 방법을 얻었습니다). 그러나 처음에는 불필요합니다. –

    답변

    관련 문제