Beklenen php konular: php5/mysql5 için php4/mysql4 geçiyorsunuz?

3 Cevap php

Ben eski bir web uygulaması php4/mysql4 (MyISAM, db bazı cms, bazı kullanıcı verilerini, bazı takvim uygulaması içerir) var. Şimdi php5/mysql5 ile yeni bir sunucuya geçiş için gidiyorum.

Böyle tipik bir göç manzarası içinde php konular (php, sql sorguları, bir şey) nedir?

Ben fonksiyon parametre geçişi değiştiğini duydum, call-by-reference / call-by-value. Bir örnek vermek ya da açıklayabilir misiniz?

Başka bir şey ben farkında olmalıdır?

(Mysql konular, farklı bir soru kaplıdır: http://stackoverflow.com/questions/745787/migrating-php4-mysql4-to-php5-mysql5-switch-to-innodb)

3 Cevap

PHP 4/5 uyumluluk sorunları çoğu iki şey vardır:

  • yeni ayrılmış kelimeler
  • Yeni bir sınıf / object backend

En v4 kod v5 sadece iyi çalışacaktır. Eğer sorunlara karşı çalıştırmak için muhtemel olduğu v4 sınıf modeli sınırlamaları bağlıdır veya V4 referans tuhaflıklar yararlanır kodudur. Fakat insanların çoğu bu sınırlar karşı kod yok (Ben - ben orada olduklarını biliyorum yüzden).

Eğer sınıf / nesne sınırları ile sıkışmış iseniz, sınıflar ve nesneler v4 gibi davranmasını sağlayan bir "v1" modunda Zend motoru çalıştırabilirsiniz. This is documented.

Ben iyi geçiş yardım from the PHP guys themselves. olduğunu düşünüyorum

Ben bir göç ortasında ve ben aliasing sorunları çok buluyorum.

Eğer temiz bir kod olmasını istiyorsanız, o zaman size özel parçacığını için uygun bir çözüm bulmak gerekir. Temizlik önemli değilse, bu işlev gerçekten yararlı olabilir:

function php4_clone($object) {
	if (version_compare(phpversion(), '5.0') < 0) {
		return $object;
	} else {
		return @clone($object);
	}
}