本文整理匯總了PHP中PageController::serveData方法的典型用法代碼示例。如果您正苦於以下問題:PHP PageController::serveData方法的具體用法?PHP PageController::serveData怎麽用?PHP PageController::serveData使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類PageController
的用法示例。
在下文中一共展示了PageController::serveData方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: serveData
/**
* Serve data to the client
*
* @param mixed $data
* @param string $as
* @param array $additional_describe_params
* @param string $format
* @param boolean $die
* @return null
*/
function serveData($data, $as = null, $additional_describe_params = null, $format = null, $die = true)
{
$to_encode = $data;
// Error
if (is_error($data)) {
header("HTTP/1.1 417 Expectation Failed");
$as = 'error';
$to_encode = $data->describe();
// Object with describe function
} elseif (instance_of($data, 'AngieObject') && in_array('describe', get_class_methods(get_class($data)))) {
$to_encode = $data->describe($this->logged_user, $additional_describe_params);
// Everything else
} elseif (is_array($data)) {
$all_objects = true;
foreach ($data as $v) {
if (!instance_of($v, 'ApplicationObject')) {
$all_objects = false;
}
// if
}
// foreach
if ($all_objects) {
$to_encode = array();
foreach ($data as $k => $v) {
$to_encode[$k] = $v->describe($this->logged_user, $additional_describe_params);
}
// foreach
}
// if
}
// if
return parent::serveData($to_encode, $as, $format, $die);
}