Linkdump #49: Symfonia symfony 1.x / Symfony2.

Pomimo raczej niezbyt odległej w czasie premiery stabilnej wersji Symfony2 wiele istniejących aplikacji zostało napisanych w pierwszej wersji tego frameworka i niestety przeniesienie ich na “dwójkę” nie jest możliwe z wielu powodów. W związku z tym, że pomimo tego, że ekscytujemy się nowymi możliwościami w kodzie, nadal musimy utrzymywać te starsze, dzisiejszy Linkdump chciałbym poświęcić zarówno Symfony2, jak i symfony 1.x, z którym będziemy mieli do czynienia jeszcze przez co najmniej parę lat. Zobaczmy, co można “wycisnąć” z obu wersji tego frameworka.

PHP: Sprawdzanie rozdzielczości pliku graficznego.

Kilka dni temu trafiłem na pytanie o pomoc w przeskalowaniu obrazka do uploadu na pewnej stronie internetowej. Pomyślałem sobie: “kurczę, znowu ktoś nie umie takich podstawowych rzeczy”, aczkolwiek w opisanych wymaganiach znalazły się nie tylko informacje na temat docelowego rozmiaru, ale także rozdzielczości. Nauczony doświadczeniem zasugerowałem, żeby ten ostatni parametr zostawić w spokoju, ponieważ “i tak go nie sprawdzą”. W odpowiedzi dostałem jednak informację, że właśnie dlatego próby samodzielnej zmiany wymiarów nie przechodzą walidacji formularza. Stwierdziłem, że warto będzie zobaczyć, w jaki sposób można sprawdzić taki parametr na własną rękę.

WAMPServer, PHP: Problem z aktywacją rozszerzenia php_intl.

W przypadku wielu programów ich twórcy chwalą swoje produkty jako działające bezbłędnie, mimo nieustannych prób użytkownika skierowanych w stronę zakłócenia tego błogostanu. O ile zdecydowana część tychże spełnia wspomniane warunki, o tyle kosztem osiągnięcia takiego celu jest głównie poprawność działania wyłącznie w zakresie podstawowych funkcji. Jeśli użytkownik zechce zrobić coś bardziej zaawansowanego - wtedy zaczynają się schody. W dzisiejszym wpisie chciałbym omówić jeden taki problem związany ze stosem WAMP, jakiego sam używam, czyli WAMPServerem.

Linkdump #48: Poczytajmy... sobie.

W karierze programisty ważne jest, aby ciągle rozwijał się poprzez lekturę różnego rodzaju materiałów dotyczących technologii, z jakich korzysta w pracy. Dlatego w serii Linkdump pojawiają się serie linków dotyczących narzędzi wykorzystywanych podczas tworzenia stron internetowych. Czasem jednak warto też spojrzeć na inne artykuły, pozwalające na wzniesienie się ponad typowe problemy z kodem i zobaczenie większej całości, dzięki której można o wiele lepiej zrozumieć cel, do którego dążymy. Zapraszam do lektury dzisiejszego zbioru linków poświęconych właśnie tej tematyce.

PHP: Dzielenie stringa według separatora z wyłączeniem znaku ucieczki.

Szukałem ostatnio szybkiego sposobu na podzielenie stringa według jednoznakowego separatora, aczkolwiek w taki sposób, by omijał jego “escape’owaną” formę. W ten sposób mógłbym np. parsować pewne dane tekstowe równocześnie umożliwiając wykorzystanie separatora w samym tekście. Zadanie teoretycznie nie wydawało się trudne, aczkolwiek faktyczne rozwiązanie okazało się co najmniej “nietrywialne”. W dzisiejszym bardzo krótkim i treściwym wpisie chciałbym podzielić się z Wami znalezionym przeze mnie rozwiązaniem.

Linkdump #47: WordPress, Jaśnie Panie!

Wśród gotowych rozwiązań dostępnych na rynku oprogramowania open-source niewiele jest skryptów, które można określić mianem “kultowych”. Bezsprzecznie WordPress jest jednym z nich, ponieważ od lat zdecydowana większość ludzi związanych, lub chcących rozpocząć swoją przygodę z blogowaniem wybierają tą właśnie platformę. W dzisiejszym Linkdumpie, zgodnie z postulatem opublikowania czegoś więcej o tym właśnie skrypcie, “Pan Kowalczyk” publikuje specjalnie dla Pana Charliego. ;]

Doctrine: Funkcje SQL w zapytaniach do bazy danych.

Od kiedy programiści stron internetowych [i nie tylko] dostali w swoje ręce pierwsze biblioteki wspomagające technikę ORM - mapowania obiektowo-relacyjnego, stało się jasne, że w bardzo wielu przypadkach oszczędzą nam one samodzielnego pisania zapytań SQL i związanych z tym problemów i błędów. Za bardzo przyjemną abstrakcją tychże bibliotek kryje się jednak jeden problem - ze względu na fakt, iż próbuje ona zastąpić nam całkowicie leżącą niżej warstwę bazy danych, bardzo często nie mamy możliwości skorzystania z natywnych funkcji SQLa. W niniejszym wpisie pokażę, jak sobie z tym poradzić wykorzystując bibliotekę ORM Doctrine.

PHP: Skrócony zapis kwalifikatorów widoczności metod klasy.

Czasami mam taki nostalgiczny nastrój tęsknoty za “starymi dobrymi czasami”, kiedy spod moich palców wyszło całkiem sporo kodu C++. Naprawdę lubię ten język i uważam za dobrą decyzję twórców wielu języków, aby lekko mówiąc “ściągnąć” składnię z tego języka do własnego rozwiązania. PHP w pewnym sensie jest jednym z nich, także istnieje pewne powiązanie pomiędzy obiema technologiami [poza faktem, że sam interpreter jest napisany w C]. W dzisiejszym wpisie chciałbym pokazać jedną rzecz, mały lukier składniowy, który był obecny w C++, a trochę brakowało mi go w PHP.

Linkdump #46: A. J. A. X.

Chcąc stworzyć dynamiczną stronę oferującą wiele funkcjonalności w sposób zbliżony do tego, jak zachowują się aplikacje desktopowe, niestety nie mamy innej możliwości niż wykorzystanie technologii AJAX. Wychodząc naprzeciw tym wymaganiom dzisiaj publikuję kolejny zestaw przydatnych materiałów dotyczących tworzenia różnego rodzaju funkcjonalności z jej wykorzystaniem. Mam nadzieję, że przydadzą się Wam zarówno w pracy, jak i podczas tworzenia własnych rozwiązań. Zapraszam do lektury.

Linkdump #45: Symfony2.

Nie ukrywam, że symfony jest moim ulubionym frameworkiem, jeśli mówimy o tych napisanych w języku PHP. Fabien Potencier stworzył naprawdę dobre narzędzie wspomagające tworzenie stron i aplikacji internetowych. Od pewnego czasu możemy usłyszeć o nowym przedsięwzięciu SensioLabs - frameworku Symfony2. Sf2 to zupełnie nowe podejście do tworzenia aplikacji internetowych, dlatego warto zapoznać się z możliwościami tego, co obecnie jest już w wersji beta4, a już niedługo osiągnie status RC. Już niedługo świat frameworków PHP zostanie wywrócony do góry nogami - będzie się działo!