#37880 [Asn->Csd]: Cannot initialize multiline associative array in declaration portion of a class
| From: | colder@php.net | Date: | Tue, 18 Jul 2006 11:27:19 +0000 |
| Subject: | #37880 [Asn->Csd]: Cannot initialize multiline associative array in declaration portion of a class | ||
| References: | 1 | Groups: | php.doc |
| Request: | Send a blank email to phpdoc+get-969373514@lists.php.net to get a copy of this message | ||
ID: 37880
Updated by: colder@php.net
Reported By: cuervo_4762 at yahoo dot com
-Status: Assigned
+Status: Closed
Bug Type: Documentation problem
Operating System: Linux
PHP Version: 5.1.4
Assigned To: colder
New Comment:
This bug has been fixed in the documentation's XML sources. Since the
online and downloadable versions of the documentation need some time
to get updated, we would like to ask you to be a bit patient.
Thank you for the report, and for helping us make our documentation
better.
http://patches.colder.ch/oop5-basic-r1.16.patch?markup
Previous Comments:
------------------------------------------------------------------------
[2006-06-22 21:17:38] colder@php.net
Class members' default values can only be scallar "fixed" values.
Here is some assignations considered "dynamic" and thus invalid:
public $var = 1+2;
public $var = $anothervar;
public $var = <<<EOD
blabla
EOD;
public $var = 'foo'.'bar';
public $var = myFunction();
This should indeed be properly documented, I'll provide a patch ASAP.
------------------------------------------------------------------------
[2006-06-22 19:05:55] tony2001@php.net
Reclassified as docu problem.
------------------------------------------------------------------------
[2006-06-21 23:18:49] cuervo_4762 at yahoo dot com
Description:
------------
I cannot seem to initialize a multi-line assoc array in the declaration
part of a class. The work around I am using is to do it in the
constructor. If this is the normal behavior it problaly should be
stated in the manual.
thanks
frank
Reproduce code:
---------------
<?php
class RDBMSLoginDataSource {
private $_dsn;
private $_mdb2 = 2;
private $_sql = array(
'isUserLocked'=>"SELECT users.is_locked FROM users where ".
"user_name='$user' LOCK IN SHARE MODE",
'userLogin' =>"SELECT users.user_name,COUNT(*) FROM " .
"users WHERE users.user_name='$user' && ".
"users.pass='$pass' GROUP BY " .
"users.user_name LOCK IN SHARE MODE"
);
}
?>
Expected result:
----------------
na
Actual result:
--------------
Parse error: syntax error, unexpected '.', expecting ')' in
/home/fmadero/public_html/classes/RDBMSLoginDataSource.php on line 8
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=37880&edit=1