ferdhika31

Laravel 4 App library using Service Provider and Facade

Aug 4th, 2014
236
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.45 KB | None | 0 0
  1. <?php
  2. //based on: http://fideloper.com/create-facade-laravel-4
  3.  
  4. //-------------------------------------------------------------
  5. // Setting Awal
  6. // - Buat folder library di app/libraries/
  7. // - Update composer.json
  8. //    "autoload": {
  9. //       "classmap": [
  10. //          "app/libraries",
  11. //-------------------------------------------------------------
  12.  
  13.  
  14. //-------------------------------------------------------------
  15. // Contoh class library, misal mau buat library debug kecil2an
  16. // disimpan di: app/libraries/debugger/Debugger.php
  17. //-------------------------------------------------------------
  18.  
  19. <?php namespace Libraries;
  20.  
  21. use DB;
  22.  
  23. class Debugger {
  24.  
  25.     public function dd($var)
  26.     {
  27.         echo '<pre>';
  28.         dd($var);
  29.     }
  30.  
  31.     public function pr($var)
  32.     {
  33.         echo '<pre>';
  34.         print_r($var);
  35.         die;
  36.     }
  37.  
  38.     public function prQuery()
  39.     {
  40.         $this->pr(DB::getQueryLog());
  41.     }
  42.  
  43.     public function ddQuery()
  44.     {
  45.         $this->dd(DB::getQueryLog());
  46.     }
  47.  
  48. }
  49.  
  50. //-------------------------------------------------------------
  51. // buat Service Provider untuk library diatas
  52. // disimpan di: app/libraries/debugger/DebuggerServiceProvider.php
  53. //-------------------------------------------------------------
  54.  
  55. <?php namespace Libraries;
  56.  
  57. use Illuminate\Support\ServiceProvider;
  58.  
  59. class DebuggerServiceProvider extends ServiceProvider {
  60.  
  61.     public function register()
  62.     {
  63.         $this->app->bind('Debugger', function()
  64.         {
  65.             return new Debugger;
  66.         });
  67.     }
  68. }
  69.  
  70. //-------------------------------------------------------------
  71. // buat Facade untuk library diatas
  72. // disimpan di: app/libraries/debugger/DebuggerFacade.php
  73. //-------------------------------------------------------------
  74.  
  75. <?php namespace Libraries\Facades;
  76.  
  77. use Illuminate\Support\Facades\Facade;
  78.  
  79. class Debugger extends Facade {
  80.  
  81.     protected static function getFacadeAccessor()
  82.     {
  83.         return 'Debugger';
  84.     }
  85. }
  86.  
  87. //-------------------------------------------------------------
  88. // Daftarkan ServiceProvider dan Facade di app/config/app.php
  89. // > service provider: 'Libraries\DebuggerServiceProvider'
  90. // > facade: 'Debugger' => 'Libraries\Facades\Debugger'
  91. // update autoload composer dengan command: composer dump-autoload
  92. //-------------------------------------------------------------
  93.  
  94. // Selesai.
  95. // Gunakan dimana saja secara statis, misal:
  96. Debugger::pr($Input::all());
  97. Debugger::ddQuery();
Add Comment
Please, Sign In to add comment