LoginSignup
0
0

More than 5 years have passed since last update.

Laravel4をMacで動かしたときのメモ

Posted at

環境構築

PHPはMAMPものを利用(anyenvからだとハマったので割愛・・・)
/usr/local/binあたりにシンボリックリンク
複数のPHP環境があるとartisan実行時にこける
post-update-cmdにPHPのパスを絶対指定で書く
php artisan serveでローカルサーバ動かす場合はPHP >= 5.4で
Artisanからmigrate

SQLiteでmigrate

app/config/database.php
'default' => 'sqlite'

特に変更しなければ、production.sqliteで作成

$ php artisan migrate

でスキーマができてればSQLiteファイル生成

Seederを使って初期データ作成

モデルに個別のSeederを作成

app/database/seeds/UserTableSeeder.php
class UserTableSeeder extends Seeder {
    public function run()
    {
        DB::table('users')->delete();
        User::create(array(
            'email' => 'info@example.com',
            'name' => 'Test Man'
        ));
    }
}

モデルごとのSeederを呼び出し

app/database/seeds/DatabaseSeeder.php
<?php

class DatabaseSeeder extends Seeder {

    public function run()
    {
        Eloquent::unguard();

        $this->call('UserTableSeeder');
    }

}
$ db:seed

で実行

$ php artisan db:seed

コントローラー周り

JSONを返す

app/routes.php
Route::get('users.json', function()
{
    $users = User::all();

    return Response::json($users);
});

ルーティング

バリデーション

宣言的に書ける

public static $rules = array(
    'name' => 'required|max:50',
    'kana' => 'required|katakana|max:50',
    'email' => 'required|email',
    'interview1' => 'required|date_format:Y-m-d|after:+3 days|before:+30 days',
    'interview2' => 'required|date_format:Y-m-d|after:+3 days|before:+30 days|different:interview1',
    'resume' => 'required|mimes:pdf,zip|max:10000',
    'message' => 'max:65535',
);

afterとbeforeの日付指定が便利。strtotime()の形式で記述できる。
max, min, sizeはコンテクストで変わる。文字列なら文字数、ファイルならファイルサイズ。


Sccafold

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0