facebook twitter hatena line email

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

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(ページの作成:「==facadeについて== laravelのfacadeの使い方について ==実装== vi app/Services/Animal.php namespace App; class Animal { private $_name = "animal";...」)
 
行39: 行39:
 
別のlogicに移動して以下を実行しても同じインスタンスが呼ばれるsingleton的な動き
 
別のlogicに移動して以下を実行しても同じインスタンスが呼ばれるsingleton的な動き
 
  echo \App\Facades\Animal::getName(); // dog
 
  echo \App\Facades\Animal::getName(); // dog
 +
 +
==参考==
 +
https://laravel10.wordpress.com/2015/04/27/%E3%83%95%E3%82%A1%E3%82%B5%E3%83%BC%E3%83%89/

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

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

参考

https://laravel10.wordpress.com/2015/04/27/%E3%83%95%E3%82%A1%E3%82%B5%E3%83%BC%E3%83%89/