*

composerでcakephpをインストールしてプロジェクトを始めてみる

logo-composer-transparent

こんにちは!今日も寒いです。
この時期になると気になってくるのが花粉症です。
自分は花粉症なのでちょっと早めに薬を飲み始めてます。
早い時期に飲み始めるだけでも効果があるようですよ。

さて今回は、composerを使ってcakephpをインストールしてプロジェクトを始める、ということをやってみます。
cakephpを入れたはいいけどバージョン管理が面倒だったり、プラグインのバージョン管理が大変だったり、そういった手間をcomposerが引き受けてくれます。

Composer
https://getcomposer.org/

cakephpをインストールするのも楽だし、その運用も楽になるということらしいです。
さっそくその手順をお伝えします。

1.ディレクトリを用意する

まずはディレクトリを用意します。
そしてそのディレクトリに移動します。

2.composerを導入

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

ターミナルで1.で作ったディレクトリにアクセスし、上記をコマンドラインで叩くと、以下のようなメッセージが出て、ディレクトリ内にcomposer.pharファイルができます。

#!/usr/bin/env php
All settings correct for using Composer
Downloading…
Composer successfully installed to: /www/cake/composer.phar
Use it: php composer.phar

3.jsonに依存関係を記述する

jsonファイルを新規作成して、composer.pharと同じ階層に配置しましょう。
pearレポジトリにcakephpが入っているので、それを参照します。
ここでは名前を”cake-app”としています。

{
    "name": "cake-app",
    "repositories": [
        {
            "type": "pear",
            "url": "http://pear.cakephp.org"
        }
    ],
    "require": {
        "pear-cakephp/cakephp": "2.4.*",
        "cakephp/debug_kit": "2.2.*"
    },
    "config": {
        "vendor-dir": "Vendor/"
    }
}

上記ができたら「composer.json」と名前をつけて1.のディレクトリにいれておきます。

4.composerをインストール

$ ./composer.phar install

実行するとこんなメッセージが出ると思います。
Loading composer repositories with package information
Initializing PEAR repository http://pear.cakephp.org
Installing dependencies (including require-dev)
– Installing composer/installers (v1.0.9)
Loading from cache

– Installing pear-pear.cakephp.org/cakephp (2.4.5)
Loading from cache
– Installing cakephp/debug_kit (2.2.2)
Loading from cache

Writing lock file
Generating autoload files

「Vendor」「Plugin」というディレクトリ、それと「composer.lock」というファイルができます。
Vendorの中にCakePHP本体が入っています。
これでいったんcakephpのインストールは完了です。

5.cakephpをbakeしてプロジェクトを作成

ここまでできたらbakeしてプロジェクトを作成してみましょう。

$ ./Vendor/bin/cake bake --app app

Welcome to CakePHP v2.4.5 Console
—————————————————————
App : app
Path: /www/app/
—————————————————————
Skel Directory: /www/cake/vendor/pear-pear.cakephp.org/CakePHP/Cake/Console/Templates/skel
Will be copied to: /www/cake
—————————————————————

Warning Errorとか出ますが、コピーするかどうか聞かれてます。
分からないときは「y」で次に進みましょう。

—————————————————————
Created: app in /www/app
—————————————————————
* Random hash key created for ‘Security.salt’
* Random seed created for ‘Security.cipherSeed’
* Cache prefix set
* app/Console/cake.php path set.
CakePHP is not on your `include_path`, CAKE_CORE_INCLUDE_PATH will be hard coded.
You can fix this by adding CakePHP to your `include_path`.
* CAKE_CORE_INCLUDE_PATH set to /www/cake/vendor/pear-pear.cakephp.org/CakePHP in webroot/index.php
* CAKE_CORE_INCLUDE_PATH set to /www/cake/vendor/pear-pear.cakephp.org/CakePHP in webroot/test.php
* Remember to check these values after moving to production server
Project baked successfully!

地味に面倒なsecurity.saltや、security.cipherseedにもランダム対応してくれています。

Your database configuration was not found. Take a moment to create one.
—————————————————————
Database Configuration:
—————————————————————
Name:
[default] >

データベース関係の情報は、接続に必要な情報をそのまま打ち込んでください。
DBのホスト名(サーバ名)、ユーザ、パスワード、DB名、テーブルのエンコーディング等です。

※さくらインターネットのレンタルサーバで、マルチドメインでcakephpを使う際は、.htaccessを編集する必要があります。詳しくはこちらの記事をご覧ください。

6.DebugKitを入れる

すでにDBまで作られているので、Cakephpとしては完了してますが、ここまでで画面を見ると、DebugKitが入ってないよ、とメッセージが出るので、DebugKitも入れましょう。

app/Config/bootstrap.php に追記

CakePlugin::load('DebugKit');

今のままだとDebugKitがRoot/Pluginに入っているので、app/Pluginに移します。

$ mv Plugin/DebugKit/ app/Plugin/DebugKit/

これで画面を見るとオールグリーンになってると思います。

CakePHP  the rapid development php framework  Home

これですぐにcakephpが使えますね!

※本当はINCLUDE_PATHを変える必要があるようですが、取りあえず動作するところまで今回は説明しました。

Google AD


Message

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

no image

moodleをインストールしてみた

Eラーニングの話題が上がったので、調査のためMoodleをインストールしてみました。 1.

記事を読む

さくらインターネットでPEAR::MDB2とServices_Amazonを入れてみた

前回の続きで、PEAR::MDB2と、Services_Amazonをさくらインターネットに

記事を読む

【今さら】ブラインドタッチができるようになるまでにやった3つの事【もういいでしょ】

過去、仕事で一緒になった人がブラインドタッチが苦手だということがありました。 両手の人差し

記事を読む

ログインアカウント

cakephpでviewからログイン判定してアカウント表示する機能

cakephpのログイン機能を、viewから判定させたかったので調べてみました。 よく

記事を読む

no image

google translate

もうね、すごいとしか。http://www.google.com/webelements/#!/tr

記事を読む

no image

facebookのビジョンはセマンティックか – ライフログとopen graph

facebookが開発者カンファレンス(f8)でアップデートを発表した。 「また何か機能付

記事を読む

no image

postgresqlのvacuumでビビった件

ある日突然、サービスが落ちていると連絡を受けました。 URLにアクセスしてみると、確かにサ

記事を読む

no image

JQueryのsliderでpagination機能を作ってみた

複数ページが存在するWEBサイトによく使われている機能として「ページネーション」があります。

記事を読む

PHP:GDでテキストの画像合成アプリ作った

前回のNO MUSIC, NO LIFE.メーカーに続き、テキストを入力して画像化するアプリ

記事を読む

【アフィリエイト】WordPressプラグイン「AmazonJS」をインストールしてみました

ずん飯尾という芸人さんがいます。 中でも「現実逃避シリーズ」がプチブレイクしていて、現実離

記事を読む

Google AD

Google AD

PAGE TOP ↑