コード例 #1
0
ファイル: globals.php プロジェクト: mk-pmb/js2php
<?php

$global = Object::$global;
$undefined = null;
$Infinity = INF;
$NaN = NAN;
$Object = Object::getGlobalConstructor();
$Function = Func::getGlobalConstructor();
$Array = Arr::getGlobalConstructor();
$Boolean = Bln::getGlobalConstructor();
$Number = Number::getGlobalConstructor();
$String = Str::getGlobalConstructor();
$Date = Date::getGlobalConstructor();
$Error = Error::getGlobalConstructor();
$RangeError = RangeError::getGlobalConstructor();
$ReferenceError = ReferenceError::getGlobalConstructor();
$SyntaxError = SyntaxError::getGlobalConstructor();
$TypeError = TypeError::getGlobalConstructor();
$RegExp = RegExp::getGlobalConstructor();
$Buffer = Buffer::getGlobalConstructor();
call_user_func(function () use(&$escape, &$unescape, &$encodeURI, &$decodeURI, &$encodeURIComponent, &$decodeURIComponent) {
    $ord = function ($ch) {
        $i = ord($ch[0]);
        if ($i <= 0x7f) {
            return $i;
        } else {
            if ($i < 0xc2) {
                return $i;
                //invalid byte sequence
            } else {
                if ($i <= 0xdf) {
コード例 #2
0
ファイル: Boolean.php プロジェクト: mk-pmb/js2php
     * @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;
    }
}
Bln::$classMethods = array();
Bln::$protoMethods = array('valueOf' => function () {
    $self = Func::getContext();
    return $self->value;
}, 'toString' => function () {
    $self = Func::getContext();
    return to_string($self->value);
});
Bln::$protoObject = new Object();
Bln::$protoObject->setMethods(Bln::$protoMethods, true, false, true);