symfony: Pobieranie tablic z obiektów klasy sfOutputEscaperArrayDecorator.

Framework symfony, jak praktycznie każdy na rynku ma swoje “smaczki”, które czasem umilają, a czasem bardzo utrudniają tworzenie kolejnych funkcji projektu - zamiast zająć się właściwą pracą musimy przeszukiwać strony manuala i “czeluści” Internetu, aby znaleźć Jedyną Słuszną (tm) drogę wykonania danego zadania. W dzisiejszym wpisie chciałbym pokazać, w jaki sposób “dobrać się” do “niewyescape’owanych” danych [konia z rzędem temu, kto poda dobre polskie tłumaczenie tego terminu ;]] tablicy zamkniętej w kontenerze klasy sfOutputEscaperArrayDecorator.

symfony: Przekazywanie dodatkowych danych do klasy formularza.

Komponent formularzy frameworka symfony jest naprawdę bardzo potężnym narzędziem, pozwalającym na tworzenie zaawansowanych rozwiązań przetwarzających dane pochodzące od użytkownika na odpowiednią formę. O ile przetwarzanie formularza zazwyczaj sprowadza się do operacji na przesłanych do niego danych, o tyle czasem potrzebujemy innych, zawartych poza jego polami. W dzisiejszym wpisie chciałbym pokazać, w jaki sposób przekazać te dodatkowe dane do klasy naszego formularza. Zapraszam do lektury.

 

symfony: Błąd: "Catchable fatal error: Argument 1 passed to sfForm::bind() must be an array, string given".

Witajcie ponownie. Ostatnio pracuję nad pewnym projektem opartym o symfony, w związku z czym po raz kolejny mam okazję pomęczyć się trochę z jego wszystkimi zawiłościami. Dzisiejszy problem trochę mnie zdziwił, ponieważ nie spodziewałem się tego typu restrykcji ze strony frameworka, stąd też tradycyjnie szukałem błędu nie tam, gdzie powinienem. Na szczęście udało mi się znaleźć rozwiązanie, stąd też miło mi po raz kolejny ogłosić, że będę mógł podzielić się z Wami rozwiązaniem. ;]

symfony: sfValidatorAnd i problem z ignorowaniem właściwości "required" komponentów wewnętrznych.

Realizuję w tym momencie bardzo przyjemny projekt - przyjemny dlatego, że powstaje “od zera” i mam możliwość wyboru narzędzi, w jakich będę go tworzył. Chciałem spróbować wykorzystać do tego testowany od pewnego czasu framework Symfony2, jednak idąc za radą udzieloną mi przez batmana podczas konferencji 4Developers wracam na “stare śmieci”, czyli stabilną wersję symfony. Jak to bywa przy powrotach - zazwyczaj pojawiają się problemy z ponownym “zgraniem się” programisty z kodem. Tym razem padło na mechanizm walidacji formularzy, który nie do końca chciał współpracować.

PHP: Funkcja sprintf() przyjmująca zmienną liczbę argumentów.

Pisząc framework będący tematem pracy inżynierskiej w pewnym momencie musiałem zmierzyć się z problemem wyświetlania i formatowania przyjaznych komunikatów o błędach wykonania. Przyjaznych nie dla użytkownika, lecz dla programisty tworzącego stronę internetową, co trochę utrudniło problem, ponieważ wiadomości w stylu “strona jest chwilowo niedostępna” nie są zbyt informatywne. W dzisiejszym wpisie chciałbym się z Wami podzielić sposobem, w jaki udało mi się ten problem rozwiązać.

PHP: Błąd "Can't use function return value in write context".

W pracy programisty czasem zdarzają się sytuacje, kiedy pomyłka nie wynika z niewiedzy ani braku doświadczenia osoby piszącej, ale zwykłego zagapienia się i postawienia “innego znaczka” w miejsce tego poprawnego. Tego typu błędy potrafią być bardzo uciążliwe, ponieważ wydaje nam się, że napisaliśmy wszystko poprawnie i bezskutecznie szukamy błędu wpatrując się w kilka linijek, które po prostu “muszą działać”. W dzisiejszym wpisie chciałbym przedstawić problem, który może utrudnić pracę, szczególnie, jeśli jesteśmy już zmęczeni i nie dostrzegamy wszystkich szczegółów na ekranie.

PHP: Dynamiczne tworzenie zmiennych na podstawie indeksów tablicy.

Podczas pisania kodu czasami natrafiamy na sytuację, gdzie potrzebne informacje znajdują się w mało wygodnym dla nas kontenerze. O ile tablice w języku PHP są jednym z najprostszych w wykorzystaniu kontenerów, jakie do tej pory widziałem, ciągłe wykorzystywanie konstrukcji $arr[‘sth’] potrafi zmęczyć nawet bardzo wytrwałego programistę. W dzisiejszym wpisie chciałbym przedstawić dwie techniki pozwalające na uniknięcie tego typu utrudnień.

PHP: Indeks tablicy może być tylko liczbą całkowitą lub ciągiem znaków.

Dzisiaj znowu sobie ponarzekam na PHP, bo znowu odkryłem pewną bardzo dziwną “funkcjonalność” tego języka. Jak wszyscy wiemy udostępnia nam on konstrukcję array(), dzięki której możemy tworzyć dowolne zbiory danych, znane w programowaniu jako tablice, lub, wśród programistów PHP - jako arraye [wym. “araje” ;]]. Okazuje się, że w tak “dowolnej” konstrukcji, niestety nie wszystko jest “dowolne”, a już na pewno nie typy danych, które mogą być używane jako indeksy.

[PHP] Zwracanie wielu wartości z funkcji.

Zaczynając przygodę z programowaniem każdy z nas otrzymał od swoich mentorów kilka informacji, które należało przyjąć za podstawę i z jako takimi aksjomatami po prostu nie dyskutować. Z reguły na początku kariery nikogo nie zastanawiają ani nie denerwują takie ograniczenia, stąd trwamy w naszym przeświadczeniu, że to, co robimy jest zgodne z jak najlepszymi technikami programowania. W dzisiejszym wpisie chciałbym nieco nagiąć jedną z tych reguł i pokazać Wam pewną sztuczkę czasem istotnie ułatwiającą życie, szczególnie podczas tworzenia kodu w języku PHP.

[PHP] Przekazywanie tablic w żądaniu GET.

Ten pomysł “wisiał” na mojej liście rezerwowej przez dosyć długi czas, czekając na dobrą okazję do podjęcia tematu. Ze względu na to, że zwykle dzielę się z Wami rozwiązaniami napotkanych przeze mnie błędów / problemów, stwierdziłem, że czas na “coś nowego” - coś, co przynajmniej raz na jakiś czas przełamie schemat. Dzisiejszy wpis będzie więc całkowicie poświęcony pewnej ciekawej funkcjonalności, która może dość istotnie ułatwić obsługę skryptów.