Laravel4でSentry2パッケージの追加

Laravel4では、bundleがなくなったので、新しく機能を追加するには、パッケージで追加する必要があるみたいです。そこで、実際にSentry2というパッケージを追加しながら、新しいパッケージを追加する方法を調べてみたいと思います。

Composerにパッケージを追加

1. Laravel4では、パッケージの依存管理はComposerを利用しますので、composer.jsonに追加するパッケージを記述します。まず、デフォルトのcomposer.jsonを開いてみます。

laravel4/composer.json

{
    "require": {
        "laravel/framework": "4.0.*"
    },
    "autoload": {
        "classmap": [
            "app/commands",
            "app/controllers",
            "app/models",
            "app/database/migrations",
            "app/database/seeds",
            "app/tests/TestCase.php"
        ]
    },
    "scripts": {
        "post-update-cmd": "php artisan optimize"
    },
    "config": {
        "preferred-install": "dist"
    },
    "minimum-stability": "dev"
}

2. 下記のようにsentry2を追加します。

{
    "require": {
        "laravel/framework": "4.0.*",
        "cartalyst/sentry": "2.0.*"        
    },

実際に追加したのは、3行目の最後の,(カンマ)と4行目の1行です。

3. 追加したら、コマンドプロンプトからcomposer updateを実行します。

cd c:\xampp\htdocs\laravel4
composer update

laravel001

4. venderフォルダ内にcartalystフォルダが作成され、その中にsentryフォルダが作成されていれば、インストールは完了です。

laravel002

プロバイダーの追加

5. 次に、config/app.phpの115行目にSentryServiceProviderを追加します。

laravel4/app/config/app.php

  'Illuminate\Foundation\Providers\TinkerServiceProvider',
  'Illuminate\Translation\TranslationServiceProvider',
  'Illuminate\Validation\ValidationServiceProvider',
  'Illuminate\View\ViewServiceProvider',
  'Illuminate\Workbench\WorkbenchServiceProvider',
  //Sentry2の追加
  'Cartalyst\Sentry\SentryServiceProvider',

実際に追加するのは、上記の6行目と7行目です。

エイリアスの追加

6. そして同じくconfig/app.phpの180行目にSentry2のエイリアスを追加します。

  'Str'             => 'Illuminate\Support\Str',
  'URL'             => 'Illuminate\Support\Facades\URL',
  'Validator'       => 'Illuminate\Support\Facades\Validator',
  'View'            => 'Illuminate\Support\Facades\View',
  //Sentry2の追加
 'Sentry' => 'Cartalyst\Sentry\Facades\Laravel\Sentry',

これも実際に追加するのは、上記の5行目と6行目です。

Sentry2の起動確認

7. これで、設定完了のはずですので、実際にSentry2が起動するのかどうか試してみたいと思います。ルーターに下記のコードを記述します。

laravel4/app/routes.php

Route::get('sentry/user',function(){
    $user=Sentry::getUserProvider()->findAll();
    return var_dump($user);
});

8. ブラウザで確認してみます。下記のようにオブジェクトが表示されたら無事Sentryが起動しているはずです。

http://localhost/laravel4/public/sentry/user

laravel003

9.  今日は、実際にSentry2をインストールしながら、Laravel4で新しいパッケージを追加する方法を試してみました。

Sentry2の使い方を覚えたら、近いうちにこのサイトでご紹介したいと思います。本日は以上です。

このエントリーを含むはてなブックマーク Buzzurlにブックマーク livedoorクリップ Yahoo!ブックマークに登録

トラックバック&コメント

この投稿のトラックバックURL:

コメントをどうぞ

このページの先頭へ