Niezalogowany [ logowanie ]
Subskrybuj kanał ATOM Kanał ATOM    Subskrybuj kanał ATOM dla tagu zend_framework Kanał ATOM (tag: zend_framework)

Autor wpisu: batman, dodany: 13.12.2009 22:40, tagi: zend_framework

Natrafiłem właśnie na darmową książkę online do nauki Zend Frameworka - Survive The Deep End! Przejrzałem spis treści, przeczytałem kilka losowo wybranych akapitów i muszę przyznać, iż książka zapowiada się bardzo ciekawie. Wydanie to sprawia wrażenie dobrze napisanego przewodnika po ZF i pokazuje co i jak zrobić, by aplikacja napisana w oparciu o ten framework działała jak najlepiej. W chwili

Autor wpisu: batman, dodany: 07.12.2009 08:42, tagi: zend_framework

Ostatnio musiałem dodać do elementu Label w Zend_Form kod HTML. Wydawałoby się, że nie może być nic prostszego. Niestety okazało się, że po dodaniu znaczników do etykiety, zostały one wyświetlone na stronie i wyglądało to mniej-więcej tak: Niestety dokumentacja nie była zbyt pomocna w tym przypadku i trzeba było pogrzebać w kodzie frameworka. Rozwiązanie okazało się równie banalne jak sam

Autor wpisu: batman, dodany: 08.11.2009 18:11, tagi: zend_framework, jquery

Dzisiaj przedstawię wam szybki i prosty sposób na napisanie własnego dekoratora do Zend_Form. Dekorator ten opakuje przygotowany formularz w zakładki dostarczone przez jQuery. Na początek musimy pobrać jQuery oraz jQuery UI w najnowszych wersjach. W przypadku jQuery UI nie ma znaczenia jaki temat (Theme) zostanie wybrany, ponieważ nie będziemy się dzisiaj zajmować upiększaniem formularza. Do

Autor wpisu: batman, dodany: 02.11.2009 20:31, tagi: zend_framework

Nie wiedzieć czemu, dekoratory formularzy w Zend Framework-u stanowią dla wielu osób duży problem. Prawdę powiedziawszy jest to jeden z najprostszych etapów budowania formularzy przy użyciu Zend_Form. Wystarczy odpowiednio napisać dekorator lub view script, a uzyskamy pełną kontrolę nad elementami formularza. Jakiś czas temu napisałem artykuł na temat tworzenia formularzy przy użyciu Zend_Form

Autor wpisu: batman, dodany: 17.10.2009 09:42, tagi: zend_framework

Każdy, kto chociaż raz musiał dodać menu i breadcrumbs do strony internetowej, wie jak niewdzięczne jest to zadanie. Można je wykonać na dwa sposoby – ręcznie (i modyfikować za każdym razem, gdy w strukturze strony zajdą jakieś zmiany) lub przy pomocy skryptu. W tym drugim przypadku należy napisać/znaleźć odpowiedni skrypt, który będzie prosty w użyciu oraz utrzymaniu. Rozwiązaniem takim jest

Autor wpisu: Diabl0, dodany: 06.10.2009 11:53, tagi: zend_framework

paginator Ostatnio dłuższy czas nic na blogu nie pisałem, ale to dlatego że w pracy siedzimy głównie nad rozbudową oraz dopracowywaniem obecnych rozwiązań to głównie programowanie ogranicza się do tworzenia kolejnych list, zestawień itp. Niestety nie jest to ani nic skomplikowanego, nietypowego czy stawiającego jakiekolwiek wyzwania. Dlatego aby nie zapomnieć o blogu i coś w końcu napisać tym razem opiszę zastosowanie w praktyce Zend_Paginatora

Diagram użytych w przykładzie tabel

Diagram użytych w przykładzie tabel

W prawie każdym projekcie istnieją listy, zestawienia, raporty itp. W dobrym guście (nie wspominając o wygodzie) jest aby listy te były sortowalne, i w przypadku większej ilości danych podzielone na strony (chociaż tu mój szef ma ostre obiekcje i zawsze chce wszystkie rekordy (często nawet kilka tysięcy) na jednej stronie).

Do tworzenia takich właśnie list został stworzony Zend_Paginator. Poniżej natomiast przedstawię moje podejście do jego praktycznego i dość elastycznego wykorzystania.

Zaczniemy sobie od stworzenia problemu – w końcu na nich najszybciej się człowiek uczy (podobno ;) ). Załóżmy że mamy prosty blog i 2 tabele – posty i autorzy oraz proste zadanie – wyświetlić listę/wyszukiwarke postów

Zacznijmy więc od stworzenia sobie kontrolera:

<?php

class test_ListsController extends Zend_Controller_Action
{

	/**
	 * Index
	 */
	public function indexAction ()
	{

		$postsModel = new test_models_Posts( );

		// Czyścimy sobie dane otrzymane z GET/POST
		$params = $this->_parseSearchParams( $this->getRequest()->getParams() );

		// Tworzymy formę wyszukiwania
		$searchForm = new test_forms_SearchForm( );
		$searchForm->setAction( '/test/lists/index' );
		$searchForm->setDefaults( $params );

		$this->view->searchForm = $searchForm;

		// Przekazujemy otrzymane parametry do widoku - jeszcze nam się przydadzą
		$this->view->params = $params;

		// Pobieramy selecta na którym będziemy bazowali
		$select = $postsModel->prepareFetchAllSelect( $params );

		// Przypisujemy selecta do paginatora
		$paginator = new Zend_Paginator( new Zend_Paginator_Adapter_DbTableSelect( $select ) );

		// Ustawiamy aktualną stronę na której jesteśmy (domyślnie 1)
		$paginator->setCurrentPageNumber( $this->getRequest()->getParam( 'page', 1 ) );

		// Ustawiamy ilość rekordów na stronę
		$paginator->setItemCountPerPage( $params[ 'perPage' ] );

		$this->view->paginator = $paginator;
	}

	/**
	 * Czyści i poprawia tablicę parametrów dla wyszukiwania
	 *
	 * @param array	$params	 tablica parametrów GET/POST
	 * @return array			   poprawiona i wyczyszczona tablica parametrów
	 */
	private function _parseSearchParams ( $params )
	{

		// Domyślnie chcemy wyświetlać po 5 rekordów na stronę
		if ( ! isset( $params[ 'perPage' ] ) ) {
			$params[ 'perPage' ] = 5;
		}

		// Domyślnie chcemy wyświetlać tylko aktywne posty
		if ( ! isset( $params[ 'active' ] ) ) {
			$params[ 'active' ] = 1;
		}		

		foreach ( $params as $key => $value ) {
			// Filtrujemy puste wartości
			if ( is_null( $value ) or $value == '' ) {
				unset( $params[ $key ] );
				continue;
			}

			switch ( $key ) {

				case 'module':
				case 'controller':
				case 'action':
				case 'submit':
					// Te dane nie będą nam potrzebne - usuwamy
					unset( $params[ $key ] );
					continue;
				break;

			}
		}

		return $params;
	}
}

Kod jest skomentowany i chyba nie wymaga większych wyjaśnień.

Pierwszą wartą wspomnienia rzeczą jest metoda _parseSearchParams(). Tam wydzielam wszelką logikę związaną z specjalnymi przypadkami filtrowania czy ustawiania wartości domyślnych dla danej listy (jak np. domyślne pokazywanie tylko aktywnych postów).

Idąc dalej trafiamy na formę test_forms_SearchForm – naszą wyszukiwarkę:

Czytaj dalej tutaj (rozwija treść wpisu)
Czytaj dalej na blogu autora...

Autor wpisu: batman, dodany: 05.10.2009 19:10, tagi: zend_framework

Zend Framework dostarcza bardzo proste i łatwe w użyciu narzędzie do tworzenia projektów – Zend_Tool. Dzisiaj pokażę jak w kilku prostych krokach je uruchomić. Opis ten jest skierowany do użytkowników systemów operacyjnych Windows. Run zf.bat, run! By móc skorzystać z dobrodziejstw wiersza poleceń, musimy użyć polecenia zf. Niby nic wielkiego, ale dla wielu stanowi to duży problem. Najpierw
Wszystkie wpisy należą do ich twórców. PHP.pl nie ponosi odpowiedzialności za treść wpisów.