Underscore.php – biblioteka przydatnych funkcji w PHP

under-title.jpg

Underscore.php to nic innego jak bezpośredni port bardzo popularnej wśród programistów JavaScript biblioteki Underscore.js. Zapewnia nam ona bardzo dużą liczbę prostych, ale często przydatnych funkcji, które ułatwią nam pracę w PHP. Jestem pewien, że wiele z tych funkcji już sami sobie napisaliście podczas tworzenia swoich aplikacji, ale moim zdaniem warto przeglądnąć możliwości jakie daje nam stosowanie Underscore.php

W ramach biblioteki otrzymamy następujące narzędzia:

  • zarządzanie kolekcjami
  • zarządzanie tablicami
  • wspomagające tworzenie funkcji
  • zarządzanie obiektami

Myślę że warto pokazać kilka przykładowych możliwości Underscore.php. Jedną z ciekawszych funkcji jest metoda map, która pozwala nam zastosować jakąś funkcje na wszystkich kolejnych elementach kolekcji lub tablicy np.:

$result = __::map(
array(1, 2, 3),
function($num)
{
return $num * 3;
}
);

zwróci nam wynik w postaci:

array(3, 6, 9)

Kolejnym ciekawym przykładem jest metoda max, która pozwala nam pobranie maksymalnej wartości danej kolekcji lub wielowymiarowej tablicy według interesującego nas kryterium. Poniżej przykład:

$stooges = array(
array('name'=>'moe', 'age'=>40),
array('name'=>'larry', 'age'=>50),
array('name'=>'curly', 'age'=>60)
);

__::max($stooges, function($stooge) { return $stooge['age']; });

Co ostatecznie zwróci nam wynik w postaci tablicy, która posiada najwyższą wartość “age” razem z pozostałą wartością danej tablicy.

array('name'=>'curly', 'age'=>60)

Polecam przeglądnąć bardzo prostą dokumentacje znajdującą się na stronie głównej biblioteki, która zawiera zrozumiałe i obrazowe przykłady działania poszczególnych funkcji. Underscore.php wymaga PHP w wersji minimum 5.3 lub wyższej, choć nie powinno to obecnie być dużym problemem, warto o tym wspomnieć. Polecam także poczytać trochę o anonimowych funkcjach w PHP, gdyż są one często stosowane wraz z tą biblioteką.

DyskusjaKomentarze: 2

  • mrbongo 29 listopad 2011 22:56
    Fajne. Uzywales tego razem z jakims frameworkiem?
    • Krzysztof Bachula 02 grudzień 2011 13:53
      Tylko we własnym, podobnym w architekturze do CI i Kohany. Wydaje się jednak, że z implementacją w innych FW nie powinno być problemów. Warto jednak przeglądnąć wybrany FW, czy tam już czasem nie ma funkcji, które potrzebujemy. Wiele rozbudowanych FW posiada helpery o podobnych możliwościach.

Dodaj komentarz Komentarze są moderowane, a przy linkach używane jest rel="nofollow". Prosimy o nie reklamowanie i nie spamowanie w komentarzach.
Linki tworzone za pomocą tagu [url] np: [url=www.xyz.pl]xyz[/url]
Źródła za pomoc tagu [code] z wskazaniem języka np. [code=php] echo [/code]

Copyright © 2018 Webnote

Projekt i wykonanie: Xelos

Dodaj link