@半径とことこ60分

人間の認知範囲なんてそんなもんさと、鳥が囀った

プログラマーじゃないけどLaravel4入門(1)

phpフレームワーク」というものに興味がわき、足を突っ込んでみることにしました。パソコンはNECの88、98時代から触っていますのでプログラミングも多少は理解できますが、系統だって学んだことはありませんので、言葉遣いでさえいい加減なものになるかも知れません。

で、数あるフレームワークのうち何がいいかですが、まずはシェアをgoogleトレンドで見てみましょう。

といった具合で、日本ですと CakePHP のシェアが高いようですが、

世界ですとこうなっちゃうんですね。

当然日本語の情報が多いのはCakePHPということになりますが、最近注目されているらしい Laravel を試してみようと思います。ざっと眺めたところ日本語ドキュメントがしっかりしているようですので何とかなるでしょう。

 Laravel4インストール

まずはパッケージ管理プログラム composer をインストールして、パスの通っている /usr/local/bin に実行形式で移動します。こうしておけばどこからでも composer が使えます。

user1@vaio:~$ curl -sS https://getcomposer.org/installer | php
#!/usr/bin/env php
All settings correct for using Composer
Downloading...

Composer successfully installed to: /home/user1/composer.phar
Use it: php composer.phar
user1@vaio:~$ su
password:
root@vaio:/home/user1# mv composer.phar /usr/local/bin/composer

Laravel のインストール方法は「公式ドキュメント」に詳しく書かれていますが、「2014年、Laravel4インストール」には長所短所などを書かれており参考にさせていただきました。

この二つのサイトアドレスが同じです。「川瀬裕久」さんという方が公式ドキュメントを翻訳されてサイトも個人で立ち上げていらっしゃるということなんでしょうか。ありがとうございます。

で、インストール。バージョン4.1から導入されたらしい Laravelインストラーを利用するのが一番簡単そうです。LaravelインストーラーPHAR圧縮ファイルをダウンロードして /usr/local/bin に移動し実行権限を与えます。

user1@vaio:~$ wget http://laravel.com/laravel.phar
--2014-06-23 12:21:22-- http://laravel.com/laravel.phar
laravel.com (laravel.com) をDNSに問いあわせています... 50.116.25.185
laravel.com (laravel.com)|50.116.25.185|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 3164435 (3.0M) [application/octet-stream]
`laravel.phar' に保存中

100%[======================================>] 3,164,435 1.16M/s 時間 2.6s

2014-06-23 12:21:25 (1.16 MB/s) - `laravel.phar' へ保存完了 [3164435/3164435]

user1@vaio:~$ su
password:
root@vaio:/home/user1# mv laravel.phar /usr/local/bin/laravel
root@vaio:/home/user1# chmod u+x /usr/local/bin/laravel

これでもう、たとえば blog というディレクトリ以下に laravel をインストールしたければ、laravel new blog と打てばOKです。

user1@vaio:~/public_html$ laravel new blog
Crafting application...
Application ready! Build something amazing.
user1@vaio:~/public_html$

 

Laravel4初期設定

blog 以下の構造は、

├ app・・・ここにプログラムを書いていく(らしい)
├ bootstrap ・・・まだよく分からない
├ public ・・・公開ディレクトリ
└ vender ・・・利用するベンダーのクラスとかが置かれるのでしょうか?

となっており、公開する場合はドキュメントルートを public に向ければドメイン名でアクセスできることになります。テスト用ですので、http://ドメイン名/blog/public でOKでしょう。

いくつか初期設定が必要です。

まずは、app/storage 以下にwebサーバの書き込み権限が必要です。

user1@vaio:~/public_html/blog$ chmod -R 777 app/storage/

これだけで http://****/blog/public/ にアクセスすると laravel のロゴが表示されます。

f:id:ausnichts:20140623133609p:plain

ただ、いくつか初期設定が必要で、
app/config/app.php
app/config/database.php
の2つのファイルの必要項目を設定します。

app/config/app.php の設定

'url' => 'http://localhost', (公開時に変更必要?)
'timezone' => 'Asia/Tokyo',
'locale' => 'ja', (プロジェクトを日本語化する場合に必要?)
'key' => 'YourSecretKey!!!', (以下のコマンドで自動生成)

user1@vaio:~/public_html/blog$ php artisan key:generate
Application key [J8i77EX2KHIIqRd75QK6XNxFSU9KFcjO] set successfully.
user1@vaio:~/public_html/blog$

app/config/database.php

mysql の場合

'connections' => array(

'mysql' => array(
'driver' => 'mysql',
'host' => 'localhost', (ここ)
'database' => 'forge', (ここ)
'username' => 'forge', (ここ)
'password' => '', (ここ)
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '', (必要なら)
),

これで準備ができました。