Spec-Zone.ru › Haxe PHP

Синтаксис

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.

См. также:

  • http://php.net/manual/en/language.oop5.cloning.php

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

Устарело: "php.Syntax.getFiled() устарел. Используйте php.Syntax.field() вместо этого."

Генерирует доступ к полю экземпляра для чтения в 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.

См. также:

  • http://php.net/manual/en/language.generators.syntax.php

staticinlineyieldFrom(value:Dynamic):Dynamic

Генерирует yield for $value.

См. также:

  • http://php.net/manual/en/language.generators.syntax.php

staticinlineyieldPair(key:Dynamic, value:Dynamic):Dynamic

Генерирует yield $key => $value.

См. также:

  • http://php.net/manual/en/language.generators.syntax.php

© 2005–2020 Haxe Foundation
Licensed under a MIT license.
https://api.haxe.org/php/Syntax.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API