Niezalogowany [ logowanie ]
Subskrybuj kanał ATOM Kanał ATOM

Autor wpisu: Tomasz Kowalczyk, dodany: 16.09.2011 00:51, tagi: symfony, doctrine

Jakiś czas temu rozpoczynałem kolejny projekt oparty o framework symfony. Do tej pory tworzenie modeli na podstawie klas wygenerowanych z opisu w pliku schema.yml było najprzyjemniejszą częścią pracy. Okazało się jednak, że nie wszystko wygląda tak różowo, jakby mogło się na pierwszy rzut oka zdawać. Mechanizm przetwarzający ma problem z pewnymi nazwami, który to problem [...]

Autor wpisu: Wojciech Sznapka, dodany: 15.09.2011 15:33, tagi: php, symfony, symfony2

Poniżej slajdy z mojej prezentacji, którą wygłosiłem na InternetBeta 2011 w Rzeszowie. Zapraszam do zapoznania się z slajdami. Łebski Development czyli kiedy i dlaczego tworzyć oprogramowanie pod klucz i dlaczego framework Symfony2 pasuje tu jak ulał? View more presentations from Wojciech Sznapka

Autor wpisu: JoShiMa, dodany: 14.09.2011 13:15, tagi: jquery, framework, php, skrypty

W poprzednim artykule pokazałam jak w kohana 2 stworzyć formularz za pomocą modułu formo. Nadmieniłam też, że w pewnych sytuacjach przydałoby się wykorzystać javascript, a ściślej mówiąc framework jQuery, żeby część formularza odpowiedzialna za ustalanie daty była bardziej funkcjonalna. Poza tym doszłam do wniosku, ze wykorzystanie jQuery może znacznie poprawić usability. Nie jestem miłośnikiem JavaScript, [...]

Autor wpisu: Tomasz Kowalczyk, dodany: 14.09.2011 09:25, tagi: javascript, jquery

Kontynuując naprawianie mojego lenistwa związanego z publikacją wpisów na blogu oddaję w Wasze ręce kolejny Linkdump, tym razem poświęcony najpopularniejszej bibliotece / frameworkowi JavaScriptu - jQuery. Mam nadzieję, że zebrane tu informacje po raz kolejny będą dla Was przydatne i znajdą zastosowanie zarówno w projektach komercyjnych, jak też we własnym domowym "dziubaniu" kodu. Zapraszam do [...]

Autor wpisu: Michal Wachowski, dodany: 14.09.2011 01:29, tagi: php

Kolekcje mogą być różne. Jedni mają kolekcję znaczków, jak byłem mały to miało się kolekcję aut z gumy Turbo.Programiści mają kolekcje obiektów i o nich dziś będzie.

Autor wpisu: Tomasz Kowalczyk, dodany: 13.09.2011 19:24, tagi: javascript, php

Tak się składa, że praktycznie każdy człowiek ma "swój dzień" w roku. Niezależnie od zawodu (mechanik, hydraulik), relacji z bliskimi (mama, dziadek), czy też innych "tytułów", jakie możemy uzyskać w naszym społeczeństwie, każdemu się należy. Niniejszym wszem i wobec obwieszczam, że dzisiaj, trzynastego dnia miesiąca września jest... Dzień Programisty! Z tej okazji zapraszam do lektury [...]

Autor wpisu: Śpiechu, dodany: 13.09.2011 10:01, tagi: php

Dziś w programie lżejszy zamiennik dla funkcji get_browser()PHP User Agent. Za pomocą skryptu jesteśmy w stanie określić jakiej przeglądarki i systemu operacyjnego użytkownik używa. Oryginalna funkcja potrzebuje pliku browscap.ini, który obecnie zajmuje 405KB, co przekłada się na szybkość działania. Poza tym istnieje niebezpieczeństwo, że na serwerze produkcyjnym nie dadzą nam dostępu do w/w funkcji. (A przynajmniej tak piszą ;-) )

Całość składa się z dwóch klas. Skrypt nie stosuje przestrzeni nazw, za to jest całkiem nieźle udokumentowany. Ponadto jest trochę testów jednostkowych.

Używanie jest bardzo proste. Wystarczy stworzyć obiekt phpUserAgent i można szaleć.

$ua = new phpUserAgent();
echo $ua->getBrowserName();     // firefox
echo $ua->getBrowserVersion();   // 3.6
echo $ua->getOperatingSystem(); // linux
echo $ua->getEngine();            // gecko

Gdy nie podamy parametrów, obiekt korzysta z bieżącej zmiennej $_SERVER['HTTP_USER_AGENT']. Można samemu wymusić inny ciąg do rozpoznania podając w konstruktorze.

Dla typowych konfiguracji użytkownika skrypt działa całkiem nieźle. Rozpoznaje również aliasy nazw przeglądarek i systemów operacyjnych. Z testów jednostkowych widzę, że próbuje również rozpoznawać boty wyszukiwarek.

Patrząc na skrypt przyszłościowo już widzę rozrastającą się listę nazw i aliasów oraz autora powoli przestającego panować nad tym wszystkim. Na razie działa, ale co będzie później? Wg mnie architektura całości jest trochę niedopracowana. Aż prosi się o użycie wzorca projektowego Łańcuch zobowiązań, którego ogniwami będą poszczególne przeglądarki i to w ich gestii będzie rozpoznać siebie w podanym im ciągu. Żeby nie uderzyć tak bardzo w wydajność skryptu, łańcuch powinny rozpoczynać najczęściej używane przeglądarki aż do typu Unknown.

Wszystkie wpisy należą do ich twórców. PHP.pl nie ponosi odpowiedzialności za treść wpisów.