cakephp + composer を試す

2014/07/11 | 開発記録 | hideichi

色々なサイトを見ていると、
そもそもcakephp自体を、composerでインストールしよう。
みたいな流れになっている。
それが一番composerらしいやり方なんだろうけど、エラーでまくりで上手くできませんでした。
たぶんパス関係のエラーなんだろうけど、調べるのが面倒で調べてない。

このパスを、こう変えました。
っていう作業手順書みたいなの、書かなきゃいけないじゃん。
意味ないじゃん。やーめた。
もうちょっと、こなれてきてから考えよう。

と思ったら、最新のcakephpにcomposer.jsonって、最初からあるじゃないですか。
じゃあこれ、そのまま使ったらええんじゃないの?
というわけで、以下のようにやったら、まあ一応できました。

1) cakephpダウンロード
version 2.5.2

mkdir test
git clone https://github.com/cakephp/cakephp.git test

2) composer ダウンロード

cd test
curl -sS https://getcomposer.org/installer | php

3) composer インストール

php composer.phar install

基本的に以上で終わり。

4) インストールされているパッケージを表示する

php composer.phar show -i

現在composerで管理しているリストを出してくれる。
json見れ、って話だとは思うが、こっちの方が見やすいかも。

5) composer アップデート

php composer.phar update

composer.jsonを書き換えたら、アップデートする。
追加しても、削除しても、とにかく変えたらアップデートすれば良いらしい。

試しに composer.json を書き換えてやってみる。

{
     "name": "cakephp/cakephp",
     "description": "The CakePHP framework",
     "type": "library",
     "keywords": ["framework"],
     "homepage": "http://cakephp.org",
     "license": "MIT",
     "extra": {
    "installer-paths": {
      "app/Plugin/Migrations": ["cakedc/migrations"],
      "app/Plugin/Users": ["cakedc/users"],
      "app/Plugin/Search": ["cakedc/search"],
      "app/Plugin/Utils": ["cakedc/utils"],
      "app/Plugin/DebugKit": ["cakephp/debug_kit"]
         }
    },
     "authors": [
          {
               "name": "CakePHP Community",
               "homepage": "https://github.com/cakephp/cakephp/graphs/contributors"
          }
     ],
     "support": {
          "issues": "https://github.com/cakephp/cakephp/issues",
          "forum": "http://stackoverflow.com/tags/cakephp",
          "irc": "irc://irc.freenode.org/cakephp",
          "source": "https://github.com/cakephp/cakephp"
     },
     "require": {
          "php": ">=5.2.8",
          "ext-mcrypt": "*",
          "cakedc/migrations": "2.2.*",
          "cakedc/users": "2.0.*",
          "cakedc/search": "2.2.*",
          "cakedc/utils": "1.4.*",
          "cakephp/debug_kit": "2.2.*@dev"
     },
     "require-dev": {
          "phpunit/phpunit": "3.7.*",
          "cakephp/debug_kit" : "2.2.*"
     },
     "bin": [
          "lib/Cake/Console/cake"
     ]
}

6) autoloader 設定
bootstrap.php の後ろに追記。

// composerのautoloadを読み込み
require ROOT . '/vendor/autoload.php';

// CakePHPのオートローダーをいったん削除し、composerより先に評価されるように先頭に追加する
// https://github.com/composer/composer/commit/c80cb76b9b5082ecc3e5b53b1050f76bb27b127b を参照
spl_autoload_unregister(array('App', 'load'));
spl_autoload_register(array('App', 'load'), true, true);
CakePlugin::loadAll();

これ要らないと思ってた。
上記のアップデートを自動でやる奴なのかと思ってたから。

クラスオートローディング機能とはPHP5.3から本格的に利用され始めた機能で、requireやincludeを記述することなく、クラスが使われているとそれに応じたファイルを自動的に読みこむ機能です。

http://codezine.jp/article/detail/7827

すげえじゃんw
これ採用w

公式に載ってたPATHだと動かなかった orz

http://book.cakephp.org/2.0/ja/installation/advanced-installation.html
require APP . ‘Vendor/autoload.php’;

http://php-tips.com/2014/02/08/cakephp2-composer-install/
require ROOT . ‘/vendor/autoload.php’;

後は、cakephpのお約束設定など。

前の記事:

次の記事:

2014/07/11 | 開発記録

コメント/トラックバック

トラックバック用URL:

この投稿のコメント・トラックバックRSS




管理人にのみ公開されます

前の記事:

次の記事:

kusanagi,baserCMSのドメイン変更手順
kusanagi,baserCMSのドメイン変更手順

baserCMSって書いたけど、cakephp2系も同じだと思う。 s...

baserCMS プラグイン・テーマの仕上げ作業
baserCMS プラグイン・テーマの仕上げ作業

プラグインとかテーマとか作って、 あーできたー、の後に最後にやる仕上げ...

no image
love-beer

諸君、私はビールが好きだ 諸君、私はビールが好きだ 諸君、私はビールが...

no image
原宿の床屋

世田谷区経堂すずらん通りの入り口。 それは、私が新潟の片田舎から上京し...

sakura VPS512 kusanagiにbaserCMSを引越する
sakura VPS512 kusanagiにbaserCMSを引越する

いきなり結論 ・kusanagiインストール簡単 ・はっきり速い それ...

→もっと見る

PAGE TOP ↑