Page MenuHomePhabricator

abstract class AphrontView
Phabricator Technical Documentation ()

This class is not documented.

Tasks

Managing Children

  • protected function canAppendChild() — Test if this View accepts children.
  • final public function hasChildren() — Test if an element has no children.
  • private function reduceChildren($children) — Reduce effectively-empty lists of children to be actually empty. This recursively removes `null`, `''`, and `array()` from the list of children so that @{method:hasChildren} can more effectively align with expectations.

Other Methods

config

  • public function setUser($user) — Deprecated, use @{method:setViewer}.
  • protected function getUser() — Deprecated, use @{method:getViewer}.

1

  • final protected function renderChildren() — Produce children for rendering.

Methods

public function setViewer($viewer)

Set the user viewing this element.

Parameters
PhabricatorUser$viewerViewing user.
Return
this

public function getViewer()

Get the user viewing this element.

Throws an exception if no viewer has been set.

Return
PhabricatorUserViewing user.

public function hasViewer()

Test if a viewer has been set on this element.

Return
boolTrue if a viewer is available.

public function setUser($user)

Deprecated, use setViewer().

Parameters
PhabricatorUser$user
Return
wild

protected function getUser()

Deprecated, use getViewer().

Return
wild

protected function canAppendChild()

Test if this View accepts children.

By default, views accept children, but subclases may override this method to prevent children from being appended. Doing so will cause appendChild() to throw exceptions instead of appending children.

Return
boolTrue if the View should accept children.

final public function appendChild($child)

Append a child to the list of children.

This method will only work if the view supports children, which is determined by canAppendChild().

Parameters
wild$childSomething renderable.
Return
this

final protected function renderChildren()

Produce children for rendering.

Historically, this method reduced children to a string representation, but it no longer does.

Return
wildRenderable children.

final public function hasChildren()

Test if an element has no children.

Return
boolTrue if this element has children.

private function reduceChildren($children)

Reduce effectively-empty lists of children to be actually empty. This recursively removes null, '', and array() from the list of children so that hasChildren() can more effectively align with expectations.

NOTE: Because View children are not rendered, a View which renders down to nothing will not be reduced by this method.
Parameters
list<wild>$childrenRenderable children.
Return
list<wild>Reduced list of children.

public function getDefaultResourceSource()

This method is not documented.
Return
wild

public function requireResource($symbol)

This method is not documented.
Parameters
$symbol
Return
wild

public function initBehavior($name, $config)

This method is not documented.
Parameters
$name
$config
Return
wild

public function willRender()

Inconsistent, unreliable pre-rendering hook.

This hook may fire before views render. It is not fired reliably, and may fire multiple times.

If it does fire, views might use it to register data for later loads, but almost no datasources support this now; this is currently only useful for tokenizers. This mechanism might eventually see wider support or might be removed.

Return
wild

abstract public function render()

This method is not documented.
Return
wild

public function producePhutilSafeHTML()

This method is not documented.
Return
wild