php 5.3 serimizin ikinci yazisinda, php5.3 e geciste karsilasila bilinicek bir kac hataya deginecegiz.
Öncelikle, php 5.3 ile gelen iki anahtar sözcük var, bunlar namespace ve goto, sinif, metod ve fonksiyonlarinizi bu sekilde adlandirdiysaniz, php 5.3 e geciste bunlarin adini degistirmek zorunda kalicaksiniz, yoksa bu hata mesaji ile karsilasa bilirsiniz:
Parse error: syntax error, unexpected T_GOTO, expecting T_STRING or '(' in C:\xampp\htdocs\php53\keywords.php on line 2
diger anahtar sözcükleri burada bula bilirsiniz:
sertlesen oop kurallari:
abstract methodlar artik private olamazlar,
yani su sekil bir kodunuz varsa hata verecekdir.
abstract class Foo { abstract private function Bar() {} }
hata mesaji:
Fatal error: Abstract function Foo::bar() cannot be declared private in C:\xampp\htdocs\php53\abs.php on line 4
Metod Signaturu:
class Foo { public function Bar($a) { } } clas Foo2 extends Foo { public function Bar($a,$b){} }
yukardaki gördügümüz gibi extend edilen bir sinifda method signaturu uymadigi zaman bir E_STRICT hatasi veriyordu
bu hata mesajini görmek istemiyorsak b ye bir default deger vermemiz yetiyor.
clas Foo2 extends Foo { public function Bar($a,$b=null){} }
Sihirli islemler, __get, __set, __isset, _unset, __call, __callstatic artik public deyan etmek lazim ve onun yaninda artik static de olalamazlar.
__toString e parametre vermek de yasaktir
ve son olarakta timezone ortam degiskeni [date_default_timezone_set(‘Europe/Berlin’)] ayarlanmamissa php 5.3 de yine bir hatayla karsilasa bilirsiniz.
One comment
[…] -Düsen ve istenmeyen özellikler Migrasyon sorunlari […]