Niezalogowany [ logowanie ]
Subskrybuj kanał ATOM Kanał ATOM

Autor wpisu: batman, dodany: 12.11.2012 21:24, tagi: internet

Przeglądając wiadomości ze świata IT natknąłem się na ciekawą informację związaną z rozwojem cyfrowym Polski. Kilka dni temu (dokładnie 6 listopada) podpisane zostało rozporządzenie w sprawie instalacji telekomunikacyjnych w budynkach wielorodzinnych. Co to oznacza? Rozporządzenie nakłada obowiązek: Montażu światłowodowej instalacji (…)

Read the rest of this entry »

Autor wpisu: Marek, dodany: 07.11.2012 22:06, tagi: php, zend_framework

Zend Framework

zfEleganckim sposobem na użycie innego layoutu niż domyślny w jednym z modułów, jest napisanie własnego pluginu, który dołączymy do front kontrolera w klasie bootstrapa modułu. Żeby ten został zaczytany przez naszą aplikację, musimy się upewnić, że zainicjowaliśmy zasób modules np. w pliku application.ini:

resources.modules[] = ""

Dla przykładu załóżmy, że inny layout będzie miał moduł Blog. Tworzymy zatem w katalogu:

/application/modules/blog/

klasę Blog_Bootstrap, w której dołączamy do front kontrolera nasz plugin np. za pomocą metody _initPlugins():

class Blog_Bootstrap extends Zend_Application_Module_Bootstrap {

   protected function _initPlugins(){
        $front = $this->getApplication()
                ->bootstrap('frontcontroller')
                ->getResource('frontcontroller');
        $front->registerPlugin(new Blog_Plugin_Layout());
    }
}

Najpierw pobieramy zasób front kontrolera, następnie rejestrujemy nasz plugin za pomocą metody registerPlugin().

Czas na kod samego pluginu:

class Blog_Plugin_Layout extends Zend_Controller_Plugin_Abstract {

    public function routeShutdown(Zend_Controller_Request_Abstract $request)
    {
        if ('blog' == $request->getModuleName()){
            Zend_Layout::getMvcInstance()->setLayout('blog');    
        }

    }
}

Nasz plugin dziedziczy po klasie Zend_Controller_Plugin_Abstract, a więc możemy użyć metody routeShutdown(), która zostanie uruchomiona zaraz po ustaleniu routingu. Dzięki czemu mamy możliwość sprawdzenia w jakim module aktualnie się znajdujemy. A więc sprawdzamy czy nazwa modułu jest równa ‚blog’, jeśli tak, zmieniamy layout na plik /application/layouts/blog.phtml.

Zend Framework2

zf2

A jak wygląda ustalenie specyficznego layoutu dla modułu w Zend Framework 2?

Zmiana layoutu dla modułu w ZF2 jest dużo prostsza:

I to wszystko :-)

Autor wpisu: Wojciech Sznapka, dodany: 04.11.2012 22:52, tagi: php, symfony, symfony2

Is Symfony2 a MVC framework? This question in tricky and you can't see answer at the first moment when you visit symfony.com website. Even more - MVC pattern isn't mentioned in elevator pitches in "What is Symfony" section. Most of PHP developers will tell you promptly, that this is Model View Controller implementation without a doubt. The question is: where is Model layer in Symfony2? My answer is: there's ain't one and it's good..

Autor wpisu: Łukasz Socha, dodany: 30.10.2012 20:12, tagi: css

pobierz w .pdf(przeznaczone do wydruku)

Wczoraj kodując jeden z projektów napotkałem na problem z @font-face w Firefoxie (tak, tak tym razem nie w IE :P ). Mianowicie FF nie odczytuje plików .eot ani .ttf. Na szczęście problem ten możemy rozwiązać w bardzo prosty sposób – dodając inne formaty czcionki do @font-face:

@font-face {
    font-family: "Ubuntu";
    src: url('fonts/Ubuntu.eot?') format('eot'), 
	 url('fonts/Ubuntu.woff') format('woff'), 
	 url('fonts/Ubuntu.ttf')  format('truetype'),
	 url('fonts/Ubuntu.svg#fonts/Ubuntu') format('svg');
}

Teraz musimy tylko wygenerować pliki w odpowiednim formacie. Osobiście używam tego narzędzia. Z moich testów wynika, że reguła ta działa we wszystkich popularnych przeglądarkach (FF/Chrome/Opera/IE/Safari) ;)

Autor wpisu: bastard13, dodany: 29.10.2012 12:33, tagi: php, design, oop

ach ten pehape...

Jedyną rzeczą, której naprawdę nie mogę przeboleć w PHP, to fakt, że nie posiada on typowania. Oczywiście można "umówić się" z innymi programistami w zespole, że "typujemy" tzn. w komentarzach określamy typ przyjmowany i zwracany i się tego trzymamy, ale jest to jedynie obejście problemu, a nie jego rozwiązanie.Dobra, niestety świat nie jest idealny i musimy jakoś z tym żyć. W dodatku, jeżeli kod jest rzeczywiście obiektowy, to w większości przypadków typowania rzeczywiście można używać na tyle często, że zapomina się o problemie. Jednak tylko do czasu...Czytaj więcej »

Autor wpisu: bastard13, dodany: 27.10.2012 15:28, tagi: design, oop

przesada jest twoim wrogiem

Żaden z nas nie posiadł całej wiedzy, którą posiada obecnie, wraz z pierwszym kontaktem z programowaniem obiektowym. To oczywiste, że wszystkiego trzeba się nauczyć. Trwa to dłużej lub krócej, uczymy się na własnych błędach, doświadczeniu innych itp. Czasami odkrywamy "coś", co na zawsze zmienia nasz sposób postrzegania kodu. Zdarza się, że danego rozwiązania, konstrukcji etc. używaliśmy wcześniej, ale dopiero w pewnym momencie odkrywamy wszystkie tajemnice stojące za danym zagadnieniem, ich piękno i wartości. A przynajmniej tak nam się wydaje:)Czytaj więcej »

Autor wpisu: bastard13, dodany: 27.10.2012 12:23, tagi: design, oop

what's the problem?

Czasami zdarza nam się zauważyć w kodzie metody, które posiadają takie same deklaracje. Jest to nieuniknione, dziesiątki, setki i więcej tysięcy linii kodu sprawia, że niekiedy "powtórzenia" tego typu się zdarzają.Dlaczego "powtórzenia" w cudzysłowie? Ponieważ nie jest to wynik duplikacji logiki, a jedynie użycia języka w celu opisania danej funkcjonalności. Tylko czy rzeczywiście nie jest?Czytaj więcej »
Wszystkie wpisy należą do ich twórców. PHP.pl nie ponosi odpowiedzialności za treść wpisów.