W3cubDocs

/Haxe PHP

Syntax

package php

Available on php

Special extern class to support PHP language specifics. Don't use these functions unless you are really sure what you are doing.

Static methods

staticinlineadd<T>(left:T, right:T):T

Generates $left + $right for numbers.

staticinlinearray(value:Dynamic):NativeArray

Generates (array)$value

staticarrayDecl<T>(args:Rest<T>):NativeIndexedArray<T>

Syntax.arrayDecl(arg1, arg2, arg3);

Generates native array declaration:

[$arg1, $arg2, $arg3]

staticassocDecl<T>(?arg:Null<T>):NativeAssocArray<Dynamic>

Syntax.assocDecl({field1:'first', field2:2}});

Generates native associative array declaration:

["field1" => "first", "field2" => 2];

This method is not recursive. Accepts object declarations only. That means you can't pass an object stored in a variable to this method like Syntax.assocDecl(someVar). Use php.Lib.associativeArrayOfObject(someVar) instead.

staticinlinebool(value:Dynamic):Bool

Generates (bool)$value

staticcall<T>(object:AsVar<T>, methodName:String, args:Rest<Dynamic>):Dynamic

Generates a call to instance method: $object->{$methodName}(<args>)

staticinlineclone<T>(value:T):T

Generates clone $value.

See also:

staticcoalesce<T>(left:T, right:T):T

Generates $left ?? $right

staticcode(code:String, args:Rest<Dynamic>):Dynamic

Embeds plain php code. php should be a string literal with php code. It can contain placeholders like {0}, {1} which will be replaced with corresponding arguments from args. E.g.:

Syntax.code("var_dump({0}, {1})", a, b);

will generate

var_dump($a, $b);

staticcodeDeref(code:String, args:Rest<Dynamic>):Dynamic

The same as code(), but adds dereferencing when required to workaround "cannot use temporary expression in write context" php error.

staticinlineconcat(left:String, right:String):String

Generates $left . $right

staticconstruct<T>(cls:AsVar<Class<T>>, args:Rest<Dynamic>):T

staticconstruct(className:AsVar<String>, args:Rest<Dynamic>):Dynamic

Generates new $className($arg1, ...$argN)

staticinlineequal(left:Dynamic, right:Dynamic):Bool

Generates $left == $right

staticinlineexp<T>(left:T, right:T):T

Generates $left ** $right

staticfield<T>(object:AsVar<T>, fieldName:String):Dynamic

Generates instance field access for reading on object

staticinlinefloat(value:Dynamic):Float

Generates (float)$value

staticinlineforeach<TCollection, TKey, TValue>(collection:TCollection, body:(TKey, TValue) ‑> Void):Void

Syntax.foreach(collection, function(key, value) trace(key, value));

generates:

foreach($collection as $key => $value) {
	trace($key, $value);
}

staticgetField<T>(object:AsVar<T>, fieldName:String):Dynamic

Deprecated: "php.Syntax.getFiled() is deprecated. Use php.Syntax.field() instead."

Generates instance field access for reading on object

staticgetStaticField(className:AsVar<EitherType<Class<Dynamic>, String>>, fieldName:String):Dynamic

Generates static field access for reading on className

staticinstanceof<V, C>(value:AsVar<V>, type:AsVar<Class<C>>):Bool

staticinstanceof(value:AsVar<Dynamic>, phpClassName:AsVar<String>):Bool

Generates $value instanceof $phpClassName. Haxe generates Std.isOfType(value, Type) calls as $value instanceof Type automatically where possible. So you may need this only if you have a Class stored in a variable.

staticinlineint(value:Dynamic):Int

Generates (int)$value

statickeepVar(localVar:Rest<Dynamic>):Void

Don't let compiler to optimize away local var passed to this method.

staticinlinemod(left:Float, right:Float):Int

Generates $left % $right

staticnativeClassName<T>(cls:EitherType<Class<T>, Enum<T>>):String

Generates PHP class name for a provided Haxe class.

trace(Syntax.nativeClassName(php.Web)); // outputs: php\Web

staticinlinenotEqual(left:Dynamic, right:Dynamic):Bool

Generates $left != $right

staticinlineobject(value:Dynamic):StdClass

Generates (object)$value

staticsetField<T>(object:AsVar<T>, fieldName:String, value:Dynamic):Void

Generates instance field access for writing on object

staticsetStaticField(object:AsVar<EitherType<Class<Dynamic>, String>>, fieldName:String, value:Dynamic):Void

Generates static field access for writing on object

staticinlineshortTernary<T>(left:T, right:T):T

Generates $left ?: $right

staticinlinespaceship(left:Dynamic, right:Dynamic):Int

Generates $left <=> $right

staticinlinesplat(args:EitherType<NativeArray, Traversable>):Rest<Dynamic>

Adds ... operator before args

staticstaticCall(className:AsVar<EitherType<Class<Dynamic>, String>>, methodName:String, args:Rest<Dynamic>):Dynamic

Generates a call to static method: $className::{$methodName}(<args>)

staticinlinestrictEqual(left:Dynamic, right:Dynamic):Bool

Generates $left === $right

staticinlinestrictNotEqual(left:Dynamic, right:Dynamic):Bool

Generates $left !== $right

staticinlinestring(value:Dynamic):String

Generates (string)$value

staticsuppress<T>(expression:T):T

Add errors suppression operator @ before expression

staticinlineunion(left:NativeArray, right:NativeArray):NativeArray

Generates $left + $right for php arrays.

staticinlinexor(left:Bool, right:Bool):Bool

Generates $left xor $right

staticinlineyield(value:Dynamic):Dynamic

Generates yield $value.

See also:

staticinlineyieldFrom(value:Dynamic):Dynamic

Generates yield for $value.

See also:

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

Generates yield $key => $value.

See also:

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