ZF: Zend_Date a polskie nazwy

Zadanie z użyciem Zend_Date: mając datę przykładowo 2011-01-24 wyświetlić ją jako 24 styczeń 2011 (co jest niepoprawne, ale w tym przypadku zleceniodawca tak sobie zażyczył).

Na początek tworzymy obiekt, który będzie zawierał naszą datę. Żeby wyświetlać polskie nazwy zainicjujemy locale = ‚pl_PL’

$data = new Zend_Date('2011-01-24', 'YMd', 'pl_PL');

Zakładając, że nie wymuszaliśmy formatowania daty jako ‚php’ i wykorzystujemy format ‚iso’ wyświetlamy w wymaganym formacie:

echo $data->get(Zend_Date::DAY) . ' '
     . $data->get(Zend_Date::MONTH_NAME) . ' '
     . $data->get(Zend_Date::YEAR);

Otrzymujemy: 24 stycznia 2011

Czyli niezupełnie to, o co chodziło. Dlaczego tak jest?
Czytaj dalej

ZF: Długości pól formularza na podstawie bazy

Kiedy tworzymy formularz w Zend Frameworku przesyłamy potem dane z niego do bazy. Czasem się okazuje, że długość wprowadzanych danych przekracza długość pola tabeli i przez to pojawia się błąd w stylu „String data, right truncated: 7 ERROR value too long for type character varying(40)” (PostgreSQL). Żeby temu zapobiec można ustawić dodatkowe walidatory dla pól formularza, które będą bazowały na informacjach z metadanych tabeli. Można to osiągnąć m.in. tak:
Czytaj dalej