Temat: Built-in web server
Michał Wachowski:
Z mojej perspektywy wygląda to ciut inaczej:
- $this i bindTo w closure - oszczędzi masę pieprzenia (choć osobiście wolał bym by bindTo nazywał się bind)
Obstawiam że bind chcą do czegoś innego użyć. Do teraz im nie mogę wybaczyć że w PHP używa się -> zamiast ".". Ale mam nadzieje że coś za tym stoi w tym wypadku.
- wywołanie metody z konstruktora ( (new Foo())->bar() ),
- wywołanie elementu z wyniku metody ( $Foo->bar()[0] ),
Z tym ostatnim to racja ale wątpię bym to często używał, poza sytuacjami gdzie funkcja/metoda ZAWSZE zwróci tablicę mającą chociaż jeden element. W innym wypadku była by to wylęgarnia noticów.
- traity, ale mam wrażenie, że będą miejscem powstawania wielkiego smrodu w kodzie,
Jak ze wszystkim innym, w dobrych rękach to będzie świetne narzędzie. Ale obstawiam że będzie sporo takich co jak dostanie tego typu młotek to wszędzie zacznie widzieć gwoździe. Już widzę taki ruch z funkcjami anonimowymi.
- tak samo jak callable array - mądrze wykorzystane będzie dobre,
- callable jako nowy type hint,
True, obawiałem się że w wypadku przekazywania metod będzie trzeba za każdym razem wewnątrz sprawdzać is_callable(). Przy okazji tego tematu warto też przypomnieć że dodali też "default". Więc w wypadku:
function test($name, $mode = 0, array $data = array());
Zamiast robić to w ten sposób:
test('darek', 0, array('age' => 25));
będziesz mógł to zrobić tak:
test('darek', default, array('age' => 25));
Niby malutka zmiana ale z drugiej strony jak się parametr domyślny zmieni to nie będzie trzeba tego przestawiać w kodzie. Świetne na wypadek gdy jednego z parametrów mających wartość domyślną nie chcemy ruszać a kolejne już tak.
- Class::{'method'} - wreszcie dodali,
- upload progress - HTML5 załatwia to bez potrzeby odpytywania serwera,
True... ale IE chyba nadal nie ma wsparcia dla wysyłki plików poprzez Ajax. Więc zostanie chyba stary trik czyli iframe (w wypadku wysyłki prawie że "bez przeładowania").
- tworzenie tablic przez [] - nie wnosi nic do języka - ułatwi tylko pracę ludziom którzy co chwilę skaczą między JS/Python/PHP itp.
Zawsze to parę znaków mnie ale akurat ta zmiana nie wywarła na mnie większego znaczenia jak mówiłem. Teraz tylko poczekać aż troszkę się pobawią z przestrzeniami nazw bo tutaj są nadal spore braki.