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:
1 | 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.
1 2 3 4 | abstract class Foo { abstract private function Bar() {} } |
hata mesaji:
1 | Fatal error: Abstract function Foo::bar() cannot be declared private in C:\xampp\htdocs\php53\abs.php on line 4 |
Metod Signaturu:
01 02 03 04 05 06 07 08 09 10 11 12 | 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.
1 2 3 4 | 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 […]