Kohana では、set
またはを使用して、2 つの方法で変数を渡すことができますbind
。ドキュメント
から:
set() と bind() の唯一の違いは、bind() が参照によって変数を割り当てることです。変数を定義する前に bind() すると、変数は NULL の値で作成されます。
変数がビューに常に存在するとは限らない場合 ( post 条件で定義する変数のbind
ように)、少し安全です。errors
小さな例:
public function action_roadtrip()
{
$post = $this->request->post();
if (!empty($post))
{
try
{
// Do some ORM validation here
}
catch (ORM_Validation_Exception $e)
{
$errors = $e->errors('');
}
}
$view = View::factory('some_view_name')->bind('errors', $errors);
$this->request->response = $view;
}
POST 中にを定義してもerrors
、ビューで GET を使用しても安全であることに注意してください。
注意すべきもう 1 つの点は、変数のみをサポートすることです (空のbind
関数と同様の動作)。
式を渡したい場合は、 を使用します。次の違いに注意してください。
set
bind
$this->view->set('errors', $errors = array());