Niezalogowany [ logowanie ]
Subskrybuj kanał ATOM Kanał ATOM

Autor wpisu: Tomasz Kowalczyk, dodany: 09.08.2011 23:24, tagi: php

Każdy z nas traktuje język HTML jako proste oraz dobrze znane narzędzie. Okazuje się, że i on kryje jednak interesujące zakamarki, które mogą zaciekawić potencjalnego programistę stron internetowych. O ile nie są to jakieś krytyczne dla działania strony kwestie, o tyle czasem można wykorzystać te informacje do stworzenia jeszcze bardziej ambitnych rozwiązań. W dzisiejszym wpisie [...]

Autor wpisu: singles, dodany: 09.08.2011 20:26, tagi: php, zend_framework

W dzisiejszym odcinku cyklu ZendFramework Quick Tip zajmiemy się wyjaśnieniem fenomenu parametrów, które „biorą się znikąd” podczas korzystania z helpera url.

Wprowadzenie

Jak większość frameworków, ZF udostępnia helpery pomocnicze dla widoków. Jednym z takich helperów jest Zend_View_Helper_Url, który służy do tworzenia adresu URL w ramach naszej aplikacji na bazie przekazanych parametrów. Warto z niego korzystać, ponieważ rozwiązuje problem prawidłowej ścieżki bazowej, kiedy nie używamy vhostów i nasza aplikacja umieszczona jest np. w katalogu http://example.com/some/folder/public/ Przykładowe wywołanie:

<?php
 
// application/views/scripts/foo.phtml
$this->url(array('controller' => 'foo', 'action' => 'bar', 'additional_param' => 123));
 
?>

wygeneruje adres: http://example.com/foo/bar/additional_param/123/

Jednakże, kiedy z poziomu www. strony spróbujemy wygenerować inny adres, np. tylko do kontrolera odpowiedzialnego za zarządzanie użytkownikami:

<?php
$this->url(array('controller' => 'users'))
?>

zamiast adresu http://example.com/users otrzymamy http://example.com/users/bar/additional_param/123/

Ale dlaczego?

Otóż to, aby zrozumieć działanie wystarczy spojrzeć na implementację helpera:

class Zend_View_Helper_Url extends Zend_View_Helper_Abstract
{
    public function url(array $urlOptions = array(), $name = null, $reset = false, $encode = true)
    {
        $router = Zend_Controller_Front::getInstance()->getRouter();
        return $router->assemble($urlOptions, $name, $reset, $encode);
    }
}

Pomijając pobieranie obiektu routera z kosmosu, najważniejsze są dla nas parametry, a konkretniej trzeci z nich: $reset. Odpowiada on za zresetowanie obecnie ustawionych parametrów ścieżki. Jak widać, jego domyślną wartością jest false – i to jest powód, dla którego w przedstawionym wcześniej przykładzie otrzymaliśmy dodatkowe parametry.

Rozwiązanie

Jak łatwo się domyślić, rozwiązanie jest bardzo proste – wywołanie powinno wyglądać tak:

$this->url(array('controller' => 'users'), null, true);

Oczywiście, pisanie wielu takich wywołań może być dla niektórych niewygodne. Dlatego możemy albo napisać własny helper, gdzie domyślnie ustawimy parametr na true.

Innym rozwiązaniem może być stworzenie helpera Zend_View_Helper_Url i umieszczenie go w pliku APPLICATION_PATH . /views/helpers/Url.php:

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

Autor wpisu: batman, dodany: 09.08.2011 12:00, tagi: css

Dzisiejszym wpisem rozpoczynam serię, w której będę się dzielił z Wami odkryciami, publikowanymi przeze mnie na Twitterze. Dzisiaj skupię się na CSS.

  1. One line CSS Grid Framework – ile można zmieścić w jednym wierszu? Okazuje się, że bardzo wiele. Najlepszym przykładem jest tutaj One line CSS Grid Framework, który przy pomocy kilkudziesięciu znaków pozwoli zbudować wielokolumnowy layout.
  2. Compass – framework CSS rozszerzający możliwości Sass o predefiniowane mixin dostarczające gotowe rozwiązania dla typografii, stylowania elementów strony, restowania CSS.
  3. CSS3 Transitions Without Using :hover – efekty przejść zastosowane dla innych niż :hover pseudo-klas. Dużo kodu, a do każdego demo.
  4. The future of CSS layouts – głębokie spojrzenie na layouty tworzone przy użyciu CSS. Wiele przykładów opisujących takie możliwości CSS jak flexbox, grid, pozycjonowane floaty czy regiony.
  5. CSS3 Bling in the Real World – artykuł o CSS3, przyszłości tej technologii, jej możliwościach oraz stanie bieżącym.

Autor wpisu: Tomasz Kowalczyk, dodany: 08.08.2011 21:11, tagi: jquery

Pomimo upływu czasu i wielu zmian w środowiskach programistów stron internetowych, biblioteka jQuery zdaje się być cały czas najpopularniejszym rozwiązaniem ułatwiającym ich pracę. Mimo okrzyknięcia tej biblioteki "PHP4 JavaScriptu", na pewno można się w niej doszukać wielu pozytywnych aspektów. W dzisiejszym Linkdumpie chciałbym po raz kolejny przedstawić kilka rzeczy pozwalających na odzyskanie wiary w jQuery. [...]

Autor wpisu: Wojciech Sznapka, dodany: 07.08.2011 19:29, tagi: php, symfony, symfony2

On July 28th Symfony2 was finally released, with launch parties all over the world. Developers are excited, managers are excited and whole echosystem is happy. They’re right, there are plenty of reasons to be optimistic. symfony 1.x is a great framework, I made many  projects with it, nevertheless Symfony2 is a new way of doing [...]

Autor wpisu: Michal Wachowski, dodany: 06.08.2011 01:13, tagi: javascript, php

Własne projekty to fajna rzecz, można robić kiedy się chce, ile się chce i jak się chce. Czasem coś z tego wychodzi. To jeden z takich projektów.

Autor wpisu: Tomasz Kowalczyk, dodany: 06.08.2011 00:23, tagi: sql

W ciągu ostatnich tygodni naprawdę mocno pracowałem z przeróżnymi zapytaniami SQL, stąd też wynotowałem sobie kilka kwestii, które uznałem za warte opisania na blogu. Ostatnie dwa wpisy na ten temat, czyli znajdowanie rekordów sąsiednich, czy też operacje na przedziałach czasu to tylko wierzchołek góry lodowej problemów, z jakimi musiałem się zmierzyć, żeby osiągnąć zamierzony efekt. [...]
Wszystkie wpisy należą do ich twórców. PHP.pl nie ponosi odpowiedzialności za treść wpisów.