php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Doc Bug #41958 Typehinting support null value but the docs hide the facts!
Submitted: 2007-07-10 22:11 UTC Modified: 2007-08-16 12:37 UTC
From: baldurien at bbnwn dot eu Assigned:
Status: Not a bug Package: Documentation problem
PHP Version: Irrelevant OS:
Private report: No CVE-ID: None
 [2007-07-10 22:11 UTC] baldurien at bbnwn dot eu
Description:
------------
The documentation is missing the fact that the following statement is possible :

function o1(Foo  $arg0 = null, $x) {}
function o2(Foo& $arg0 = null, $x) {}

The code above works on 5.2.3 (which is fine).

The fact that a typehinted parameter can have a default (enforced to null) value should be explained at least in the type hinting part of the doc [http://ch2.php.net/manual/en/language.oop5.typehinting], with the version of php that support it (I can't remember it it was  working on 5.1).

Note also that the syntax can be misleading: one can easily think that $arg0 take a default value, and that o1('a') is possible (or o1(,'a')?).




Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2007-08-16 12:21 UTC] vrana@php.net
Every parameter can have a default value. There's nothing special with type-hinted parameters.
 [2007-08-16 12:37 UTC] colder@php.net
There is in fact something special with typehinted arguments, as only few types of values are permitted:

function foo(Bar $b = 2) {} is not permitted, for example
 
PHP Copyright © 2001-2025 The PHP Group
All rights reserved.
Last updated: Wed Aug 13 22:00:03 2025 UTC