php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Doc Bug #20531 Object property association broken
Submitted: 2002-11-20 21:50 UTC Modified: 2004-02-18 00:34 UTC
Votes:4
Avg. Score:3.5 ± 0.5
Reproduced:4 of 4 (100.0%)
Same Version:1 (25.0%)
Same OS:1 (25.0%)
From: tim dot lokot at printsoft dot com Assigned:
Status: Closed Package: Documentation problem
PHP Version: 4.2.3 OS: Win NT 4 Server
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: tim dot lokot at printsoft dot com
New email:
PHP Version: OS:

 

 [2002-11-20 21:50 UTC] tim dot lokot at printsoft dot com
The following example doesn't work, but is listed in the documentation as being valid:

<?php
class DateTime {
  
  function DateTime() {
      // empty constructor
  }

  function now() {
      return date("Y-m-d H:i:s");
  }
}

class Report {
  var $_dt = new DateTime();
  // more properties ...

  function Report() {
      // initialization code ...
  }

  function generateReport() {
      $dateTime = $_dt->now();
      // more code ...
  }

  // more methods ...
}

$rep = new Report(); 
?>

This returns the error:

Parse error: parse error, unexpected T_NEW in test.php on line 14


I have tried this with other classes and basically it seems that you cannot default a class property to an instatiated class unless through the constructor.  This is contrary to the documentation.

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2002-11-21 00:39 UTC] derick@php.net
Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to report
a bug at http://bugs.php.net/how-to-report.php

Read the note under the caution block:

http://www.php.net/manual/en/language.oop.php#keyword.class
 [2002-11-21 16:17 UTC] tim dot lokot at printsoft dot com
Fair enough, the docs at the url you supplied then contradict the docs at this url:

http://www.php.net/manual/en/ref.objaggregation.php

You will find that the example I supplied came direct from your online manual.

I know it says its experimental, but I thought we were supposed to report these types of inconsistencies and errors so that the experimental extensions can move to stable versions.
 [2003-02-21 07:37 UTC] cynic@php.net
this is a docuprob, as the aggregate page has an example that's illegal in PHP.
 [2004-02-18 00:34 UTC] irchtml@php.net
This bug was fixed with revision 1.10 of objaggregation/reference.xml on 12/11/2003.

Status -> Closed
 
PHP Copyright © 2001-2025 The PHP Group
All rights reserved.
Last updated: Thu Apr 24 16:01:28 2025 UTC