localdisk

PHP とか Java とか Web とか好きなことを書きます。

CakePHPer のための Laravel 入門 - インストール

CakePHP のブログチュートリアルを Laravel で実装してみました。手順をなるだけ詳細に説明します。CakePHPer で Laravel に興味を持っている人に参考になれば幸い。

Laravel のインストール

必要なもの

laravelja.phar

Laravel のインストーラー phar ファイルをダウンロードします。

  1. @HiroKwsさんの作成したインストーラー日本語版をダウンロードします
    1. laravel.phar
  2. ターミナルで以下のコマンドを実行します。
    1. $ php laravelja.phar new -l ja -s cake-to-laravel
    2. すると cake-to-laravel というディレクトリの下に Laravel がインストールされます。
    3. phar ファイルでのインストールは Composer のそれと比べて早いのと日本語化されたメッセージファイルがインストールされるのでおすすめ。
  3. インストールされた Laravel は最新版ではない(4.2.1)ので composer update します。
    1. $ composer update
    2. これで 4.2.7 にバージョンアップされます (2014/08/02 現在)
    3. 川瀬さんが対応してくれました!ブログ書いててよかった!

環境を設定する

Laravel も他のフレームワークと同じく手軽に複数の環境を扱うことができます(local / testing / staging / production) 。環境の設定は cake-to-laravel/bootstrap/start.php 内の $app->detectEnvironment で行います。デフォルトの環境は production です。環境はホスト名で決定します。 例外として* は全てに当てはまります。今回は local に設定します。cake-to-laravel/bootstrap/start.php を以下のように設定してください。

<?php
$env = $app->detectEnvironment(array(
    'production' => array('production.host'), // production のホスト名
    'staging'    => array('staging.host'),  // ステージングのホスト名
    'local'      => array('*'),  // それ以外はローカル
));

開発中は local に設定しておきましょう。

設定ファイルについて

Laravel の設定ファイルは app/config にあります。この下に環境名(今回の場合は local)の名前のついたディレクトリを作成し、オーバーライドしたい同名の設定ファイルを設置することによって、環境ごとの設定を行うことができます。

必須パッケージをインストールする

以下2つのパッケージをインストールします。

composer.json を編集

cake-to-laravel の直下の composer.json を以下のように書き換えてください。コピペでOK。

{
    "name": "laravel/laravel",
    "description": "The Laravel Framework.",
    "keywords": ["framework", "laravel"],
    "license": "MIT",
    "require": {
        "laravel/framework": "4.2.*"
    },
    "autoload": {
        "classmap": [
            "app/commands",
            "app/controllers",
            "app/models",
            "app/database/migrations",
            "app/database/seeds",
            "app/tests/TestCase.php"
        ]
    },
    "require-dev": {
        "barryvdh/laravel-ide-helper": "1.*",
        "way/generators": "dev-master"
    },
    "scripts": {
        "post-install-cmd": [
            "php artisan clear-compiled",
            "php artisan optimize"
        ],
        "post-update-cmd": [
            "php artisan clear-compiled",
            "php artisan ide-helper:generate",
            "php artisan optimize"
        ],
        "post-create-project-cmd": [
            "php artisan key:generate"
        ]
    },
    "config": {
        "preferred-install": "dist"
    },
    "minimum-stability": "stable"
}

app.php を編集

cake-to-laravel/app/config/app.phpproviders の配列に以下を追加します。

<?php
return array(
    'providers'       => array(
        ・・・
        'Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider',
        'Way\Generators\GeneratorsServiceProvider',
    ),
);

ファイルを編集したら $ composer update してください。

動作確認

では、Laravel の動作確認をしてみましょう。ターミナルで以下のコマンドを入力して下さい。

$ php artisan serve

すると

Laravel development server started on http://localhost:8000

とターミナルに表示されると思います。ブラウザから http://localhost:8000 にアクセスしてみてください。

f:id:localdisk:20140803034528p:plain

上記画面が、ブラウザに表示されれば正常に処理されています。

続く!