Fuelphp:fuelphpでcron(クーロン)を実行する方法

fuelphpcronを実行したい場合、fuelphpのタスクを利用します。
タスクはcronを実行することができるクラスです。

定期的に実行するプログラムなどをタスクで作成し、cronで実行した際の方法をメモします。


cronで作成したタスクを実行する方法

タスクは下記のディレクトリに格納します。
「hoge.php」に実行したいプログラムを記述します。

fuel/app/tasks/hoge.php

クーロンを設定します。

# crontab -e

クーロンは下記のように指定します。
タスクをコマンドラインで実行する時と同じように記載します。

0 10 * * * /usr/bin/php /var/www/html/oil refine hoge

上記は、タスクで作成した「hoge.php」を毎日10時に実行することができます。


Fuelphp:Inputクラスを使用し、$_GETや$_POSTの値を取得する

fuelphp$_GET$_POSTの値を取得する場合は、Inputクラスを使用します。
今回はfuelphpのInputクラスを使用し、GETPOSTなどの変数の値を取得する方法をメモします。


Inputクラス

HTTPパラメータ、サーバ変数、ユーザエージェントなどの情報を参照するためのクラスです。


$_GETの値を取得する場合

getメソッドを使用します。
引数がない場合は、$_GETの全ての値を取得します。

・getメソッド

get('配列要素', '規定値')

・使用方法(getメソッド)

// $_GETの全ての値を取得する場合
Input::get();

// $_GET['id']の値を取得する場合
Input::get('id');

$_POSTの値を取得する場合

postメソッドを使用します。
引数がない場合は、$_POSTの全ての値を取得します。

・postメソッド

post('配列要素', '規定値')

・使用方法(postメソッド)

// $_POSTの全ての値を取得する場合
Input::post();

// $_POST['hoge']の値を取得する場合
Input::post('hoge');

// $_POST['hoge']['id']の値を取得する場合
Input::post('hoge.id');

他にもInputクラスにはcookieメソッド、serverメソッド、fileメソッドなどを使用し、$_COOKIE、$_SERVER、$_FILESなどの情報を取得することができます。

FuelPHP:fuelphpの基本的なセッションの使用方法

phpでセッションを使用してシステムを制作することがあると思いますが、fuelphpではSessionクラスを使用し簡単にセッション情報を操作することができます。
fuelphpSessionクラスを使用した際のセッションの簡単な使用方法や説明をメモします。


Sessionクラス

set()メソッド

セッション変数に値を設定します。

set('セッション変数', '値')

・使用例

// セッションを設定
Session::set('hoge', $hoge);

get()メソッド

セッション変数に格納した値を取得します。
セッション変数を指定しない場合、セッションに格納した全ての値を取得します。

get('セッション変数', '既定値')

・使用例

// セッション変数の値を取得
$data = Session::get('hoge');

// セッション変数の値を取得(配列)
$data = Session::get('hoge.data');

// 全てのセッションの値を取得
$data = Session::get();

delete()メソッド

セッション変数を削除します。

delete('セッション変数')

・使用例

// セッションを削除
Session::delete('hoge');

set_flash()メソッド

セッションにフラッシュ変数を設定します。

set_flash('フラッシュ変数', '値')

・使用例

// フラッシュ変数を設定
Session::set_flash('message', '保存しました。');

get_flash()メソッド

フラッシュ変数に格納した値を取得します。
フラッシュ変数を取得した場合、設定したフラッシュ変数は削除されます。

get_flash('フラッシュ変数', '既定値')

・使用例

// フラッシュ変数の値を取得
$msg = Session::get_flash('message');

fuelphpではセッションを格納する場所を選択することができます。
「config」フォルダの「session.php」を参照し、「driver」の値を変更します。
デフォルトではcookie(クッキー)に格納するようになっておりますが、ファイルやDBに格納することも可能です。

FuelPHP:fuelphpでSQLを実行した際のSQL文を確認する

fuelphpSQLを実行した際に、どのようなSQL文が書き出されているか確認したい場合があります。
DBクラスのlast_query()メソッドを使用するとSQLクエリをデバックすることができます。


last_query()メソッド

last_query()メソッドは、最後に実行したSQLクエリを返します。

DB::last_query();

last_query()メソッド使用方法

最後に実行したSQLクエリを返すので、SQL実行した直後にlast_query()メソッドを記載します。

// SQLを実行
$query = DB::select()->from('user');
$query->where('id', 1);
$res = $query->execute()->as_array();

// 実行したSQLクエリを取得
var_dump(DB::last_query());

実行したSQLクエリは下記のように出力されます。

string(35) "SELECT * FROM `user` WHERE `id` = 1"

複雑なSQLを実行した際などにSQL文を確認できるので便利です。