kendini tahrip php5 nesneleri?

1 Cevap php

Ben temelde bir veritabanı satırı için bir arayüz php bir sınıf üzerinde çalışıyorum. I 1. Veritabanı satırı silin ve nesnesi üzerinden satır işlemek için başka girişimler uyarıları atmak olacağını yani 2. Kendisi örneği yok edeceğini bir delete() yöntemini oluşturmak istedim.

Doing some googling, it seems that, in php5, it's not possible for an object to unset itself. http://bugs.php.net/bug.php?id=36971

Aslında ben yapmak istiyordum çok durumu görüşmek: (

So how should I proceed? ben satır hala var olup olmadığını için, bir sınıf özelliği olarak boolean bayrak yapmak ve satır silinmişse eğer bir hata atmak bayrak ve her işlemi kontrol olabilir. Bu kod oo yapısını korur, bu yüzden olurdu

$objDbRow->delete();

Ama sonra her yöntemin başında kontrolleri koymak zorunda.

Ya da, ben satır siler bir __destruct yöntemini uygulamak. Ama bu sezgilere bana görünüyor; Ben kodu gördüm

unset($objDbRow);

Ben o oluyor şüpheli tüm nesne satır silindi ediliyor, değil atılmadan olmasıdır. Yani bu benim için kötü bir uygulama gibi görünüyor.

1 Cevap

I yerinde delete() yöntemini terk ve active adlandırılan bir iç bayrağı yaratacaktır. Satır silinir, o bayrak false ayarlanır.

Bayrak nesnenin veri özelliklerini herhangi erişmek için herhangi bir girişimi önce teslim almak istiyorum. Yanlış ise, return false bir uyarı atmak ... ya da en iyi uygulama felsefesini uygun ne olursa olsun.