Ben bir tavşan deliğinden beni neden olan bir özel hata işleyicisi kullanarak parlak bir fikri vardı.
Aşağıdaki kodu (özel hata işleyicisi ile ve olmadan) verir: Fatal error: Only variables can be passed by reference
function foo(){
$b=array_pop(array("a","b","c"));
return $b;
}
print_r(foo());
Aşağıdaki kodu verir (only with a custom error handler): (2048) Only variables should be passed by reference
function foo(){
$a=explode( '/' , 'a/b/c');
$c=array_pop(array_slice($a,-2,1));
return $c;
}
print_r(foo());
Ben 'kompakt' bir sürü kod var çünkü ikinci bir beni endişelendiriyor. Yani, ben de (benim günlük modülü geliştirmek için) veya tüm kodumu genişletmek bir özel hata işleyicisi kullanarak parlak bir fikir hendek.
Iyi fikirler herkes? Ayrıca, WTF?
UPDATE:
Php hata işleme nasıl çalıştığı hakkında bir şeyler öğrendim cevaplar sayesinde. E_STRICT (php 5) dahil değil E_ALL ait karışıklık serin değil.
Tüm bunların üstüne, kendi özel hata işleyicisi oluşturma varsayılan ve sorunlar başlar thats tarafından E_STRICT sağlar.
Hikayenin ahlaki onları TÜM yakalamak ve filtreleme yapmak hata sabitleri (E_STRICT, E_USER_WARNING, E_USER_ERROR, vb) kullanmak için kendi hata işleyicisi kullanmaktır.
Değişken başvuruları ve bazı fonksiyonları ile 'hafıza yolsuzluk sorunu' gelince, ben ne diyebilirim? Çifte cool. Benim hata işleyicisi ve hayat devam ediyor in E_STRICT görmezden (Eğer gerektiği anlamına gelmez ki) olacak.