Edit report at https://bugs.php.net/bug.php?id=60431&edit=1
ID: 60431 Comment by: kapsonfire at gmx dot de Reported by: kapsonfire at gmx dot de Summary: private Array Status: Bogus Type: Bug Package: Class/Object related Operating System: Debian Squeeze PHP Version: 5.3.8 Block user comment: N Private report: N New Comment: Well, but this only happens with arrays used as datalayer in this way. The $OWNER isn't readable outside with print_r after creating an instance on it. Previous Comments: ------------------------------------------------------------------------ [2011-12-02 12:11:33] paj...@php.net Release\php.exe -n -r "class f {private $f=1;} $a = new f; $a->f;" Fatal error: Cannot access private property f::$f in Command line code on line 1 print_r/var_dump are only a debugging/informative functions. ------------------------------------------------------------------------ [2011-12-02 12:03:45] kapsonfire at gmx dot de Description: ------------ Using an private array in a Class as Data Layer become readale outside of class with print_r Test script: --------------- <?php //test.php require "classes/Item.class.php"; require "classes/User.class.php"; session_start(); //DB SHIT $item = new Item(1); echo "<pre>ITEMOBJECT:<br>".(print_r($item,true))."</pre>"; ?> <?php // classes/Item.class.php class Item { private $DATA=array(); private $OWNER=null; public function __construct($itemID) { $item = mysql_fetch_assoc(mysql_query("SELECT * FROM w1_items WHERE itemid = $itemID")); $keys = array_keys($item); foreach($keys as $key) { $this->DATA[$key] = $item[$key]; } } } Expected result: ---------------- ITEMOBJECT: Item Object ( [DATA:Item:private] => Array ( [itemid] => 1 [uid] => 2 ) [OWNER:Item:private] => ) ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=60431&edit=1