XHP:方法

2018-10-17 11:15 更新

记住从XHPRoot接口派生的所有XHP对象,实现的对象XHPRoot有一些可以调用的公共方法。

XHP对象方法

-方法描述
- appendChild(mixed $child): this将$ child添加到XHP对象的子数组的末尾。如果$ child是一个array,数组中的每个项目将被追加。
- categoryOf(string $cat): bool返回XHP对象是否属于所命名的类别 $cat
- getAttribute(string $name): mixed返回XHP对象的属性名称$name如果属性未设置,null则返回,除非属性是必需的,在这种情况下XHPAttributeRequiredException抛出。如果属性未声明或不存在,则XHPAttributeNotSupportedException抛出该属性如果您正在阅读的属性是静态的,请使用$this->:name样式语法,以获得更好的类型检查器覆盖率。
- getAttributes(): Map<string, mixed>作为克隆副本返回XHP对象的属性数组。
- getChildren(?string $selector = null): Vector<XHPChild>返回XHP对象的子节点。如果$selectornull,所有的孩子都会退回。如果$selector开始%$selector则返回属于该类别的所有子项否则,返回所有被instanceof命名的类的$selector子项。
- getFirstChild(?string $selector = null):): ?XHPChild返回XHP对象的第一个子节点。如果$selectornull,则返回真正的第一个孩子。否则,返回匹配$selector(或null的第一个小孩
- getLastChild(?string $selector = null):): ?XHPChild返回XHP对象的最后一个子节点。如果$selectornull,返回真正的最后一个孩子。否则,返回匹配$selector(或null的最后一个小孩
- isAttributeSet(string $name): bool返回是否设置了具有名称的属性$name
- prependChild(mixed $child): this将$ child添加到XHP对象的子数组的开头。如果$ child是一个array,数组中的每个项目将被追加。
- replaceChildren(...): this将此XHP对象的所有子代替为传递给此方法的可变子数。
- setAttribute(string $name, mixed $val): this设置名为XHP对象属性的值$name将根据属性的类型检查该值,并且如果它们不匹配,XHPInvalidAttributeException则抛出该值。如果属性未声明或不存在,则XHPAttributeNotSupportedException抛出该属性
- setAttributes(KeyedTraversable<string, mixed> $attrs): this用XHP对象的属性数组替换$attrs相同的错误可以应用于setAttribute()
<?hh

function xhp_object_methods_build_list(Vector<string> $names): XHPRoot {
  $list = <ul id="names" />;
  foreach ($names as $name) {
    $list->appendChild(<li>{$name}</li>);
  }
  return $list;
}

function xhp_object_methods_run(): void {
  $names = Vector {'Sara', 'Fred', 'Josh', 'Scott', 'Paul', 'David', 'Matthew'};
  $list = xhp_object_methods_build_list($names);
  foreach ($list->getChildren() as $child) {
    echo <ul>{$child}</ul> . "\n";
  }
  echo <ul>{$list->getFirstChild()}</ul> . "\n";
  echo <ul>{$list->getLastChild()}</ul>. "\n";
  foreach ($list->getAttributes() as $attr) {
    echo <ul><li>{$attr}</li></ul> . "\n";
  }
  echo <ul><li>{$list->getAttribute('id')}</li></ul> . "\n";
}

xhp_object_methods_run();

Output

<ul><li>Sara</li></ul>
<ul><li>Fred</li></ul>
<ul><li>Josh</li></ul>
<ul><li>Scott</li></ul>
<ul><li>Paul</li></ul>
<ul><li>David</li></ul>
<ul><li>Matthew</li></ul>
<ul><li>Sara</li></ul>
<ul><li>Matthew</li></ul>
<ul><li>names</li></ul>
<ul><li>names</li></ul>
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号