HITTOBITO

仕事

独自 CMS を作る vol.4 – composer の設定

2017年10月11日 

Framework

はじめに

composer を利用して、いくつかの設定行います。

  • class の autoload を利用できるようにします
  • twig など、利用したい機能を利用できるようにします

設定ファイルを書きます

composer の設定ファイルは、/composer.json に書きます。

{
  "autoload":
  {
    "psr-4":
    {
      "core\\":         "chopstick/core/classes",
      "app\\":          "chopstick/app/classes"
    }
  },
  "config":
  {
    "vendor-dir": "chopstick/vendor"
  },
  "require":
  {
    "twig/twig": "1.*",
    "erusev/parsedown": "^1.6"
  }
}

class の Autoloader を利用できるようにする

例えば、クラスを読み込むときに、都度 require するのが面倒なので、クラスを利用するコードを書くと、クラスが自動的に読み込まれるようになるという便利な代物です。

今回は、以下のような設定を書いています。

      "core\\":         "chopstick/core/classes",
      "app\\":          "chopstick/app/classes"

この設定では、php ファイルで、で \core\vire::render(); を実行すると、chopstick/core/classes/view.php ファイルが、自動的に読み込まれるようになります。

twig などを利用するための設定

composer は、利用したいプログラムを自動的に読み込んで、フォルダに配置してくれる機能があります。
配置するフォルダは、以下のように指定します。

"vendor-dir": "chopstick/vendor"

今回は、Twig と Markdown を利用したいので、以下のようにします。

  "require":
  {
    "twig/twig": "1.*",
    "erusev/parsedown": "^1.6"
  }

設定を反映します

composer.json がある、フォルダに移動して、以下のコマンドを実行します。

composer update

以上で、composer が、設定ファイルに従って、環境を構築してくれます。

autoloder を有効する

autoloader 機能を利用したい、php で、autoloder.php を読み込む。

require_once __DIR__ . "/../chopstick/vendor/autoload.php";

さいごに

.htaccess による、リクエストルーターが利用可能になり、composer による、autoloder が利用になりました。これだけでも、フレームワークっぽくなってきました。

  • このエントリーをはてなブックマークに追加
  • このエントリーをはてなブックマークに追加

この記事を書いた人

  • よっしー

    よっしー

    ディレクター (東京支社)

    ディレクター

    (東京支社)

    田畑では愛車トラクターを乗りこなし、米も作る農家が本業というIT系ファーマー、いや、ファーマー系エンジニア? こだわりのあるモノ作りが得意。野菜とWEBの旬な情報はお任せ! 新しい技術やサービスは、まず自ら使ってみる事をモットーにしているプロジェクトマネージャー。WEB制作だけではなく、ネットワーク/サーバー、システム開発まで幅広く網羅。

    田畑では愛車トラクターを乗りこなし、米も作る農家が本業というIT系ファーマー、いや、ファーマー系エンジニア? こだわりのあるモノ作りが得意。野菜とWEBの旬な情報はお任せ! 新しい技術やサービスは、まず自ら使ってみる事をモットーにしているプロジェクトマネージャー。WEB制作だけではなく、ネットワーク/サーバー、システム開発まで幅広く網羅。

この人が最近書いたものを見る

一覧

これを読んだ人にオススメ

ひっとびととは?

WEB制作・プロデュース会社『フューチャーヒット』の人々が趣味などをゆるく紹介するサイトです。
フューチャーヒットの「人々」が自由に、でも真剣に取り組んでいく様子をこの「ひっとびと」を通してお届けしていければと思います。

詳細はこちらから