facebook twitter hatena line email

Php/composer/psr-4

提供: 初心者エンジニアの簡易メモ
移動: 案内検索

psr-4とは

クラスをオートローディングするための仕様

composer.jsonに以下追加

{
    "autoload": {
      "psr-4": {
        "myapp\\": "src/"
      }
    }
}

composer更新

$ composer update

サンプル

以下のようにrequire_once不要で読み込める

src/MainService.php

namespace myapp;
class MainService
{
    public function execLogic()
    {
         $sub = new SubService();
         $sub->execLogic();
    }
}

src/SubService.php

namespace myapp;
class SubService
{
    public function execLogic()
    {
    }
}

外部クラス読み込み

{
   "autoload": {
       "classmap": [
           "database",
           "/var/www/html/Hoge"
       ],
       "psr-4": {
           "App\\": "app/"
       }
   },
}