List do św. Mikołaja twórców PHP
27 grudnia 2007
PHP w wersji 5 już na dobre zadomowiło się na hostingach i naszych domowych (firmowych) stacjach roboczych. Wprowadziło sporo nowości w stosunku do PHP4, no ale ja nie o tym.
Jak wiadomo zbliża się powoli PHP6, ma przynieść trochę nowego - czy lepiej to się okaże. Ja chce się skupić na to czego bym chciał w PHP ;)
Trochę bawiłem sie w C# i muszę powiedzieć, że niektóre rozwiązania tam zastosowane są całkiem wygodne.
string foo = "bar"; string bar = foo.Substring(...)co w PHP mogłoby się przełożyć na:
$foo = "bar"; $bar = $foo->substring(...) // zamiast substr(..)
Jak dla mnie byłoby to o wiele wygodniejsze od używania tych wszystkich funkcji (gdzie każda się inaczej nazywa etc - o tym już gdzieś było). Zaraz ktoś powie, że w C# jest typizacja, że w PHP się tego nie da zrobić, że coś tam... Ja tylko teoretyzuje. Po prostu chciałbym żeby coś takiego było.
Inny ficzer zaczerpnięty z C# który mi się podoba to enkapsulacja zmiennych
class Foo { private int bar; public int Bar { get { return this.bar; } set { this.bar = value; } } }
Obecnie tworzymy sami metody w stylu getFoot() czy setFoo($v) (sami albo są automatycznie generowane - propel) jednak tak byłoby chyba przejrzyściej no i wygodniej
// moja wersja ;) class Foo { private bar; public Bar { get { return $this->bar; } set { $this->bar = $value; } } }
Chciałem jeszcze napisać o tym, żeby wszystkie errory zamieniły się w Exception, ale widzę że w PHP6 fatal`e pozostaną bez zmian. Dlaczego? Nie znalazłem wyjaśnienia. (Jedyna to chyba takie co zrobić w przypadku Unhandled Exception)
Na razie to chyba tyle. Reszta moich życzeń ma być wprowadzona w PHP6 więc nie będę się tu rozwodził na ich temat ;)
4 komentarze
Takie rzeczy to w tylko w pythonie :]
A tak serio. Możliwe by to było w momencie gdyby każdy typ byłby instancja obiektu.
Co do właściwości ( bo tak bodajże się nazywają metody get i set...
Ja bym chciał w php6 w końcu działającą kontrolę nad typami, bo to mnie wcale nie cieszy to że mogę sobie inta używać jako stringa, a stringa jako inta.
To sa takie dwie rzeczy które mi przyszły do głowy podczas zabawy z C# i Javą.
Fakt że w samym pythonie mi się fajnie koduje, ale to głównie poprzez łatwość kontroli tego co się dzieje.
Aaaa i chciałbym żeby kontrola błędów była ułatwiona. Jakby każdy błąd byłby wyjątkiem to kontrola byłaby tak ułatwiona (tak jak w pythonie, łapie wyjątek i obsługuję w zależności od tego czy był to wyjątek którego się spodziewałem, czy też jest to jakiś błąd którego nie chciałem i go loguję).
P.S. No i koniec z register_globals !
register_global ma być wywalone, tak samo jak magic_quotes i pare innych. No PHP ma to do siebie, że ma dynamiczną typizacje (albo jej brak ;p)
Tak wiem że takie wynalazki mają być wyrzucone. Cieszy mnie to tak samo jak śmierć PHP4 już za kilka dni :]
Ja bym chciał by PHP mógłó łączyć się przez TCP, by. móc obsłużyć inny protokół niż Http, FTP SQL