Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: php 5.2 wydany
Forum PHP.pl > Inne > Hydepark
Bastion
Bo nie wiadomo kiedy bedzie o tym na vortalu :

http://www.php.net/ChangeLog-5.php#5.2.0
Cysiaczek
Mam pytanie dotyczące tego tekstu:
Cytat
Starting with php 5.2, interfaces can have constructors. However, if you choose
to declare a constructor in an interface, each class implementing that interface
MUST include a constructor with a signature matching that of the base interface
constructor. By 'signature' we mean the parameter and return type definitions,
including any type hints and including whether the data is passed by reference
or by value.


Czy to oznacza możliwość częściowej implementacji konstuktora w interfejsie? Bo trochę niejasne to dla mnie :|
Sabistik
Bo trudno było napisać zdanie na ircu...
dr_bonzo
Cytat
Czy to oznacza możliwość częściowej implementacji konstuktora w interfejsie? Bo trochę niejasne to dla mnie :|

Gdy deklarujesz wklasie implementjacej ten interfejs konstruktor to musi miec on IDENTYCZNA SYGNATURE -- czyli przepisujesz ja z interfejsu i uzupelniasz o cialo metody ( {to}).

Cytat
By 'signature' we mean the parameter and return type definitions

Jaki 'return type'? Jak da sie go zdefiniowac?questionmark.gif


Cytat
Changed __toString() to be called wherever applicable. (Marcus)

Eeee - to chyba w 5.1 juz bylo smile.gif -- Bastion, sprawdz jak ci ten Simplexml zadziala biggrin.gif
Cudi
'return type definition' dla konstruktora? biggrin.gif Nawet gdyby php obsługiwało takie coś jak definicja zwracanego typu, to konstruktor przecież tak czy siak niczego nie zwraca (jawnie, żeby nie było niedomówień). Ktoś się chyba pomylił, albo skopiował definicje sygnatury metody z Wikipedii tongue.gif
Cysiaczek
Może ktoś ma aktualnie zainstalowane 5.2 i może sprawdzić? Sam bym sprawdził, ale jako człowiek leniwy użyłem paczek przy instalacji i teraz cierpię rolleyes.gif
dr_bonzo
Czlowieku leniwy -- sam sobie zainstaluj w innym katalogu (--prefix=/sss/aaa/php)
tsharek
Cytat
- Dropped abstract static class functions. (Marcus)

Due to an oversight, php 5.0 and 5.1 allowed abstract static functions in
classes. In php 5.2, only interfaces can have them.


Czy mógłby mi ktoś wyjaśnić o co tutaj chodzi (najlepiej poprzez przykład) bo teraz nie wiem czy będzie możliwy upgrate moich serwerów do najnowszego php 5.2 jeżeli nie będzie on kompatybilny w dół...
Diabl0
Ja tam nigdy nie trzymam na stabilnych serwerach najnowszych wersji php (no, chyba ze zawierają jakieś bardzo istotne bugfixy związane z bezpieczeństwem). Najpierw testuję swoje aplikacje na serwerze roboczym z najnowszą wersją i zwykle czekam do kolejnego wydania oraz ewentualnych informacji użytkowników. Po prostu stabilność i pewność mają dla mnie dużo większe znaczenie niż numerek wersji, garść nowych funkcji czy nawet niewielki wzrost wydajności (to mi akurat rekompensują odpowiednio wydajne serwery gdzie zwykle słabym ogniwem jest baza danych a nie php).
dr_bonzo
tsharek: sprawdz czy masz wewnatrz klas abstrakcyjnych "static abstract function" lub "abstract static function" (nie wiem ktora kolejnosc jest wlasciwa smile.gif)
Jesli masz, to ci nie ruszy na 5.2
tsharek
Cytat(dr_bonzo @ 3.11.2006, 12:56:10 ) *
tsharek: sprawdz czy masz wewnatrz klas abstrakcyjnych "static abstract function" lub "abstract static function" (nie wiem ktora kolejnosc jest wlasciwa smile.gif)
Jesli masz, to ci nie ruszy na 5.2


dzięki za info:) będe greepować pod tym kontem. a czy ktoś może mi powiedzieć dlaczego została wprowadzona taka zmiana?
Cysiaczek
Strict Standards: Static function testy::check() should not be abstract in [...]

Działa, ale faktycznie lepiej dmuchać na zimne. guitar.gif

  1. <?php
  2. abstract class testy{
  3.  
  4. abstract static function check();
  5. }
  6.  
  7. class work extends testy{
  8.  
  9. static function check(){
  10. print "Here I'm";
  11. }
  12. }
  13.  
  14. work::check();
  15. //Here I'm
  16. ?>
php programmer
Co z tego, że powstała kolejna wersja php 5,
skoro żadni administratorzy serwerów,
nie instalują nic powyżej php 4 ze względu
na strach przed niekompatybilnością
NuLL
Cytat
Co z tego, że powstała kolejna wersja php 5,skoro żadni administratorzy serwerów, nie instalują nic powyżej php 4 ze względuna strach przed niekompatybilnością

Ja mam kliencie FTP linki do 8 serwerow to ktorych mam dostep - na kazdym jest php 5 a na polowie 5.1 z PDO itp tongue.gif
Master Miko
Czy config się czymś różni od poprzedniej wersji, czy można podmieniać wszystko jak leci?

btw. mój hoster dał php 5.05 i nie chce mu się od roku upgradwać "bo to wiąże się z wieloma problemami..."
Martio
Cytat(php programmer @ 4.11.2006, 10:35:47 ) *
Co z tego, że powstała kolejna wersja php 5,
skoro żadni administratorzy serwerów,
nie instalują nic powyżej php 4 ze względu
na strach przed niekompatybilnością


Na Progreso.pl jest już skompliowane php 5.2.0, ale czekają na Zend Optimizera wspierającego tą wersję. Na dniach będzie php 5.2.0. Cieszę się, że chociaż na tą firmę można liczyć...
Diabl0
Cytat(Martio @ 4.11.2006, 10:28:01 ) *
czekają na Zend Optimizera wspierającego tą wersję.


Też czekam na optymizera i na nowe Zend Studio (bez debugera to nie życie). Na razie na 3 projektach (testowanych) nie stwierdziłem problemów z kompatybilnością w porównaniu do 5.1 (PHP4 już od dawna nie używam)...
Whisller
Piknie smile.gif No to za kilka dni na serwerze potestuję sobie wersje 5.2 smile.gif
Seth
Dodam od siebie, ze w koncu PDO w php 5.2.0 dziala jak trzeba.
Szkoda tylko, ze Zend Platform jeszcze nie wspiera nowej wersji.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.