XHP:方法

2018-10-17 11:15 更新

記住從XHPRoot接口派生的所有XHP對(duì)象,實(shí)現(xiàn)的對(duì)象XHPRoot有一些可以調(diào)用的公共方法。

XHP對(duì)象方法

-方法描述
- appendChild(mixed $child): this將$ child添加到XHP對(duì)象的子數(shù)組的末尾。如果$ child是一個(gè)array,數(shù)組中的每個(gè)項(xiàng)目將被追加。
- categoryOf(string $cat): bool返回XHP對(duì)象是否屬于所命名的類別 $cat
- getAttribute(string $name): mixed返回XHP對(duì)象的屬性名稱$name。如果屬性未設(shè)置,null則返回,除非屬性是必需的,在這種情況下XHPAttributeRequiredException拋出。如果屬性未聲明或不存在,則XHPAttributeNotSupportedException拋出該屬性如果您正在閱讀的屬性是靜態(tài)的,請(qǐng)使用$this->:name樣式語(yǔ)法,以獲得更好的類型檢查器覆蓋率。
- getAttributes(): Map<string, mixed>作為克隆副本返回XHP對(duì)象的屬性數(shù)組。
- getChildren(?string $selector = null): Vector<XHPChild>返回XHP對(duì)象的子節(jié)點(diǎn)。如果$selectornull,所有的孩子都會(huì)退回。如果$selector開始%$selector則返回屬于該類別的所有子項(xiàng)否則,返回所有被instanceof命名的類的$selector子項(xiàng)。
- getFirstChild(?string $selector = null):): ?XHPChild返回XHP對(duì)象的第一個(gè)子節(jié)點(diǎn)。如果$selectornull,則返回真正的第一個(gè)孩子。否則,返回匹配$selector(或null的第一個(gè)小孩。
- getLastChild(?string $selector = null):): ?XHPChild返回XHP對(duì)象的最后一個(gè)子節(jié)點(diǎn)。如果$selectornull,返回真正的最后一個(gè)孩子。否則,返回匹配$selector(或null的最后一個(gè)小孩
- isAttributeSet(string $name): bool返回是否設(shè)置了具有名稱的屬性$name。
- prependChild(mixed $child): this將$ child添加到XHP對(duì)象的子數(shù)組的開頭。如果$ child是一個(gè)array,數(shù)組中的每個(gè)項(xiàng)目將被追加。
- replaceChildren(...): this將此XHP對(duì)象的所有子代替為傳遞給此方法的可變子數(shù)。
- setAttribute(string $name, mixed $val): this設(shè)置名為XHP對(duì)象屬性的值$name。將根據(jù)屬性的類型檢查該值,并且如果它們不匹配,XHPInvalidAttributeException則拋出該值。如果屬性未聲明或不存在,則XHPAttributeNotSupportedException拋出該屬性
- setAttributes(KeyedTraversable<string, mixed> $attrs): this用XHP對(duì)象的屬性數(shù)組替換$attrs。相同的錯(cuò)誤可以應(yīng)用于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>
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)