本文整理汇总了PHP中Func::getContext方法的典型用法代码示例。如果您正苦于以下问题:PHP Func::getContext方法的具体用法?PHP Func::getContext怎么用?PHP Func::getContext使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Func
的用法示例。
在下文中一共展示了Func::getContext方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getGlobalConstructor
/**
* Creates the global constructor used in user-land
* @return Func
*/
static function getGlobalConstructor()
{
$Boolean = new Func(function ($value = false) {
$self = Func::getContext();
if ($self instanceof Bln) {
$self->value = $value ? true : false;
return $self;
} else {
return $value ? true : false;
}
});
$Boolean->instantiate = function () {
return new Bln();
};
$Boolean->set('prototype', Bln::$protoObject);
$Boolean->setMethods(Bln::$classMethods, true, false, true);
return $Boolean;
}
示例2: getGlobalConstructor
/**
* Creates the global constructor used in user-land
* @return Func
*/
static function getGlobalConstructor()
{
$String = new Func(function ($value = '') {
$self = Func::getContext();
if ($self instanceof Str) {
$self->value = to_string($value);
return $self;
} else {
return to_string($value);
}
});
$String->instantiate = function () {
return new Str();
};
$String->set('prototype', Str::$protoObject);
$String->setMethods(Str::$classMethods, true, false, true);
return $String;
}
示例3: getGlobalConstructor
/**
* Creates the global constructor used in user-land
* @return Func
*/
static function getGlobalConstructor()
{
$Number = new Func(function ($value = 0) {
$self = Func::getContext();
if ($self instanceof Number) {
$self->value = to_number($value);
return $self;
} else {
return to_number($value);
}
});
$Number->instantiate = function () {
return new Number();
};
$Number->set('prototype', Number::$protoObject);
$Number->setMethods(Number::$classMethods, true, false, true);
//constants
$Number->set('NaN', NAN);
$Number->set('MAX_VALUE', INF);
$Number->set('MIN_VALUE', -INF);
$Number->set('NEGATIVE_INFINITY', -INF);
$Number->set('POSITIVE_INFINITY', INF);
return $Number;
}
示例4: array
Date::$classMethods = array('now' => function () {
return Date::now();
}, 'parse' => function ($str) {
$date = new Date($str);
return $date->value;
}, 'UTC' => function () {
$date = new Date();
$date->_initFromParts(func_get_args(), 'UTC');
return $date->value;
});
Date::$protoMethods = array('valueOf' => function () {
$self = Func::getContext();
return $self->value;
}, 'toJSON' => function () {
$self = Func::getContext();
//2014-08-09T12:00:00.000Z
return $self->toJSON();
}, 'toUTCString' => function () {
//todo
}, 'toString' => function () {
$self = Func::getContext();
//Sat Aug 09 2014 12:00:00 GMT+0000 (UTC)
return str_replace('~', 'GMT', $self->date->format('D M d Y H:i:s ~O (T)'));
});
Date::$protoObject = new Object();
Date::$protoObject->setMethods(Date::$protoMethods, true, false, true);
//get the local timezone by looking for constant or environment variable; default to UTC
Date::$LOCAL_TZ = defined('LOCAL_TZ') ? constant('LOCAL_TZ') : getenv('LOCAL_TZ');
if (Date::$LOCAL_TZ === false) {
Date::$LOCAL_TZ = 'UTC';
}
示例5: array
$methods['defineProperty']($obj, $key, $prop->value);
}
}
});
Object::$protoMethods = array('hasOwnProperty' => function ($key) {
$self = Func::getContext();
$key = (string) $key;
return array_key_exists($key, $self->data);
}, 'toString' => function () {
$self = Func::getContext();
if ($self === null) {
$className = 'Undefined';
} else {
if ($self === Object::$null) {
$className = 'Null';
} else {
$obj = objectify($self);
$className = $obj->className;
}
}
return '[object ' . $className . ']';
}, 'valueOf' => function () {
return Func::getContext();
});
class Null
{
}
Object::$null = new Null();
//the methods are not set on Object.prototype until *after* Func class is defined
Object::$protoObject = new Object();
Object::$protoObject->proto = Object::$null;