Po wielu nerwowych godzinach spędzonych przy PHP postanowiłem podzielić się z innymi użytkownikami internetu na temat moich spostrzeżeń odnośnie do języka i platformy PHP - zarówno tych negatywnych jak i pozytywnych (choć tych będzie chyba trochę mniej). Język ten rozwija się stosunkowo powoli, a twórcy późno dochodzą do wniosków, do których doszli twórcy takich języków jak Python już w fazie projektowania.
W pierwszych artykułach doczepię się gramatyki języka, której w mojej ocenie brakuje kilku "drobiazgów".
Na pierwszy ogień niech pójdą tablice i praca z nimi.
Konstrukcja znana z wielu języków programowania (chociażby Python, Java, JavaScript itp, itd). Niestety w PHP 5.3 kod ten się nie wykona - zobaczymy piękny komunikat "syntax error". Konstrukcja ta została wprowadzona stosunkowo niedawno w wersji 5.4 (programiści PHP musieli czekać do drugiej dekady XXI wieku na coś, co w innych językach jest od samego początku), która póki co nie jest zainstalowana na zbyt wielu serwerach, które oferują konta hostingowe.
Problem ten w PHP można obejść na kilka sposobów, ale żaden z nich nie jest dla mnie zadowalający:
Sposób 1:
Artykuł udostępniany na licencji CC-BY-SA-3.0
W pierwszych artykułach doczepię się gramatyki języka, której w mojej ocenie brakuje kilku "drobiazgów".
Na pierwszy ogień niech pójdą tablice i praca z nimi.
<?php
$element_trzeci = $obiekt->pobierz_tablice()[2];
?>
Konstrukcja znana z wielu języków programowania (chociażby Python, Java, JavaScript itp, itd). Niestety w PHP 5.3 kod ten się nie wykona - zobaczymy piękny komunikat "syntax error". Konstrukcja ta została wprowadzona stosunkowo niedawno w wersji 5.4 (programiści PHP musieli czekać do drugiej dekady XXI wieku na coś, co w innych językach jest od samego początku), która póki co nie jest zainstalowana na zbyt wielu serwerach, które oferują konta hostingowe.
Problem ten w PHP można obejść na kilka sposobów, ale żaden z nich nie jest dla mnie zadowalający:
Sposób 1:
<?phpSposób 2:
$tablica = $obiekt->pobierz_tablice();
$element_trzeci = $tablica[2];
?>
Pierwszy sposób irytuje mnie tym, że muszę napisać 2 linie kodu zamiast 2 i zarezerwować pamięć na 2 zmienne. Wypadałoby również zwolnić zmienną $tablica, bo przecież nie jest potrzebna, więc wchodzi w grę "unset", co daje w sumie 3 linie kodu (zamiast jednej). Drugi sposób jest niezbyt elegancki i w ogóle niepraktyczny jeśli chcemy pobrać np. 10 element, albo przedostatni.<?php
list( , , $element_trzeci) = $obiekt->pobierz_tablice();
?>
Artykuł udostępniany na licencji CC-BY-SA-3.0
Komentarze
Prześlij komentarz