WinRoadのLaravel4初心者講座

次世代PHPフレームワークのLaravel4を初心者向けに解説して参ります。

Winroad徒然草の管理人がお届けします
基本グループ及び初期ユーザーの作成

基本グループ及び初期ユーザーの作成

このエントリーをはてなブックマークに追加

Sentry2のログインコントローラを作成する前に、基本グループ(Administrators、Moderators、Users)及び初期ユーザーを作成したいと思います。

1. RESTフルなコントローラとして、SetupControllerを下記のように作成します。

laravel/app/controllers/SetupController.php

<?php
 class SetupController extends BaseController {
public function getIndex(){
 return View::make('setup/index');
 }
 public function getSentryInit(){
 try{
 $group = Sentry::getGroupProvider()->create(array(
 'name' => 'Administrators',
 'permissions' => array(
 'admin' => 1,
 'user' => 1,
 ),
 ));
 }
 catch (Cartalyst\Sentry\Groups\GroupExistsException $e)
 {
 echo 'Administratorグループは既に存在しています。<br>';
 }
try
 {
 // Moderatorグループの作成
 $group = Sentry::getGroupProvider()->create(array(
 'name' => 'Moderators',
 'permissions' => array(
 'admin.view' => 1,
 'user.create' => 1,
 'user.delete' => 0,
 'user.view' => 1,
 'user.update' => 1,
 ),
 ));
 }
 catch (Cartalyst\Sentry\Groups\GroupExistsException $e)
 {
 echo 'Moderatorsグループは既に存在しています。<br>';
 }
try
 {
 // Userグループの作成
 $group = Sentry::getGroupProvider()->create(array(
 'name' => 'Users',
 'permissions' => array(
 'admin' => 0,
 'user.create' => 1,
 'user.delete' => 0,
 'user.view' => 1,
 'user.update' => 1,
 ),
 ));
 }
 catch (Cartalyst\Sentry\Groups\GroupExistsException $e)
 {
 echo 'Usersグループは既に存在しています。<br>';
 }
try
 {
 // ユーザーの作成
 $user = Sentry::getUserProvider()->create(array(
 'email' => 'winroad@gmail.com',
 'password' => 'winroad',
 'activated' => 1,
 ));
 //グループIDを使用してグループを検索
 $adminGroup = Sentry::getGroupProvider()->findById(1);
 // ユーザーにadminグループを割り当てる
 $user->addGroup($adminGroup);
 }
 catch (Cartalyst\Sentry\Users\UserExistsException $e)
 {
 echo 'このログインユーザーは存在します。<br>';
 }
 }
 }
  •  6行目:getSentryInit()のようなキャメル記法にブラウザからアクセスするには、setup/sentry-initという風に単語間をハイフンで繋ぎます。
  • 8行目:Sentryでは、グループ関連のデータを処理するには、getGroupProvider()で、インスタンス化してから、メソッドチェーンで処理を記述します。
  • 59行目:上記と同様にユーザー関連のデータを処理するには、getUserProvider()で、インスタンス化します。

2. ルーターにRESTフルコントローラを登録します。

laravel/app/routes.php

Route::controller('setup','SetupController');

3. ビューファイルを下記のように作成します。

laravel/app/views/setup/index.blade.php

<!doctype html>
 <html>
 <head>
 <meta charset="utf-8">
 <title>Setup</title>
 </head>
<body>
 {{HTML::link('setup/sentry-init','初期グループ及びユーザーの作成')}}
 </body>
 </html>

4. ブラウザから直接アドレスを入力してもいいのですが、せっかく作成したビューファイル(setup/index.blade.php)から、リンクをクリックします。

5. phpMyAdminを確認すると下記のようにグループとユーザーが作成されています。

laravel06

 

laravel007

 

基本グループと初期ユーザーを作成しましたので、次回は、Loginコントローラを作成したいと思います。

 

« »

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です