- Laravel Facade makr(생성 방법)



Laravel 5.5 create custom facade example from scratch
https://hdtuto.com/article/laravel-55-create-custom-facade-example-from-scratch


//===========================
1. 클래스 만들기
    - app/Helpers/MyClass.php 파일 생성

<?php
namespace App\Helpers;

class MyClass {
    public function test1( $val)
    {
        return "test - ".$val;
    }
}


//===========================
2. 만든 클래스를 ServiceProvider 에 연결

php artisan make:provider 'MyClassServiceProvider'

//
생성된 App/Providers/MyClassServiceProvider.php 파일 수정

 public function register()
    {
        \App::bind('myclass', function()
        {
            return new \App\Helpers\MyClass;
        });
    }


//=============================
3. 파사드 만들기
app/Facades/MySiteClass.php 파일 생성


<?php
namespace App\Facades;
use Illuminate\Support\Facades\Facade;


class MyClass extends Facade{
    protected static function getFacadeAccessor() { return 'myclass'; }
}



//=============================
4. ServiceProvider 등록
config/app.php 파일 수정
 'providers' => [
        ....
        App\Providers\MyClassServiceProvider::class

    ],

    'aliases' => [
        ....
        'MyClass'=> App\Facades\MyClass::class,

    ]


    - 정보 갱신 명령
composer dump-autoload


//=======================
5. 사용 테스트
routes/web.php 파일 수정

Route::get('/test', function(){
    dd(MyClass::test1("hello") );
});


    - 사이트 테스트
http://localhost/test

    출력 : "test - hello"


'Code > Web' 카테고리의 다른 글

[php] Thread Safe, Non Thread Safe 차이  (0) 2019.02.15
[라라벨] Trait(트레이트) 사용법  (0) 2019.02.14
[라라벨] 파사드 만들기  (0) 2019.02.14
AWS EC2 인스턴스에 MySql 설치  (0) 2019.02.13
HTTP 상태 코드  (0) 2019.02.12
[html, php] 이스케이프( Escape)  (0) 2019.02.12
Posted by 코덴스

댓글을 달아 주세요