#37880 [Opn->Asn]: Cannot initialize multiline associative array in declaration portion of a class

From: Date: Fri, 23 Jun 2006 18:23:51 +0000
Subject: #37880 [Opn->Asn]: Cannot initialize multiline associative array in declaration portion of a class
References: 1  Groups: php.doc 
Request: Send a blank email to phpdoc+get-969373390@lists.php.net to get a copy of this message
ID: 37880 Updated by: bjori@php.net Reported By: cuervo_4762 at yahoo dot com -Status: Open +Status: Assigned Bug Type: Documentation problem Operating System: Linux PHP Version: 5.1.4 Assigned To: colder 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

« previous php.doc (#969373390) next »