I think there is a bug in PHP code generation for function parameters.When I declare a parameter inout in C++, BoUML automatically add & (passing by reference) operator.When I do the same thing in PHP the parameter continue to be passed by value.

You are right, to add the '&' when a parameter is out or inout seems a good idea

Note I plan to manage soon new features of PHP 7 : the optional return type on functions, and the new use form with '{' '}'

PHP 5 added the optional type for the parameters, but currently I do not put the ${t<i>} by default. How to introduce the type for parameters and return type of PHP 7, to force them in any case or to add a flag through the generation setting to do or not (may be through the choose of the php version old/5/7) ?

P.S. The missing '&' is not a 'bug', it is just I never think about that

Currently I don't even think to use PHP 7 because I'm bonded to the versions of LAMP or WAMP my company provides.Nevertheless, in my opionion it would be a great idea to customize code generation configuration according to the target language revision number.Another possibility could be flagging project enitities as exportable or not in code generation on that parameter base.I'm aware this could mean a huge work but having both features would be the best, and not only for PHP language, of course.

The only way to have that result is to set the default value both in the UML tab and at the Php definition level ( .... ${(}${t0} ${p0}${v0} = ''${)} ... ) and doing that is wrong because the default value is generated first by ${v0} then by the =''

The right way is to put '' as the value in the Uml Tab (the = is automatically added), when you use the button "default definition" the extra ='' is removed from the definition

Sorry but I can't understand your answer.I'm pretty sure that it cannot be my error and as a matter of fact I attach a test project created with BoUML 6.9 leaving all generation settings to their default values.Please consider generated code in Php tab of the Operation dialog for function Test::test.