codecamp

hack属性:介绍

属性是元数据的任何一个保持器可反射一段代码。这包括函数,类,接口,特性等

除了一些特殊的属性,属性是一个纯粹的句法实体。他们利用工具来完成任务。例如,您可以拥有基于文档的属性,其内容通过反射提取。

<?hh

namespace Hack\UserDocumentation\Attributes\Intro\Examples\Simple;

<<ClassOwner("Joel Marcey"), Description("This class does nothing")>>
class Simple {}

function get_attributes(): void {
  $rc = new \ReflectionClass(
    "Hack\UserDocumentation\Attributes\Intro\Examples\Simple\Simple"
  );
  var_dump($rc->getAttributes()["Description"]);
}

get_attributes();

Output

array(1) {
  [0]=>
  string(23) "This class does nothing"
}

特殊属性

一些属性对Hack类型检查器和HHVM都有特殊的含义。这里是最常见和有用的:

还有一些不太常见的特殊属性

hack类型常量:示例
hack属性:语法
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }