CENTOS 備忘録 | メシのタネ

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

【CentOS】Composerを使ってオートロードする方法

 2014/07/17

Composer入れたら1回requireしたらもう大丈夫って
前の記事で書きましたけど、自分で定義したクラスや
ファイルをオートロードする方法を今日は書きます。

クラスをComposerでオートロードする方法

classmapを定義する方法と、
PSRの仕様に基づいて定義する方法とがあります。
PSRの仕様でやると名前空間の解決とかが出来て便利です。
特に自分が開発するレベルでクラス名が被る事は無さそうなので
分かりやすいclassmapでの定義方法を書いていきます。

でも、PSRのやり方わかり易く載ってるとこあるので
エントリー紹介しておきます。

ComposerでPSR-4仕様のオートロードを設定する

composer.jsonに追記

composer initが終わったcomposer.jsonがあると過程します。
composer initについては、こちらの記事を見てください。

composer.jsonにオートロードに追加するということと、
オートロードするクラスを追加していきます。
オートロードしたいファイルがあれば追加します。


    "autoload": {
        "classmap": ["lib/Foo.php"],
        "files": ["src/functions.php"]
    }

こうやってcomposer.jsonを編集したのち
このコマンドを打ちます。


composer dumpautoload

そしたらvendor/composer/autoload_classmap.phpのreturn arrayの中身が
何にも無い状態から、クラス名=>pathの様な連想配列に変わってると思います。

vendor/composer/autoload_classmap.phpも同様に、return arrayの中身に
pathが追加されていると思います。

autoloadする

これらを確認した後ドキュメントルートのindex.phpに


require "vendor/autoload.php";

してやれば、classmapで定義したクラスと
functions.phpに定義した関数を使う事ができます!


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

コメント

"【CentOS】Composerを使ってオートロードする方法"
でメシのタネのおすすめを検索したよ!

プログラミング備忘録 | メシのタネ