Biz Good old CodeIgniter çerçeve dayalı bir PHP uygulaması inşa ediyoruz ve birden fazla modeli çağrıları oluşan büyük bir zincirleme eylemi ile sorun haline çalıştırmak, bir arada veritabanına büyük bir işlemin bir parçasıdır.
Biz sonuç ne olursa olsun, eylemlerin bir listesini yapın ve geri fonksiyonu, her biri bir durum raporu elde edebilmek istiyorum.
Bizim ilk ilk fikir PHP5 istisnalar kullanmak oldu, ama biz de komut dosyası yürütülmesine bölmez durum iletilerini ihtiyaç istiyorum çünkü, bu biz geldi bizim çözüm oldu.
Bu gibi küçük bir şey gider:
$sku = $this->addSku( $name );
if ($sku === false) {
$status[] = 'Something gone terrible wrong';
$this->db->trans_rollback();
return $status;
}
$image= $this->addImage( $filename);
if ($image=== false) {
$error[] = 'Image could not be uploaded, check filesize';
$this->db->trans_rollback();
return $status;
}
Bizim denetleyicisi bu gibi görünüyor:
$var = $this->products->addProductGroup($array);
if (is_array($var)) {
foreach ($var as $error) {
echo $error . '<br />';
}
}
Biz gerekenleri yapmak için bir çok kırılgan bir çözüm gibi görünüyor, ama örneğin saf PHP istisnalar göre ölçeklenebilir, ne etkili, ne bu.
Bu gerçekten böyle şeyler genelde MVC tabanlı uygulamalar ele olduğu yolu var mı?
Teşekkürler!
UPDATE: Have done a fair share of googling and found this PHP Function: register_shutdown_function. Could it be what we are looking for? I have no Idea and can't get it working the way we want it to... Reference: http://php.net/manual/de/function.register-shutdown-function.php