Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Sens pisania klasy
Forum PHP.pl > Forum > Przedszkole
Adi32
Witajcie.

Mam zapotrzebowanie na pewien rodzaj klasy jednak postanowiłem napisać ponieważ może coś takiego już w PHP jest mimo że nie mogłem nic na ten temat znaleźć.

Taki prosty przykładowy kod:

  1. $explode = explode(',',$array);
  2. $first = $explode[0];
  3. echo $first;


jest dla mnie denerwujący i uciążliwy [...] dlatego planuje napisać klasę pomocniczą:

  1. echo explode::expl(',',$array)->getFirst();
  2. $numeric = explode::expl(',',$array)->getNumeric();


itp.

Dodam, że nie chodzi tylko o explode() ale w szczególności.

Czy uważacie, że takie rozwiązanie ma sens?
Pytam bo jestem zwolennikiem najlepszego możliwego rozwiązania.
Crozin
Składnia PHP jest bardzo... niedopracowana. A raczej parser jest bardzo niedopracowany, przez co konstrukcja explode(...)[0] jest z jakiś powodów niedostępna. Jednak w tym konkretnym przypadku mógłbyś napisać:
  1. $first = reset(explode(',', $array));
Adi32
Cytat(Crozin @ 6.12.2011, 16:47:46 ) *
Składnia PHP jest bardzo... niedopracowana. A raczej parser jest bardzo niedopracowany, przez co konstrukcja explode(...)[0] jest z jakiś powodów niedostępna. Jednak w tym konkretnym przypadku mógłbyś napisać:
  1. $first = reset(explode(',', $array));


I właśnie z tego powodu wpadłem na pomysł napisania klasy, która byłaby przydatna nawet gdyby taka składnia była możliwa.
Ogólnie miałaby tam też zastosowanie inne funkcje zwracające tablice jak np. preg_match, preg_match_all i co tam by jeszcze nie było.

P.S. Zdawało mi się, że reset referencyjnie ustawia wewnętrzny wskaźnik tablicy na pierwszą pozycję, a nie ją zwraca?
Crozin
Cytat
P.S. Zdawało mi się, że reset referencyjnie ustawia wewnętrzny wskaźnik tablicy na pierwszą pozycję, a nie ją zwraca?
Bo ustawia wew. wskaźnik tablicy na jej pierwszym elemencie, ale dodatkowo zwraca ów pierwszy element.
Adi32
Cytat(Crozin @ 6.12.2011, 17:00:56 ) *
Bo ustawia wew. wskaźnik tablicy na jej pierwszym elemencie, ale dodatkowo zwraca ów pierwszy element.


Dobrze wiedzieć. Nie doczytałem w manualu...
Crozin
Przecież manual to bardzo jasno opisuje, reset:
Cytat
reset() rewinds array's internal pointer to the first element and returns the value of the first array element.
Adi32
Tak tak, zgadza się. Mam jakiś nawyk, że przewijam do przykładów.
vokiel
PHP 5.4 daje kilka takich możliwości. Ale póki go nie ma, trzeba sobie radzić.

Poza reset można skorzystać z list:
  1. list($pierwszy_element) = explode(',', $array);
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.