Php 5.3 Migrasyon sorunlari

Temmuz 24th, 2009

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.

Kategoriler: PHP

Etiketler:, Yorum yapın

Yorumlar Beslemesi1 Yorum

  1. Php 5.3 yenilikler, degisikliler vs. | Kadir Özdemir

    [...] -Düsen ve istenmeyen özellikler Migrasyon sorunlari [...]

Yorum yapın

Feed

http://www.skorp.eu / Php 5.3 Migrasyon sorunlari