FuelPHP1.8で管理画面をサクッと作る

初期装備のoliコマンド使えば管理画面勝手に大半作ってくれる。
使い方のメモ。

機能追加

fuel/app/config/config.php
always_loadの以下ormコメントアウトを外して、auth追加。

'always_load'  => array(
	'packages'  => array(
		'orm',
		'auth',
	),
),

諸々まずはこちらを参考してもらえれば。
FuelPHP1.8を使うまで

migrationsを作成する

php oil generate model users username:varchar[50] password:string group:int email:string last_login:int login_hash:string profile_fields:text

下記のファイルが出来る。
/fuel/app/classes/model/user.php
/fuel/app/migrations/001_create_users.php

migrationsを作成する

作成したmigrationsファイルを利用してDBにテーブルを作成。

php oil refine migrate

※未実行時に既にテーブルがあれば、実行すると作り直されてしまうので注意。

fuel/app/config/【環境ディレクトリ】/migrations.php
にテーブル情報が追記されている。
作り直す際には『version.app.default』の配列を空にする。

もしマイグレーションを取り消したいのであれば
直前1つ戻すなら

php oil r migrate:down

一番最初の状態に戻す(初期化)なら

php oil r migrate:down -v=0

オプションは他にもあるので、その辺は各々調べて欲しい。

SimpleAuthライブラリ設定を変更

『fuel/packages/auth/config/simpleauth.php』
『groups』配列のコメントアウトを有効化する。
ログインするには有効化が必要。
管理画面を作成してから編集しても大丈夫。

管理画面作成

php oil g admin 【作るテーブル名】

自動的に管理画面を作成する。
/fuel/app/classes/controller/base.php
/fuel/app/classes/controller/admin.php
/fuel/app/views/admin/template.php
/fuel/app/views/admin/dashboard.php
/fuel/app/views/admin/login.php
/fuel/app/migrations/005_create_【作るテーブル名】s.php
/fuel/app/classes/model/loto7.php
/fuel/app/classes/controller/admin/【作るテーブル名】.php
/fuel/app/views/admin/【作るテーブル名】/index.php
/fuel/app/views/admin/【作るテーブル名】/view.php
/fuel/app/views/admin/【作るテーブル名】/create.php
/fuel/app/views/admin/【作るテーブル名】/edit.php
/fuel/app/views/admin/【作るテーブル名】/_form.php

modelファイルとmigrationsファイルを整えてから、下記を実行。

php oil refine migrate

テーブルが作成される。

php oil console

で、コンソール起動して、管理者ユーザを追加

 Auth::create_user('admin', 'password', 'demo@example.com',100)

これで管理画面にアクセス出来る。
/fuel/app/classes/controller/admin/【作るテーブル名】
にアクセスしてみると
/fuel/app/classes/controller/admin/login
に飛ばされる。

そこで作成したIDとパスワードでログインすると
/fuel/app/classes/controller/admin/【作るテーブル名】
に戻り、削除・追加・編集が可能。

あとはページ作る度にControllerをextends Controller_Adminさせておけばログインした後、見る対象になる。
ちゃんとadmin以下をオススメする。

コメント

タイトルとURLをコピーしました