FuelPHP 1.xのモデルファイルをPSR準拠に変更する

FuelPHP 1.xではファイル名はすべて小文字という規約があるのですが、モデルのファイル名をやっぱりStudlyCapsにしたくなったので変更してみました。

今回は、FuelPHPの通常のモデルを配置するclasses/modelはそのままに、別にclasses/Domainフォルダを作成し、その下だけを対象とします。

composer.jsonの変更

プロジェクトトップのcomposer.jsonにautoloadを追加します。

以下は、モジュールMymoduleのDomainフォルダ以下をPSR-4に指定しています。

    "autoload": {
      "psr-4": {
          "Mymodule\\Domain\\": "fuel/app/modules/mymodule/classes/Domain/"
      }
    }

composer.jsonを変更したので、ComposerのAutoloaderを更新します。

$ composer dump-autoload

これで準備OKです。

クラス名とそのファイル名

fuel/app/modules/mymodule/classes/Domainフォルダ以下はPSR-4に従ってオートロードできるようになっています。ファイル名とクラス名の大文字小文字を一致させることができ、CampaignRepositoryクラスのようなクラス名が使えます。

例えば、\Mymodule\Domain\Specification\OpenCampaignSpecificationクラスなら、ファイルは

  • app/modules/mymodule/classes/Domain/Specification/OpenCampaignSpecification.php

になります。

Date: 2014/06/17

Tags: fuelphp