<?php $oView->aError[] = '1'; // add element to array... $oView->aError[] = 2; // ... some int? ... $oView->aError[] = '3'; // ... and string ... // hmmm, it should output: Array( [0] => string(1), "1" [1] => int(1), "2" => string(1) "3" ) ?>
Obiekt $oView oczywiście został wcześniej zainicjowany. Przejdźmy do rzeczy… Zaraz po zadeklarowaniu tablicy sprawdzamy ją tak dla pewności, że jest. „No dziwne by było żeby jej nie było” (masło maślane ale prawda sama w sobie

Ok. jedziemy dalej… dodajemy do tablicy kolejne elementy poprzez użycie [] – co to oznacza każdy wie. Po dodaniu elementów lumpujemy tablice po raz kolejny. O dziwo jest pusta

Przypominam, że zrobiłem update z php 5.1.1 na 5.2.0. Czyżby wlepili tam jakiegoś buga? Zaraz po updacie ta część kodu przestała działać. Podobnie warstwa ACL, gdzie klasa User w podobny sposób sama sobie dodaje grupy użytkownika – dziwiłem się, że do żadnego kontrolera nie mam dostępu

Teraz wszystko jasne. Zainteresowało mnie to, przeprowadziłem testy. Napisałem dwa przykłady, które działają…
Test 01:
<?php $aArray[1] = 'first element'; $aArray[2] = 'second element'; $aArray[3] = 'third element'; ?>
Test 02:
<?php class ArrayTest { public function __construct() { } public function __destruct() { } public function __get($sName) { return $this->aAttributes['TestCase'][$sName]; } public function __set($sName, $mValue) { return $this->aAttributes['TestCase'][$sName] = $mValue; } } $oArrayTest = ArrayTest(); $oArrayTest->FirstElement = 1; $oArrayTest->SecondElement = 2; $oArrayTest->ThirdElement = 3; ?>
Co jest nie tak? Może załącze jeszcze klase mojego widoku I usera, aby pokazać, że dodaję elementy w taki sam sposób:
User Class (patrz metody setGroup(), hasGroup(), getGroup() )
http://phpfi.com/179458
View Class (patrz metody __get(), __set() )
http://phpfi.com/179456