- クックインストール
$ curl get.fuelphp.com/oil | sh
$ Token(hide):
もしインストール中、githubのurlでた場合
そのurlでアクセスして、gitアカウントでログイン
アクセスkeyの取得、そして、そこに貼り付けて
インストールが進められる
手動インストール
$ git clone git://github.com/fuel/fuel.git
$ php composer.phar self-update
$ php composer.phar update
$ php oil r install
-
プロジェクト作成する
$ oil create test
-
timezoneの設定
/etc/php.ini
date.timezone = 'Asia/Tokyo'
-
インストールできたかどうかの確認
'test'というプロジェクトを作った場合、下記のURLでアクセスするとFuelPHPのWELCOME画面が表示される。
http://localhost/test/public/
.htaccessうまくいかないときのチェック
/etc/httpd/conf/httpd.conf中
AllowOverride ALLになってるか
もしfuelの本体とpublic場所違うの場合
例えば、publicはDocumentRootで
fuelは/home/usernameにある
core.phpのパス設定
また
シンボリックリンクで/var/www/htmlとpublic
ln -s /home/username/test/public /var/www/html
これもうまくいかない場合は
fuelのディレクトリの.htaccessの設定のチェック
パッケージの利用
'always_load' => array(
'packages' => array(
'orm',
),
),
DBの設定
デフォルトはdevelopmentモード
うまくいかない場合
localhost to 127.0.0.1
return array(
'default' => array(
'connection' => array(
'dsn' => 'mysql:host=localhost;dbname=fuel_dev',
'username' => 'id',
'password' => 'pw',
),
),
);
oilの使い方もろもろ
主に使うのは
oil g(generate) #コードの生成
oil refine [taskname] #タスクの実行
oil g(cakeのbake)controller,model,viewで自動生成
$ php oil g scaffold fuel_test title:string body:text
Creating migration: /home/vagrant/fuel/test/fuel/app/migrations/001_create_fuel_tests.php
Creating model: /home/vagrant/fuel/test/fuel/app/classes/model/fuel/test.php
Creating controller: /home/vagrant/fuel/test/fuel/app/classes/controller/fuel/test.php
Creating view: /home/vagrant/fuel/test/fuel/app/views/fuel/test/index.php
Creating view: /home/vagrant/fuel/test/fuel/app/views/fuel/test/view.php
Creating view: /home/vagrant/fuel/test/fuel/app/views/fuel/test/create.php
Creating view: /home/vagrant/fuel/test/fuel/app/views/fuel/test/edit.php
Creating view: /home/vagrant/fuel/test/fuel/app/views/fuel/test/_form.php
tbl fuel_test
その中に自動でid(PK,AI),created_at,updated_at追加されました。
oil refine migrateでdbの中にテーブルfuel_testの作成
$ php oil refine migrate
index.phpをURLから消す
次に fuel/app/config/config.php を下記のように編集します。
//'index_file' => 'index.php',
'index_file' => false,
これだけの設定でダメの場合は、
下記のリンクを参考して、public/.htaccessの修正行ってください。
参照先
作成したのページのアクセス
simple,ormauth
auth用テーブルの作成
oil refine migrate --packages=auth
ormauth
oilメモ(admin付きの作り方)
- authパッケージとsimpleauthドライブを使う場合
Contorller => C
View => V
Model => M
$php oil g scaffold post title:varchar[長さ] body:varchar[長さ](フロントの作成)
$php oil g admin post title:varchar body:varchar --sikp(フロントに対する管理画面の作成)
#####2015.12.04追記
column:type[length]:default:hoge:unique:null
カラム名:タイプ[長さ]:デフォルト:値:unique:null
カラム名:string => varchar[255] 同様
カラム名:int => int(11) 同様
構成は
app/classess/controller/posts/ #フロント
app/classess/controller/admin/posts/ #管理画面
[--skip]つけないと、エラーが発生する
post.phpのモデルファイルは同一ファイルを使ってます。
後はフロントが側に必要ないactionの削除
例えば:action_indexとaction_viewのみを残してる
その以外のcreate,edit,deleteのCとVを削除してもかまわない
#####既存テーブルから scaffold
$oil r fromdb:scaffold posts
fuelとajaxのメモ
ajaxで非同期通信を行うとき、
before内でset_global()を書かれた場合は
500エラーが発生することがあります。