Naleteo sam na jedan zbun u Kohani, imam ovakav kod u kontroleru:
PHP kôd:
$this->data = ORM::factory('software')->find($software_id);
echo $this->data->image; // slika postoji i ovde se ispise /bla/bla/nesto.jpg
if(empty($this->data->image))
echo 'Ali ovo se ipak pozove i kad ima slika?';
$test = $this->data->image;
if(empty($test))
echo 'Ali se zato ovo nece pozvati kad postoji slika';
Iako slika postoji, ovaj prvi IF ce da se izvrsi? Drugi IF se, kao sto i treba, nece izvrsiti ako slika postoji...
Pretpostavljam da je to nesto oko __get() metoda u database result objektu koji find() vrati, ali me onda zbunjuje kako da proverim da li podatak postoji ili ne? Ja sam koristio if(!strval(@$this->data->image)) ali to je very hackish zamena za empty
Jel se sretao neko vec sa tim da magic metode ne rade sa empty() i isset() kako treba?