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(); ?>