CentOS7

CentOS7にComposerをインストールしてphpのautoloadを設定する。

 CATEGORY LINUX

commposer公式はコチラ。
phpで何度もrequireやincludeを書かなくていいように、commposerのautoloadの設定をしてきます。想像していたより簡単に設定ができるので、是非チャレンジしてください。
ドキュメントルートを[ /var/www/html/web ]
classを置くディレクトリを[ /var/www/html/web/class ]とします。

composerをインストールします。

EPELリポジトリがない場合は追加します。

yum -y install epel-release

EPELリポジトリを利用してCOMPOSERをインストールします。

yum install --enablerepo=epel composer

以下を入力しバージョン表示がされればインストールは完了です。

composer -v

commposerを設定する

プロジェクトのドキュメントルートへ移動し、[ composer.json ]というファイルを作成します。今回は前述したとおり、[ /var/www/html/web ]とします。

cd /var/www/html/web

[myclass]に名前空間、[./class]にautoloadを行うclassのディレクトリを指定します。

vi composer.json

composer.json

{
  "autoload": {
    "psr-4": {
      "myclass\\": "./class"
    }
  }
}

コマンドを実行します。

composer dump-autoload

classディレクトリにclassを作成します。

monster.php

<?php
 namespace myclass;
 class monster{
   function __construct() {
           print "monster class!";
       }
 }
?>

classを使用したいphpを作成しテストしてみます。今回はindex.phpを作成します。
ブラウザでindex.phpにアクセスし「monster class!」が表示されれば、autoloadの設定は完了です。

index.php

<?php
  require('vendor/autoload.php');
  new myclass\monster();
?>