facebook twitter hatena line email

「Php/laravel/laravel5/facade」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(ページの作成:「==facadeについて== laravelのfacadeの使い方について ==実装== vi app/Services/Animal.php namespace App; class Animal { private $_name = "animal";...」)
(相違点なし)

2016年8月8日 (月) 05:28時点における版

facadeについて

laravelのfacadeの使い方について

実装

vi app/Services/Animal.php

namespace App;
class Animal
{
   private $_name = "animal";
   public function setName($name)
   {
        $this->_name = $name;
   }
   public function getName()
   {
        return $this->_name;
   }
}

vi app/Facades/Animal.php

namespace App\Facades;
use Illuminate\Support\Facades\Facade;
class Animal extends Facade
{
   protected static function getFacadeAccessor() {
       return 'animal';
   }
}

vi config/app.php

'providers' => [
    App\Providers\AnimalServiceProvider::class,

実行

controllerとかで

\App\Facades\Animal::setName("dog");
echo \App\Facades\Animal::getName(); // dog

別のlogicに移動して以下を実行しても同じインスタンスが呼ばれるsingleton的な動き

echo \App\Facades\Animal::getName(); // dog