Laravelの基本的な書き方

Author:

フレームワークによってModelやViewの読み込み方って地味に違いますよねえ。
こんな感じに書きます。

ちなみにこれはroutes.phpにRoute::controllerと設定した場合ですね。
Route::resourceで設定した場合はgetIndexではなくindexになります。

namespace App\Http\Controllers;
// モデルの定義
use App\User;

class HomeController extends Controller
{
    public function __construct()
    {
    }

    public function getIndex()
    {
        // モデルはnewでインスタンス生成が必要
        $user = new User;

        // モデル関数の呼び方は普通に
        $activeUsers = $user->getActiveUsers();

        // ビューを呼ぶ
        // 変数は第二引数にarrayで渡す
        return view('home.index', ['activeUsers' => $activeUsers]);
    }
}

Laravelの使い方とかのまとめ

Laravelのディレクトリ構造はこんな感じ

Author:

Laravelをとりあえずインストールしてみると、app配下にModelもViewもControllerも無いのでびっくりするかも。
それぞれこんな感じに作成するようです。

app/Http/Controllers/

ここに通常のコントローラーをいれます。

app/

デフォルトでUser.phpが入っているように、Modelはディレクトリ掘らないで直下に置きます。

resource/views

Viewファイルはここに置きます。

resources/assets/

ここにlessとかcoffeescriptとかビルド前のファイルを置いておくと自動的にElixirがpublic/cssやpublic/jsへコピーしてくれます。

app/Http/

Laravelで重要なroutes.phpはここにあります。

config/database.php

DB設定はここです。

config/app.php

メイン設定はここにあります。

ディレクトリ構造がずいぶんと違うので注意しましょうね。

Laravelの使い方とかのまとめ

Laravel5でmigration実行時にhomesteadユーザーでログインされてしまう

Author:

Laravelでphp artisan migrate:installとかするとこんなエラーになりました。

  [PDOException]
  SQLSTATE[HY000] [1045] Access denied for user 'homestead'@'localhost' (using password: YES)

Laravelでデータベースのユーザー名をいじる場所は2箇所あります。
1つ目は他のフレームワークでもお馴染みのModel用。
config/database.phpにあります。

そしてもう一つはartisan用、コマンドライン用。
.envファイルにあります。

だからconfig/database.phpでユーザー名を書き換えたはずなのにphp artisan migrateとかやるとhomesteadユーザーでアクセスしようとするのですよ。

[tea@astrominit lara]$ cat .env
APP_ENV=local
APP_DEBUG=true
APP_KEY=Agam7O0R1nSHsPOksmFg0eM9IMwKEJfL

DB_HOST=localhost
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret

Laravelは色々こういうところがあるのでご注意を。

Laravelの使い方とかのまとめ

CentOSにruby on railsをインストールする

Author:

CentOSにrailsをインストールするまでの手順を説明します。
最初はけっこうつまづくのですよ、これ。

さてrailsを入れるにはまずrubyを入れます。
rubyはyumとかでも入れられますが、rbenvってのを使ってインストールするのが主流です。
rbenvのインストールにはgitってのが必要です。

ってことで、まずはgitを入れましょう。

Continue reading…