Синтаксис
package php
Доступно в php
Специальный внешний класс для поддержки особенностей языка PHP. Не используйте эти функции, если вы не уверены, что делаете.
Статические методы
staticinlineadd<T>(left:T, right:T):T
Генерирует $left + $right для чисел.
staticinlinearray(value:Dynamic):NativeArray
Генерирует (array)$value
staticarrayDecl<T>(args:Rest<T>):NativeIndexedArray<T>
Syntax.arrayDecl(arg1, arg2, arg3); Генерирует объявление обычного массива:
[$arg1, $arg2, $arg3]
staticassocDecl<T>(?arg:Null<T>):NativeAssocArray<Dynamic>
Syntax.assocDecl({field1:'first', field2:2}}); Генерирует объявление ассоциативного массива:
["field1" => "first", "field2" => 2]; Этот метод не рекурсивный. Принимает только объявления объектов. Это означает, что вы не можете передать объект, хранящийся в переменной, в этот метод, например, Syntax.assocDecl(someVar). Используйте php.Lib.associativeArrayOfObject(someVar) вместо этого.
staticinlinebool(value:Dynamic):Bool
Генерирует (bool)$value
staticcall<T>(object:AsVar<T>, methodName:String, args:Rest<Dynamic>):Dynamic
Генерирует вызов метода экземпляра: $object->{$methodName}(<args>)
staticinlineclone<T>(value:T):T
Генерирует clone $value.
См. также:
staticcoalesce<T>(left:T, right:T):T
Генерирует $left ?? $right
staticcode(code:String, args:Rest<Dynamic>):Dynamic
Встраивает обычный код php. php должен быть строковым литералом с кодом php. Он может содержать плейсхолдеры, такие как {0}, {1}, которые будут заменены соответствующими аргументами из args. Например:
Syntax.code("var_dump({0}, {1})", a, b); сгенерирует:
var_dump($a, $b);
staticcodeDeref(code:String, args:Rest<Dynamic>):Dynamic
То же самое, что и code(), но добавляет разыменование при необходимости, чтобы обойти ошибку php "нельзя использовать временное выражение в контексте записи".
staticinlineconcat(left:String, right:String):String
Генерирует $left . $right
staticconstruct<T>(cls:AsVar<Class<T>>, args:Rest<Dynamic>):T
staticconstruct(className:AsVar<String>, args:Rest<Dynamic>):Dynamic
Генерирует new $className($arg1, ...$argN)
staticinlineequal(left:Dynamic, right:Dynamic):Bool
Генерирует $left == $right
staticinlineexp<T>(left:T, right:T):T
Генерирует $left ** $right
staticfield<T>(object:AsVar<T>, fieldName:String):Dynamic
Генерирует доступ к полю экземпляра для чтения в object
staticinlinefloat(value:Dynamic):Float
Генерирует (float)$value
staticinlineforeach<TCollection, TKey, TValue>(collection:TCollection, body:(TKey, TValue) ‑> Void):Void
Syntax.foreach(collection, function(key, value) trace(key, value)); генерирует:
foreach($collection as $key => $value) {
trace($key, $value);
}
staticgetField<T>(object:AsVar<T>, fieldName:String):Dynamic
Генерирует доступ к полю экземпляра для чтения в object
staticgetStaticField(className:AsVar<EitherType<Class<Dynamic>, String>>, fieldName:String):Dynamic
Генерирует доступ к статическому полю для чтения в className
staticinstanceof<V, C>(value:AsVar<V>, type:AsVar<Class<C>>):Bool
staticinstanceof(value:AsVar<Dynamic>, phpClassName:AsVar<String>):Bool
Генерирует $value instanceof $phpClassName. Haxe генерирует вызовы Std.isOfType(value, Type) как $value instanceof Type автоматически, где это возможно. Поэтому вам может потребоваться это только если у вас есть Class хранящийся в переменной.
staticinlineint(value:Dynamic):Int
Генерирует (int)$value
statickeepVar(localVar:Rest<Dynamic>):Void
Не позволяйте компилятору оптимизировать локальную переменную, переданную в этот метод.
staticinlinemod(left:Float, right:Float):Int
Генерирует $left % $right
staticnativeClassName<T>(cls:EitherType<Class<T>, Enum<T>>):String
Генерирует имя PHP-класса для предоставленного Haxe-класса.
trace(Syntax.nativeClassName(php.Web)); // outputs: php\Web
staticinlinenotEqual(left:Dynamic, right:Dynamic):Bool
Генерирует $left != $right
staticinlineobject(value:Dynamic):StdClass
Генерирует (object)$value
staticsetField<T>(object:AsVar<T>, fieldName:String, value:Dynamic):Void
Генерирует доступ к полю экземпляра для записи в object
staticsetStaticField(object:AsVar<EitherType<Class<Dynamic>, String>>, fieldName:String, value:Dynamic):Void
Генерирует доступ к статическому полю для записи в object
staticinlineshortTernary<T>(left:T, right:T):T
Генерирует $left ?: $right
staticinlinespaceship(left:Dynamic, right:Dynamic):Int
Генерирует $left <=> $right
staticinlinesplat(args:EitherType<NativeArray, Traversable>):Rest<Dynamic>
Добавляет оператор ... перед args.
staticstaticCall(className:AsVar<EitherType<Class<Dynamic>, String>>, methodName:String, args:Rest<Dynamic>):Dynamic
Генерирует вызов статического метода: $className::{$methodName}(<args>)
staticinlinestrictEqual(left:Dynamic, right:Dynamic):Bool
Генерирует $left === $right
staticinlinestrictNotEqual(left:Dynamic, right:Dynamic):Bool
Генерирует $left !== $right
staticinlinestring(value:Dynamic):String
Генерирует (string)$value
staticsuppress<T>(expression:T):T
Добавляет оператор подавления ошибок @ перед expression.
staticinlineunion(left:NativeArray, right:NativeArray):NativeArray
Генерирует $left + $right для php-массивов.
staticinlinexor(left:Bool, right:Bool):Bool
Генерирует $left xor $right
staticinlineyield(value:Dynamic):Dynamic
Генерирует yield $value.
См. также:
staticinlineyieldFrom(value:Dynamic):Dynamic
Генерирует yield for $value.
См. также:
staticinlineyieldPair(key:Dynamic, value:Dynamic):Dynamic
Генерирует yield $key => $value.
См. также:
© 2005–2020 Haxe Foundation
Licensed under a MIT license.
https://api.haxe.org/php/Syntax.html