질문을 삭제하지 말아주세요.!
 
1
0
-1

<head.blade.php>


<body.blade.php>


<footer.blade.php>


이런 구조에서

,head.blade.php에서

$url = $_SERVER['SERVER_NAME'];
$parse_url = explode(".", $url);
$parse_url_arr = $parse_url[0];

$querystring = $_SERVER['REQUEST_URI'];
$parse_query = explode("/", $querystring);

위와 같은 URL을 파싱하는 변수를 <body.blade.php> 이하 문서에서 이용하려고 합니다.


어떻게 해야 적용이 가능 할까요 ?


@yield('content')

로 구성했더니 변수를 가져오지 못하는거 같네요.. .ㅜㅍ

Undefined variable: parse_url_arr 




    CommentAdd your comment...

    2 answers

    1.  
      2
      1
      0

      helper 함수를 만들어서 해당 값을 가져오시거나 controller에서 해당 값을 넘겨주시는게 나을듯 합니다.

      view에선 저런 로직이 포함되지 않도록 코드 작성하시는편이 좋습니다.

        CommentAdd your comment...
      1.  
        1
        0
        -1

        권윤학님의 답변대로 뷰에서 데이터를 처리하지 않는걸 권장합니다.


        쿼리스트링을 뷰에서 따로 파싱하실 필요가 없습니다. 라우트나 컨트롤러에서 다음과 같이 조회하세요.

        use Illuminate\Http\Request;
        
        Route::get('/', function (Request $request) {
            // 모든 쿼리스트링을 배열로 받습니다.
            $query = $request->query(); 
        });

        더 자세한 내용은 https://laravel.kr/docs/5.5/requests#retrieving-input 를 참고하세요.


        조회한 쿼리를 뷰에 넘겨주세요.

        use Illuminate\Http\Request;
        
        Route::get('/', function (Request $request) {
            // 모든 쿼리스트링을 배열로 받습니다.
            $query = $request->query(); 
        
        
            // 뷰에 데이터를 전달합니다.
            return view('example.blade.php', ['query' => $query]);
        });

        더 자세한 내용은 https://laravel.kr/docs/5.5/views#passing-data-to-views 를 참고하세요.


        뷰에서 넘겨받은 데이터를 사용할 수 있습니다.

        <html>
            <body>
                <h1>{{ $query['test'] }}</h1>
            </body>
        </html>

        위와 같은 상황에서 http://sample.com?test=abcde 로 접근하면 abcde가 출력될 겁니다.

          CommentAdd your comment...