ソフトウェア/laravel5 の変更点

更新


[[公開メモ]]

* Laravel5 [#ae3c8e0e]

php フレームワークの中から、laravel5 を選んで使ってみる。

- 現在ほぼ一番人気~
http://bigchinpo.blogspot.jp/2014/08/php.html ~
http://qiita.com/shukotang/items/055058b33b553b48c164
- パフォーマンスは悪い~
http://blog.a-way-out.net/blog/2015/03/26/php-framework-benchmark/
- いろいろとためになる考察が~
http://nazo.hatenablog.com/entry/laravel-5-impression
http://nazo.hatenablog.com/entry/laravel-5-impression ~
ActiveRecord のような O/R マッパーは時代遅れなのか・・・

パフォーマンス的には今一なので大規模サイトは作れないはずなのだけれど、
それでも人気があるってのは使いやすいってこと・・・なんだよね、きっと。
ということで。


ウェブサイトはこちら: http://laravel.jp/

* 環境を確認 [#s3d3633c]

使っているサーバーは Debian7

Laravel5 の要求仕様:
- PHP バージョン5.4以上
- OpenSSL PHP拡張
- Mbstring PHP拡張
- Tokenizer PHP拡張
- Mcrypt PHP拡張 (php5-mcrypt)
- JSON PHP拡張 (php5-json)

 LANG:console
 $ uname --all
  Linux dora 3.2.0-4-amd64 #1 SMP Debian 3.2.65-1+deb7u2 x86_64 GNU/Linux
 $ php --version
  PHP 5.4.39-0+deb7u2 (cli) (built: Mar 25 2015 08:33:29)
  Copyright (c) 1997-2014 The PHP Group
  Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies
 $ sudo aptitude install php5-mcrypt php5-json
  インストール・削除・更新されるパッケージがありません。
  更新: 0 個、新規インストール: 0 個、削除: 0 個、保留: 0 個。
  0  バイトのアーカイブを取得する必要があります。
  展開後に 0  バイトのディスク領域が新たに消費されます。

* Composer の導入 [#m4fa6a17]

https://getcomposer.org/download/ より、

 LANG:console
 $ curl --version
  curl 7.26.0 (x86_64-pc-linux-gnu) libcurl/7.26.0 OpenSSL/1.0.1e zlib/1.2.7 libidn/1.25 libssh2/1.4.2 librtmp/2.3
  Protocols: dict file ftp ftps gopher http https imap imaps ldap pop3 pop3s rtmp rtsp scp sftp smtp smtps telnet tftp
  Features: Debug GSS-Negotiate IDN IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP
 $ curl -sS https://getcomposer.org/installer | php
  #!/usr/bin/env php
  All settings correct for using Composer
  Downloading...
 
  Composer successfully installed to: /home/takeuchi/composer.phar
  Use it: php composer.phar
 $ ls -l composer.phar
  合計 1080
  -rwxr-xr-x 1 takeuchi takeuchi 1103856  5月 18 20:46 composer.phar

* laravel5 でアプリケーションを作る [#a5a3a6b0]

http://readouble.com/laravel/5/0/0/ja/installation.html より

 LANG:console
 $ ./composer.phar create-project laravel/laravel --prefer-dist myapp
  Installing laravel/laravel (v5.0.22)
    - Installing laravel/laravel (v5.0.22)
   ...
 
 $ cd myapp/
 $ git init
   Initialized empty Git repository in ./myapp/.git/
 $ git add .
 $ git commit -m "initial commit"
  [master (root-commit) cf4860b] initial commit
   153 files changed, 20148 insertions(+)
   ...

* 最低限の設定をする [#ye338112]

とりあえず試してみるだけなので、
データベースは sqlite を使ってしまいます。

 LANG:console
 $ jed config/app.php
         'url' => 'http://localhost:3000',
         'timezone' => 'Asia/Tokyo',
         'locale' => 'ja',
 $ jed config/database.php
         'default' => 'sqlite',
 $ mv ../composer.phar .
 $ jed .gitignore
  storage/database.sqlite
  composer.phar
  *~
 $ touch README.md
 $ git add .
 $ git commit -m "basic configuration"

これでOK。

 LANG:console
 $ php artisan migrate
 
    [InvalidArgumentException]
    Database does not exist.
 
 $ touch storage/database.sqlite
 $ php artisan migrate
  Migration table created successfully.
  Migrated: 2014_10_12_000000_create_users_table
  Migrated: 2014_10_12_100000_create_password_resets_table
 $ php artisan serve --port=3000 &
  Laravel development server started on http://localhost:3000/
 $ curl http://localhost:3000/
  <html>
          <head>
                  <title>Laravel</title>
  ...

トップページが表示された。

* ログイン、ログアウトを確認 [#yae50561]

Laravel5 で新規アプリケーションを作成すると、
インストール直後から最低限のアカウント管理システムと簡易ブログシステムが実装されています。

ですので、

http://localhost:3000/home へアクセスすると

http://localhost:3000/auth/login へ飛ばされて、右上の Register から

http://localhost:3000/auth/register にて sign up すると

http://localhost:3000/home にて You are logged in! が表示され、右上から log out すると

http://localhost:3000/ へ出られたり。

ユーザー管理や簡易ブログの実装を参考にしながら、自身のコードを追加していけば、
Rails など他のフレームワークをさわったことがあればさくさく作って行けそうです。

これらのシステムが必要なければ php artisan fresh で消去できます。

* コメント・質問 [#w800610f]

#article_kcaptcha

Counter: 3557 (from 2010/06/03), today: 2, yesterday: 0