PHP ad alanlarında geriye uyumlu olun

3 Cevap

Yani PHP isim hakkında okuyor, ve ben, 5.3 daha önceki sürümlerde yazarsanız fark

namespace MyNamespace

Eğer bir ayrıştırma hatası alıyorum.

Bu yani ad alanları geriye doğru uyumlu hale önlemek için herhangi bir yolu var mı, yani kod sadece çökmez?

3 Cevap

Kısa cevap: Hayır.

Daha uzun Cevap: (diğer silinen yanıtları yararlı bilgi yakalamak için eklenmiştir). Yeni Sözdizimi PHP ayrıştırma hatası neden olur, böylece sürümlerinde oluşturulan hataları yakalamak için bir müşteri hatası işleyicisi kullanamazsınız < 5.3. Teorik olarak, bir ön-işlemcisine tarar yazabilirsiniz ve / veya lex / kaynağında ayrıştırmak ve o uyumlu PHP 5.2 olacağını üzerinden bir şeyler yazıyor, ama o çözer daha fazla sorun yaratır.

Belki PHP kullanılan sürümünü sorgulamak ve yeterince yüksek olmadığını eval diyebiliriz. Bu olsa çalışacaktır eğer ben bilmiyorum.

Aslında, ben bunun mümkün olduğunu düşünüyorum, ama ben buna değer olduğuna inanmıyorum. Fikir yeni dilbilgisi göre PHP dosyalarını ayrıştırmak ve geçerli PHP olacak şekilde sözdizimi gerekli değişiklikleri yapacak özel varsayılan stream wrapper, oluşturmak olacaktır < 5.3.

Sarıcı Foo_Bar_Baz ile böyle Foo\Bar\Baz gibi sınıf isimlerini değiştirmek zorunda kalacak. Şu anda bu imkansız kılacak bir şey varsa emin değilim.

Neyse, ben bu çabaya değer olduğuna inanmıyorum. PHP 5.3 yükseltin.

Oh, bu sarıcı kod PHP