本文整理汇总了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);
}