Laravel4.1、インストーラー日本語版

タグ: Laravel4  

(追記:オリジナルは混んできて、時間によりかなり時間がかかるようになってしまいました。日本語版は、回線が制約されているらしく、数分かかるようになりました。)

Laravel4のインストーラーでコメントを日本語に訳したインストールリポを利用したバージョンを取り込めるようにした改造版を公開しています。(取得先を変更しました。)

ダウンロードしたら、実行パスの通っているディレクトリーにコピーして下さい。名前はお好きなものでどうぞ。

いくらか仕様を変更しましたので、改めて紹介します。

コマンド

  • new 新しくZIPをダウンロードし展開します。改造版では、さらにkey:generate Artisanコマンドを実行し、ホームディレクトリー下の.laravel.install.conf.phpファイルに従い、設定ファイル/言語ファイルを書き換えます。この機能をつかって、'local'実行環境のホスト名を自動的にセットすることもできます。(後述のサンプルをご覧ください。)
  • set 既に存在するプロジェクトディレクトリーに対して、処理を行います。アプリケーションキーの作成は行いませんが、.laravel.install.conf.phpファイルの設定は自動的に適用します。
  • selfupdate インストーラーを更新します。

使用法

オプションの使い方を紹介します。

公式英語版からのインストール

laravelja new インストールパス

日本語版のインストール

コメントを日本語に翻訳したバージョンを元にしたバージョンを取得します。初心者向きです。

laravelja new -l ja インストールパス

757パーミッションをapp/storage下のディレクトリーに付加

laravelja new -s インストールバス

routes.php、fileters.php、設定/言語ファイルのコメントを外す

慣れてくるとコメントが多いことが、かえって邪魔になります。そのため、削除できるようにしてあります。

laravelja new -r インストールパス

vendor以外のPHPファイルのコメントを外し、mdファイルを削除する。

-rオプションより、徹底的に削除します。readmeなどのmdファイルも削除します。

laravelja new -m インストールパス

ベテランさん向け

日本語の言語ファイル(app/lang/jaを含む)を取り込み、app/storage下のディレクトリーに757をセットし、vendor以外のPHPファイルのコメントを外し、mdファイルも削除する例です。

laravelja new -l ja -s -m インストールパス

ZIPファイルの読み込み先指定

オリジナルなZIPファイルを指定し、インストールすることも可能です。

laravel new インストールパス -f ZIPファイル

例:

laravel new new-project -f http://example.com/special.zip

好みのオプションで、シェルのエイリアスを切っておくのが便利ですね。

alias='laravel new -m -s -l ja'

既存のプロジェクトへの適用

git cloneで取り込んで、composer installする方を好む人もいるでしょうし、お好みのディレクトリー構造を保存している人もいるでしょう。

そうした既存のプロジェクトに対し、--remove-comments、--minify、--set-modeを適用することができます。コマンドはsetです。

    laravel set プロジェクトディレクトリー -m -s -l ja

この場合の言語指定は、表示メッセージの切り替えです。

なお、setでは--fromオプションは当然使用できません。

laraveja.pharのアップデート

色々機能追加していますので、頻繁にアップデートしています。今年中は続くでしょう。

アップデートが面倒ですので、このインストーラー自身をアップデートできるようにしました。

 laravel selfupdate -l ja

もちろんコマンド名を変更しても、置き換えます。

.laravel.install.conf.php

ホームディレクトリーに設置して下さい。Windows用のホームディレクトリー取得コードも入れてありますが、動作確認していません。動くかもしれませんし、動かないかもしれません。

サンプルをご覧ください。

<?php

return array(
    // 単純な設定

    'app/config/app.php' => array(
        'locale' => 'ja',
    ),

    // 'user'と'password'は全アイテム'root'に設定。
    // そのあとに、mysql => passwordだけを'OhMySQL'に設定

    'app/config/database.php' => array(
        'default' => 'sqlite',
        'user' => 'root',
        'password' => 'root',
        'mysql.password' => 'OhMySQL',
    ),

    // これも単純な例です。
    'app/config/workbench.php' => array(
        'name' => 'HiroKws',
        'email' => 'hirokws@gmail.com',
    ),

    // 言語ファイルも設定ファイルと同じ形式なため、変更できます。
    'app/lang/ja/reminders.php' => array(
        'sent' => 'パスワードリセットメールを送信しました。確認して下さい',
    ),

    // 設定ファイルではありませんが、配列で指定しているため、
    // 'local'動作環境時のマシン名(ホスト名)を設定可能です。
       'bootstrap/start.php' => array(
        'local' => "array('".gethostname()."')"
    )
);

アイテムの置換えは正規表現で行っています。そのためキーは純粋に配列のレベルを表すものではありません。例えば、key1.key2は、まず'key1'=>を探し、その後の'key2'=>を見つけ、そのアイテムを変更します。あくまでもファイル中に現れる順番で一致するものを探すだけです。コメントにコードが含まれていたりすると上手く動作しない場合もありますが、現在のLaravel4.1に含まれている設定/言語ファイルでは、それなりに使用できます。

キーに一致する項目全部を変更します。例えば上記では、database.phpの中のrootpasswordを全部rootに変更しています。その後にmysqlpasswordだけを指定し、一つだけ変更しています。

最後の項目は、動作環境の決定を行ってるbootstrap/start.phpファイルを書き換えます。'local'動作環境のマシン名を設定しています。