haxe
haxe copied to clipboard
[php] return type declarations
If I have this extern for a CakePHP class
package cake.orm;
import php.NativeArray;
@:native("Cake\\ORM\\Table")
extern class Table {
function initialize(config:NativeArray):Void;
}
And this subclass
package app.model.table;
import cake.orm.Table;
class CookiesTable extends Table
{
override function initialize(config):Void
{
}
}
Then this php is emitted
namespace app\model\table;
.....
/**
* @param array $config
*
* @return void
*/
public function initialize ($config) {
But initialize() has a return type declaration from CakePHP 4 onward so this doesn't work too well:
class Table {
public function initialize(array $config): void
It would be nice if extern methods could be annotated as having a return type so the compiler would emit overrides with the correct type.