Bu php downcasting çözüm nasıl pahalı

2 Cevap php

Bu soru, http://stackoverflow.com/questions/1721949/downcasting-in-php5 ile ilgilidir

Bu php downcasting çözüm ne kadar pahalı?

Bu php downcasting çözüm çok pahalı mı?

Ben microtimes yankılandı ettik ve Onu 0.001 gibi alır gibi görünüyor. Büyük bir foreachta bir sorun olabilir acaba.

public static function to($obj) {

	return unserialize(preg_replace(
	'/^O:\d+:\"(\w+)/',
	'O:' . strlen('this_class_name') . ':"' . 'this_class_name',
	serialize($obj)));
}

http://php.net/manual/en/language.types.type-juggling.php açıklamalarda önerilen çözümler benzer.

2 Cevap

Süresi 0.001 (saniye, sanırım) sunarak, operasyon hakkında ne kadar pahalı kendi soru cevap görünmektedir.

O too pahalı olmadığı gibi, ben en iyi alternatifleri karşılaştırarak cevap söyleyebilirim.

Bir alternatif, diğer SO sorunun cevabını, yeni bir nesne oluşturmak için olduğunu. Sen bu yaklaşım daha hızlı olup olmadığını görmek için denemek gerekir.

Sizin pasajı hantal görünüyor, ve PHP sayfasında "dot com smartsemantics at toma" den görünüyor. Ben sorun hakkında biraz bağlam downcasting içermeyen herhangi bir alternatifi var olup olmadığını görmek için, sizin $obj ne olabileceğini anlamaya çalışıyorum ve.

Muhtemelen, downcasting kasıtlı downcasting kullanarak insanları caydırmak için PHP yasaktır. Bunu gerektiren bir cepten tasarım Liskov ikamesi ilkesine göre kusurlu olmasıdır.

Gerçekten bu, yerine size uygulama düzeyinde bir programlama diline yüksek düzeyde işlevselliğini uygulamak için çalışıyoruz gerçeği ile kendinizi endişe nasıl pahalı ile ilgili olması gerektiğini sanmıyorum. Bu sadece çok kötü bir fikir gibi görünüyor.

Downcasting web uygulama içinde gerekli ise, belki PHP bunun için en iyi seçim değildir. Ancak ciddi downcasting really bunu hep birlikte kullanarak önleyebilirsiniz daha iyi bir tasarım ile, gerekli olduğundan şüpheliyim.