joppot

コピペで絶対動く。説明を妥協しない

サーバ

cakephp2系にphpunitとDebugkitをcomposerを使って最速で導入する

投稿日:2014年12月23日 更新日:

Pocket

rjiioj

概要

みなさんこんにちはcandleです。今回はcakephp2.4以降でphpunitとdebugkitをcomposerを使って導入してみたいと思います。
cakephpは標準でphpunitを使ってテストをします。

導入を簡単に素早くやってみましょう。
今まではpearや手動でやっていたのですが、これがcomposerを使う事で簡単に出来る様になりました。

前提

cakephp2.4以降のプロジェクトがある
私は最新のcakephp2.5.6を使用します。

composerがインストールされている

SPONSORED LINK


composer.jsonを確認する

cakephpプロジェクトにcomposer.jsonがあるか確認します。
これは自分で作成するのではなく、標準で準備されています。

jsoncomposer

composer.jsonの中身をエディタで見て、phpunitのバージョンが3.7あたりである事を確認します。

これは他の記事にあったのですが、cakephp2.4~2.5あたりではまだphpunit3.7.*でないと動かないらしく、それ以降のバージョンだとエラーがでるとか。

composer.jsonには既に「3.7.*」と記入されています。

phpunitversion37


composerのインストール先を変更する

composerのライブラリのデフォルトの保存先はvendorです。
何も設定しないでライブラリをインストールするとvendorフォルダが作成されてそこに保存されます。

しかし、cakephp2.5.6ではあらかじめ「vendors」というフォルダが用意されています

vendoersisgood

composer.jsonを編集してvendorsに保存する様に設定します。

composer.json開き、最初の { 内ならてどこでも良いので下の記述を加えます。

  "config": {
      "vendor-dir": "vendors"
  },

私はlisenceの項目の下の記述しています。

composervendeorpathset

次にプラグインの保存先を変更します。composerでプラグインを特に設定しないでインストールすると、Pluginというフォルダが作られて、今回の場合ですとdebugkitがそこに保存されます。

cakephp2.5.6ではすでにpluginsというフォルダが用意されているので、そちらに保存される用に設定します。

pluginsfolder

下の記述をcomposer.jsonに加えてください。場所はどこでも良いのですが、私は
require_devの当たりに書きます。

 "extra": {
    "installer-paths": {
      "./plugins/{$name}/": [
        "cakephp/debug_kit"
      ]
    }
  },

pgluinpathdebugkit

これでcomposerの設定が終わりました。

phpunit3.7.*とdebugkitをインストールする

それではphpunitとdebugkitをインストールしてみましょう。

composer.jsonがあるフォルダで下のコマンドを実行します。

composer install

するとcomposer.jsonをもとに自動的にライブラリがインストールされます。

注釈として、/var/www/などにcakephpを配置し、フォルダ管理者をapacheにしている場合は権限関係でインストールできません。そこで、一度下のコマンドで管理者をログインユーザーに変更してから上のcomposer installを実行してください(インストールができたらかならず管理者をapacheに戻してください)。

sudo chown -R `whoami` /var/www/cakephp/
composer install
sudo chown -R apache /var/www/cakephp/

installphpunit

vendorsフォルダの中にphpunitが保存されます。

cakephpphpunitvendors

インストールが終わると、cakephpプロジェクトにvendorsというフォルダにphpunitが保存されます。
そして、pluginsの中にdebugkitが保存されます。

これでインストールは終わりました。

debugkitの読み込み設定をする

pluginsに保存されたdebugkitを読み込む為にapp/Config/bootstrap.phpを開きます。
どこでもよいので、下の一行を加えましょう。

CakePlugin::load('DebugKit');

loaddebugkit
これでdebugkitが呼び出されます。

テスト画面にアクセスして確認する

確認する為にapacheサーバを起動して、テストページに飛びましょう。

sudo service httpd start

まずはトップページに行きます。
もしも、debugkitの項目が緑色になっていれば正常に呼び出されています。

safepagesatus

テストページはだいたい

http://IPアドレスかホスト名/test.php

でアクセスできます。

nonerrortestpage

エラーが出ていなければ成功です。
phpunitが導入できました。

まとめ

composerはやっぱり便利ですね。

スポンサードリンク

「為になったなぁ」と思ったら、シェアお願いします。

-サーバ
-, ,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

AMIMOTO AMIのnginx上でvirtual hostを設定してphpサービスをリリースする

概要 みなさんこんにちはcandleです。今回はAMIMOTO AMIのnginx上でバーチャルホストを使う場合の設定をやってみたいと思います。 AMIMOTO AMIは高速でwordpressを作成 …

redmineにclose button pluginを入れて終了したチケットをボタン1つで閉じる

概要 みなさんこんにちはcandleです。今回はとても便利なチケットを終了させるボタンを、表示できるプラグンの導入の仕方を紹介します。 チケットは一般に以下のコマンドのみチケット詳細で表示されています …

wordpress skeletonをnginx の本番環境でfabricを使って運用してみる

はじめに みなさんこんにちはcandleです。今回はskeletonを使用してwordpressを開発している時に、それを本番環境でどう使うかを試してみたいと思います。 本番環境はローカルのvagra …

wordpressのカテゴリーを削除する

概要 みなさんこんにちはcandleです。卒論が忙しくて、ブログの更新ができませんでした。まだ、全て終わったわけじゃありませんが、ちょくちょく更新していきます。 今回はwordpressのカテゴリー削 …

fluentdでrails logをtailで直接取得する方法

概要 追記) この記事はだいぶ古くなってしまったので、新しく書き直しました。 こちらの方を参照した方が多分良いことが書いてあります。 https://joppot.info/2017/03/17/35 …

  • English
  • 日本語

プロフィール


ベンチャー企業のCTOをやってます。大学時代にプログラミングを始め、javaから入門し、C++へて、PHPへと進み、会社ではRailsを使用。自動化が大好きなプログラマー

スポンサードリンク

アーカイブ