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
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: baldurien at bbnwn dot eu
New email:
PHP Version: OS:

 

 [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: Thu Aug 14 14:00:03 2025 UTC