こんにちは 開発部山田です。
ちょっと色んなフレームワークを試して検証したいことが出てきたので、今回から数回に分けてフレームワークの導入と実装、検証等で気付いたことを挙げていければと思います。
とは言うものの前準備が全く出来てなかったのでまずは各FWのインストールや管理ツールを用意することからかなと…そこでまず入れておいたのがComposerですね…というかこれ入れないと全然先に進めなかった..
色々と調べたことを整理するためにもここで一旦まとめておきます。
Composerとは
PHPプログラミング言語向けのソフトウェアおよび必要なライブラリの依存関係を管理する標準形式を提供するアプリケーションレベルのパッケージ管理システムである。(wikkipedia抜粋)
ということで、PHPでのアプリケーション開発に必要なライブラリを管理するツールです。コマンドライン上から実行し、各種ライブラリのインストールや管理で使用するツールになります。
パッケージ管理が用意でることからgitやpearより好まれる傾向にあるみたいです。PHPではデフォルトでpearがインストールされてますが、、、
pear -> インストールしたパッケージがOS全体に反映される
composer -> インストールしたパッケージがプロジェクト単位で反映される
ですのでパッケージの影響がディレクトリ内で完結できるため、composerの方が使い勝手が良いかと思います。
あとはcomposerでインストールしたパッケージは、
includeやrequireを記述せずにクラスが読み込める(クラスオートローディング機能)
というところが利点でしょうか。
今回はさまざまなフレームワークのインストールを試行してみますが、フレームワークの定番CakePHPの公式インストールガイドにもComposerを使用したインストールが進められています。
(参考)
Composerに対応するフレームワーク[編集]
Symfony バージョン 2 以降
Laravel バージョン 4 以降
CodeIgniter バージョン 3.0 以降
CakePHP バージョン 3.0 以降
FuelPHP バージョン 2.0 以降
Drupal バージョン 8 以降
Composerのインストール
ではComposerのインストールをしてみたいと思います。
実行環境は下記のとおりです。
OS: Mac OS X Yosemite (ver10.10.5)
さて、やってみましょう。
①composerをダウンロード
$ curl -sS https://getcomposer.org/installer | php
------ログ Some settings on your machine may cause stability issues with Composer. If you encounter issues, try to change the following: The OpenSSL library (0.9.8zc) used by PHP does not support TLSv1.2 or TLSv1.1. If possible you should upgrade OpenSSL to version 1.0.1 or above. Downloading... Composer successfully installed to: /Users/h.nakajima/composer.phar Use it: php composer.phar
私のmacはどうやらOpenSSLのバージョンが古いみたいです。。。。
※今回は関係ないので読み飛ばします
②バイナリファイルをパスの通った場所にコピー
$ mv composer.phar /usr/local/bin/composer
mv: rename composer.phar to /usr/local/bin/composer: Permission denied
パーミッションで怒られたのでsudoで実行
$ sudo mv composer.phar /usr/local/bin/composer
では、動くか確認します。
$ composer -V
Composer version 1.1.2 2016-05-31 19:48:11
とまぁ動いてるみたいです。
composerのインストールだけでは物足りないので、、、このままcakePHPもインストールしてみましょう。
③composerを使ってcakePHPをインストール
php composer.phar create-project --prefer-dist cakephp/app first_my_app
※ここではfirst_my_appというディレクトリにインストールしています。
composerをインストールすると/first_my_app配下にcomposer.jsonというファイルが生成されますね。
viewでファイルの内部を確認してみると下記の様な記述が見られます。
"require": { "php": ">=5.5.9", "cakephp/cakephp": "~3.3", "mobiledetect/mobiledetectlib": "2.*", "cakephp/migrations": "~1.0", "cakephp/plugin-installer": "*" },
このJSONファイルで依存関係などを記述していくようです。
ちなみに上記の記述は php composer.phar update と実行するたびに、デフォルトのバージョン制約 ~3.3 を使って最新の安定リリース版が手に入ります。 アップデート時には、3.x 系のバグ修正とマイナーバージョンアップだけが適用されます。
ここからプロジェクトファイルの立ち上げやサンプルプログラムの実装までが長そうなのですが、とりあえず今日はここまで…