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などの情報を取得することができます。

Smarty:phpの定数をSmartyで使用する方法

phpで設定した定数Smartyテンプレートで使用したい場合、下記のように予約変数を使用して値を取得します。
※予約変数「$smarty」は環境変数やリクエスト変数を取得する時に使用します。


phpで設定した定数をSmartyで使用する場合

{$smarty.const}

php

define('HOGE_DATA','hoge');

Smarty

{$smarty.const.HOGE_DATA}

また、Smartyの予約変数ではサーバ変数なども取得することができます。

サーバ変数を使用する場合

{$smarty.server}

・$_SERVER[‘HTTP_HOST’]を取得する場合

{$smarty.server.HTTP_HOST}

その他下記の値も取得することができます。

{$smarty.get}
{$smarty.post}
{$smarty.cookies}
{$smarty.session}
{$smarty.request}

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に格納することも可能です。

php:文字列から配列、配列から文字列にする方法

phpで文字列を指定した区切り文字で配列に格納したり、配列の中身を連結文字で連結させて文字列にしたい場合があります。
phpでは「explode()」、「implode()」関数を使用すると文字列から配列配列から文字列に変換できます。

explode()

文字列を指定した区切り文字で分割し、配列に格納した値を返します。

explode('区切り文字', '文字列')

implode()

配列の中身を連結文字で連結した値を返します。

implode('連結文字', '配列')

文字列から配列にする場合(explode)

$str = '1,2,3';
var_dump(explode(',', $str));
array(3) { [0]=> string(1) "1" [1]=> string(1) "2" [2]=> string(1) "3" }

配列から文字列にする場合(implode)

$arr = array('1', '2', '3');
var_dump(implode(',', $arr));
string(5) "1,2,3"

チェックボックスなどで取得した配列の値を文字列にし、データベースに格納したり、その値を取り出す場合に区切り文字で配列にしたりなど色々な用途で使用してます。

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文を確認できるので便利です。