本文整理汇总了PHP中ViewableData::hasMethod方法的典型用法代码示例。如果您正苦于以下问题:PHP ViewableData::hasMethod方法的具体用法?PHP ViewableData::hasMethod怎么用?PHP ViewableData::hasMethod使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ViewableData
的用法示例。
在下文中一共展示了ViewableData::hasMethod方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: forTemplate
/**
* Return debugging information, as XHTML. If a field name is passed, it will show debugging information on that
* field, otherwise it will show information on all methods and fields.
*
* @param string $field the field name
* @return string
*/
public function forTemplate($field = null)
{
// debugging info for a specific field
if ($field) {
return "<b>Debugging Information for {$this->class}->{$field}</b><br/>" . ($this->object->hasMethod($field) ? "Has method '{$field}'<br/>" : null) . ($this->object->hasField($field) ? "Has field '{$field}'<br/>" : null);
}
// debugging information for the entire class
$reflector = new ReflectionObject($this->object);
$debug = "<b>Debugging Information: all methods available in '{$this->object->class}'</b><br/><ul>";
foreach ($this->object->allMethodNames() as $method) {
// check that the method is public
if ($method[0] === strtoupper($method[0]) && $method[0] != '_') {
if ($reflector->hasMethod($method) && ($method = $reflector->getMethod($method))) {
if ($method->isPublic()) {
$debug .= "<li>\${$method->getName()}";
if (count($method->getParameters())) {
$debug .= ' <small>(' . implode(', ', $method->getParameters()) . ')</small>';
}
$debug .= '</li>';
}
} else {
$debug .= "<li>\${$method}</li>";
}
}
}
$debug .= '</ul>';
if ($this->object->hasMethod('toMap')) {
$debug .= "<b>Debugging Information: all fields available in '{$this->object->class}'</b><br/><ul>";
foreach ($this->object->toMap() as $field => $value) {
$debug .= "<li>\${$field}</li>";
}
$debug .= "</ul>";
}
// check for an extra attached data
if ($this->object->hasMethod('data') && $this->object->data() != $this->object) {
$debug .= ViewableData_Debugger::create($this->object->data())->forTemplate();
}
return $debug;
}
示例2: forTemplate
/**
* Return debugging information, as XHTML. If a field name is passed,
* it will show debugging information on that field, otherwise it will show
* information on all methods and fields.
* @var string $field The field name.
* @return string
*/
function forTemplate($field = null)
{
if ($field) {
return "<b>Info on {$field}:<br/>" . ($this->obj->hasMethod($field) ? "Has method '{$field}'. " : "") . ($this->obj->hasField($field) ? "Has field '{$field}'. " : "");
} else {
echo "<b>Debug: all methods available in {$this->obj->class}</b><br/>";
echo "<ul>";
$names = $this->obj->allMethodNames();
foreach ($names as $name) {
if (strtoupper($name[0]) == $name[0] && $name[0] != "_") {
echo "<li>\${$name}</li>";
}
}
echo "</ul>";
if ($this->obj->hasMethod('getAllFields')) {
echo "<b>Debug: all fields available in {$this->obj->class}</b><br/>";
echo "<ul>";
$data = $this->obj->getAllFields();
foreach ($data as $key => $val) {
echo "<li>\${$key}</li>";
}
echo "</ul>";
}
}
if ($this->obj->hasMethod('data')) {
if ($this->obj->data() != $this->obj) {
$d = new ViewableData_Debugger($this->obj->data());
echo $d->forTemplate();
}
}
}