본문으로 바로가기

라라벨 - 전역변수, 상수 사용 (Config, View, boot)

category 코딩/Laravel 2024. 6. 25. 15:08

 

전역변수 설정 / Config::set() - controller

전역변수, 상수처럼 모든 controller 에서 사용할 변수를 설정한다.

/app/Providers/AppServiceProvider.php 파일이고 boot() 메소드이다.

<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use Config;

class AppServiceProvider extends ServiceProvider
{
	//
    //...(생략)...
    //
    public function boot()
    {
    	Config::set(['week' => array('일', '월', '화', '수', '목', '금', '토')]);
    }
}

 

전역변수 사용

controller 에서 불러올 때는 get() 을 사용한다.

<?php

namespace App\Http\Controllers;

use Config;
//
//...(생략)...
//
class MessageController extends Controller
{
	//
	//...(생략)...
	//
    public function index(Request $request)
    {
    	$minutes = Config::get('weeks');

 

전역변수 설정 / View::share() - view

모든 view (blade) 에서 사용할 변수도 boot() 메소드에 정의할 수 있다.

use Illuminate\Support\Facades\View;
use Illuminate\Support\Facades\DB;

//
//...(생략)...
//

$notice = DB::table('notice')
            ->where('regdt', date('Y-m-d'))
            ->first();

View::share('notice', $notice);

 

그런데 한 가지, boot() 메소드에서는 auth 미들웨어를 다룰 수 없기 때문에(null),

로그인 사용자 정보를 얻기 위해서는 component 를 생성하는 방향으로 구현해야 한다(아래 링크 참고).