Help us understand the problem. What is going on with this article?

Larave Facadeの使い方

ファサードとは

ファサードとは、コンテナを通じてオブジェクトにアクセス方法を提供するクラスのことです

公式サイト

https://readouble.com/laravel/5.5/ja/facades.html

制作物のゴール

Hogeファサードの作成
hogehpgeを出力する

サービスプロバイダーの作成

$ php artisan make:provider HogeServiceProvider
Provider created successfully.

hogeクラスの登録

app/Providers/HogeServiceProvider.php
    public function register()
    {
        $this->app->bind(
          'hoge',
          'App\Http\Compornents\Hoge'
        );
    }

bind()メソッドの第一引数にはいわゆる識別子としての名前を記載する
第二引数には、対象となる独自処理クラスであるHogeクラスを渡します。
今回の設置箇所はApp\Http\Compornents\Hogeとする。

ファサードクラスの作成

laravel/app 配下にFacadesディレクトリを作成し、その中にHoge.phpを作成

コンポーネントの登録名を取得する為のアクセサーgetFacadeAccessor()メソッドを以下のように定義します。

app/Facades/Hoge.php
<?php
namespace App\Facades;

use Illuminate\Support\Facades\Facade;


class Hoge extends Facade
{
  protected static function getFacadeAccessor() {
    return 'hoge';
  }
}

独自処理クラスの作成

laravel/app/Http 配下に Components ディレクトリを作成し、その中にHoge.phpを作成

app/Http/Components/Hoge.php
<?php
namespace App\Http\Components;

class Hoge
{
  public function echoHoge()
  {
    return 'HOGEHOGE';
  }
}

サービスプロパイダーとエイリアスの登録

config/app.php
<?php

return [
    'providers' => [

        App\Providers\HogeServiceProvider::class,

    ],

    'aliases' => [

        'Hoge' => App\Facades\Hoge::class,

    ],

];

tinkerで動作確認

$ php artisan tinker
Psy Shell v0.9.12 (PHP 7.3.13 — cli) by Justin Hileman
>>> Hoge::echoHoge();
=> "HOGEHOGE"
>>> 
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした