Nowości z php.internals – głosowanie nad nowościami w PHP 5.4

W ostatnim wpisie na php.internals, Stas Malyshev przedstawił listę zmian i nowości, nad wprowadzeniem których do PHP 5.4 odbędzie się głosowanie. Oto ich lista:

  1. Dodanie zarezerwowanej przestrzeni nazw „php”
  2. Zarezerwowanie nazw typów prostych jako słów kluczowych (string, int etc) na wypadek, gdyby kiedyś było to potrzebne (type hinting)
  3. Dodanie błędów klasy E_STRICT do klasy E_ALL
  4. Całkowite usunięcie magic_quotes
  5. Binarna notacja dla liczb całkowitych (np 0b10101)
  6. Krótka notacja dla tablic, czyli [‚raz’,’dwa’,’trzy’] == array(‚raz’,’dwa’,’trzy’)
  7. Nowa opcja w php.ini „disable post data processing”
  8. Wbudowany deweloperski mini serwer www
  9. Możliwość ustawienia klasy, jako sposobu obsługi sesji
  10. Dodanie nowego type hint „callback”, który sprawdzał by, czy argument przekazany do funkcji jest wywoływalny – sprawdzenie dla „Closure”, array($obiekt,’nazwa_metody’), $nazwaFunkcji

Moim zdaniem każda z tych zmian/dodatków ma duży sens i jest przydatny, chętnie bym wszystkie je widział w kolejnej wersji interpretera. Jedyna rzecz do której mógłbym się przyczepić to punk nr.9 – możliwość ustawienia klasy jako handlera sesji. Wg. mnie ustawienie klasy jest bez sensu i świetnie pokazuje, czym jest tzw COP (Class Oriented Programming). Jeżeli chcemy pisać w duchu OOP (Object Oriented Programming) to handler sesji powinien być ustalany jako obiekt klasy implementującej jakiś interfejs (np. „SessionStorage”).

Co sądzicie o proponowanych zmianach ?

  1. scanner pisze:

    1. tak
    2. tak
    3. nieistotne IMHO
    4. tak
    5. może być
    6. niekoniecznie
    7. może być
    8. NIE
    9. niekoniecznie
    10 tak

  2. DeyV pisze:

    Dobry człowiek z Ciebie, od razu nam w biurze poprawiłeś humor. Szkoda tylkoże trzeba będzie jeszcze na to trochę poczekać…

  3. bastard13 pisze:

    2. Mogliby pójść dalej i w końcu zacząć używać twardego typowania, choć zdaję sobie sprawę, że spowodowałoby to masę komplikacji.
    6. Może być, chociaż osobiście mi się nie podoba.
    8. Po co?
    9. Tutaj w pełni się z Tobą zgadzam, że implementacja jakiegoś interfejsu byłaby czymś idealnym, ale nawet bez tego byłoby fajnie dostać coś takiego.
    Co do reszty to bez komentarza jestem za:)

  4. @bastard: mocne typowanie ma swoje zalety, ale uważam, że w tym momencie wprowadzenie go do ekosystemu PHP było by bardzo problematyczne

    co do punktu 8. była już dość długa dyskusja na ten temat, w jednym z poprzednich moich wpisów, natomiast, jako, że feature nie ma żadnych negatywnych reperkusji (można go używać albo i nie) to nie widzę przeciwwskazań by je dołączyć do standardowej dystrybucji

  5. @DeyV: wersja alfa ma wyjść podobno 20 czerwca, także będzie można się już niektórymi rzeczami pobawić 😉

  6. singles pisze:

    1. Tak (czyżby krok w kierunku uporządkowania?)
    2. Nie – jak będzie potrzebne, to wtedy ustawić.
    3. Tak
    4. Tak
    5. Nie robi mi
    6. Yes, yes, yes!
    7. Nie wiem na czym miałaby polegać
    8. Patrz niżej.
    9. Popieram Wojtka, lepiej obiekt niż klasę.
    10. Tak

    Co do tego serwera developerskiego mam mieszane uczucia – w takim Django czy Railsach fajną sprawą jest wbudowany prosty serwer, natomiast to są frameworki a nie jezyk. Ale jeśli dzięki temu frameworki mogłyby zaimplementować coś na wzór wyżej wymienionych, to jestem za.

  7. Mam ogólnie wrażenie, że jest to najmniej kontrowersyjny zestaw ficzerów, jaki można było skompletować ;P

  8. Alan Gabriel Bem pisze:

    Wbudowany serwer został niedawno wrzucony na SVN

    http://news.php.net/php.cvs/65296

  1. […] na blogu Wojtka Soczyńskiego pojawił się interesujący wpis wymieniający listę nowości i zmian jakie prawdopodobnie pojawią się w kolejnym dużym wydaniu […]

Leave a Reply

Informuj mnie o odpowiedziach poprzez e-mail. Możesz również subskrybować wpis bez zostawiania komentarza.