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

Autor wpisu: Wojciech Sznapka, dodany: 27.04.2014 18:20, tagi: framework, mvc, php

Lately I see perilous situation in software development area. There are plenty of good devs so much bounded to tools. By tools, I mean mostly frameworks. I would like to elaborate a bit about that, but those are my personal opinions and they aren’t here to offend anyone.

First of all, we all need to admit, that quality of modern MVC framework raised a lot, comparing with state of things few years ago. Speaking about PHP – at the time, when I attracted my attention to this language, there were pure wilderness. We did not have any strong framework (unlike Ruby On Rails, which were sine qua non choice for Ruby web development). That caused multiple projects development, some of them are dead now (or should be), some hasn’t got good market adaptation and some of them are industry leaders at the moment (Symfony and Zend).

On the other hand, there’s huge temptation to write own frameworks, ignoring the great work of community. That has some advantages, in case you know exactly what you’re doing. Only one good reason for me is performance concerns. But still, doing everything by hand proves lack of understanding of tools and leads to giant problems with system maintenance. For me, it’s hard to imagine how one could create a complex system without usage of good framework. What’s more, its economically unreasonable to recreate the code, that already exists.

Alright, it’s clear –  applications which will serve their purpose are way easier to be created with modern framework. The choice isn’t easy (as well as choice of language), but if you ask me, I’ll say: pick the one you feel the most comfortable with and which is built on top of best design patterns. A framework won’t do the job by its own, though. And this is the point I’d like to make: don’t be bound to the framework. The best quote to reflect this point of view is:

The architecture of an accounting app should scream “accounting” not Spring & Hibernate. Robert C. Martin via https://twitter.com/unclebobmartin/status/118365858581069824

By decoupling from framework (see Jakub Zalas slides) you’ll benefit in multiple ways: your code will be loosely coupled, easier to understand, readable, testable and most important: it will be robust. If for some reason, you’ll have to change framework (because yours isn’t supported any more and super 3rd edition of famous framework comes to general availability), you’ll spend considerably less amount of time to migrate to new libraries.

A thing to remember is, that good software design practices, such as design patterns or SOLID principles, exists for years now. They are applied in all software languages and you’ll find similar concepts both in Java Spring and PHP Symfony. Frameworks, on the other hand comes and goes. In 3 years from now, there won’t be Symfony2 or Zend Framework2, but your code will be still alive and need to be maintained. It’s your choice, if it be completely dependent on framework or if it will rely on proven patterns.

I strongly encourage to read and apply philosophy of Domain Driven Design. It’s better to focus on a core domain and reflect business needs by modelling them with code. Once you’ll be focused on domain, you’ll start to see that framework is only implementation detail and you’ll stop calling yourself Symfony Developer or Zend Developer, but rather Software Developer.

Autor wpisu: JoShiMa, dodany: 26.09.2013 22:47, tagi: framework, php, skrypty

Miało być prosto. Dokumentacja Yii przekonuje, że wystarczy skopiować pliki na serwer, uruchomić jeden z nich za pomocą wiersza poleceń, podając odpowiednie parametry i już mamy szkielet aplikacji. Kuszące, bo w Kohana trzeba strukturę katalogów aplikacji sobie ręcznie stworzyć. Strona, którą muszę uruchomić ma powstać na serwerze hostowanym przez AZ w niezbyt wypasionej opcji. Sęk [...] Related posts:
  1. Yii – początek

Autor wpisu: JoShiMa, dodany: 26.09.2013 21:40, tagi: framework, php

Jakiś czas temu, przyszło mi zapoznać się z frameworkiem Yii. Własciwie to odziedziczyłam projekt i musiałam się szybko doszkolić. Konstrukcja i filozofia nieco inna niż w przypadku Kohana, ale tak na pierwszy rzut oka bardzo mi się spodobał. Szczególnie, że dokumentacja przyzwoita, nawet w języku polskim i nie miałam większych problemów ze zorientowaniem się co, [...] No related posts.

Autor wpisu: JoShiMa, dodany: 10.04.2013 01:14, tagi: framework, kohana, mvc, php, skrypty

Ostatni projekt w Kohana napisałam chyba wieki temu. Wprawdzie pokusiłam się wtedy o użycie wersji 3 i nawet mi się spodobało wiele ze zmian jakie wprowadzono, w stosunku do wersji 2. Tyle, że po za użyciem wersji 3 nie pokusiłam się o pełne wykorzystanie jej możliwości. A mianowicie tego że obsługuje ona model HMVC. Nie [...] No related posts.

Autor wpisu: Tomasz Kowalczyk, dodany: 11.04.2012 22:28, tagi: symfony2, php, framework, design

W ostatnim tygodniu znowu trochę „przysnąłem” z wpisami, ale wytłumaczenie jest proste: już w środku tygodnia bez zbędnych ceregieli pojechałem do domu na święta i przez ten czas komputer (poza totalnie nie wymagającymi myślenia czynnościami typu klikanie na społecznościówkach) był … #LINK#

Autor wpisu: Load, dodany: 30.01.2012 12:35, tagi: php, framework, zend_framework

Wstęp

Od czasu do czasu pomiędzy obszernymi wpisami będą się pojawiać tz. mini wpisy których treść nie nadaje się na cały wpis, a informacje w nich zawarte są dość użyteczne i nie chciał bym ich wykładać poza kurs. Ten wpis będzie pierwszym takim mini wpisem, w tytule będę podawać pomiędzy jakimi wpisami został opublikowany z racji na inną numerację. ;-)

Konfiguracja wyświetlania błędów w Zend Framework

Miejscem w jakim ustalamy czy Zend ma nas informować o szczegółach błędów jest plik .htaccess w katalogu public każdego projektu, jego standardwa zawartość to:

RewriteEngine On RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^.*$ – [NC,L] RewriteRule ^.*$ index.php [NC,L]

Jak widać są to zwykłe regułki .htaccess, przed nimi mamy pustą linię wpisując w niej:

SetEnv APPLICATION_ENV development

Mówimy naszej aplikacji, że pracujemy w trybie deweloperskim dzięki czemu wyświetlanie błędów zostanie uruchomione, aplikacja posiada również inne tryby w jakich może pracować, wszystko jest opisane w plikach konfiguracyjnych, podam przykład by wyjaśnić na czym to polega, plik z projketu użytego w ostatniej części kursu (#03):

H:\zf\application\configs\application.ini

I jego zawartość:

[production] phpSettings.display_startup_errors = 0 phpSettings.display_errors = 0 includePaths.library = APPLICATION_PATH „/../library” bootstrap.path = APPLICATION_PATH „/Bootstrap.php” bootstrap.class = „Bootstrap” appnamespace = „Application” resources.frontController.controllerDirectory = APPLICATION_PATH „/controllers” resources.frontController.params.displayExceptions = 0

[staging : production]

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

Autor wpisu: Load, dodany: 22.01.2012 22:27, tagi: php, framework, zend_framework

Wstęp

W tym wpisie chcę pokazać jak skonfigurować server www na nasze potrzeby, pokażę jakiej konfiguracji używam i będę się starał w następnych wpisach trzymać się  tej konwencji. Do tego wpisu przekonało mnie zamieszanie jakie tworzy się wśród moich wpisów związane z katalogami i konfiguracją servera – nie chcę by to była przeszkoda w zrozumieniu kursu.

Układ plików

Jako że jestem osobą, aż za bardzo poukładaną to nie mogło by być inaczej gdyby server też nie był zainstalowany dokładnie wedle moich upodobań. ;-) Na dysku B:/ zainstaluję server, a katalogiem głównym będzie dysk H:/ dlaczego tak? Pliki z katalogu głównego potrzebują częstego backup’u i są bardzo często używane więc oddzielny dysk jest moim zdaniem idealny, wiem czym są skróty, ale taki układ osobiście mi odpowiada, nic jednak nie stoi na przeszkodzie by w miejscu w którym podaje ścieżkę na dysku dodać inną do własnego katalogu.

Jakie oprogramowanie wybrać

Na rynku jest cała masa oprogramowania jakie można zastosować nie zmuszając się do instalacji wszystkich komponentów od zera, jak że mój komputer jest tylko i wyłącznie środowiskiem dla mnie i nikt inny nie ma do niego dostępu, a ja sam nie wymagam by server był wysoce konfigurowalny „z pod okienka” to wybrałem produkt Zend’a, aczkolwiek kiedyś korzystałem z wielkim zadowoleniem z webserv niestety projekt upadł, a paczki są strasznie przestarzałe. Środowisko otwarte na świat mam na pc przeznaczonym do tego celu i oparte na ręcznej instalacji – kiedyś może powiem coś na ten temat.

Inne dostępne na rynku:

Kilka mi znanych rozwiązań, różnie bywa z aktualnością powyższych, ale wybór jest dość spory i trzeba go przemyśleć, szkoda pracy do przeinstalowywania całości.

Pobieramy i instalujemy wybraną paczkę

Osobiście wybrałem Zend’a, pobrać można go tutaj, wybrałem wersję Zend Server Community Edition jako, że zapewnia podstawowe funkcje i jest darmowa, tutaj trzeba zaznaczyć, że inne paczki mogą posiadać konfigurację w opcjach i zmiana niektórych wartości ręcznie może, ale nie musi zakłócić ich działania nie mniej jednak każda powinna podać się takim zabiegom. ;-)

Wybieram paczkę z php 5.3 logujemy się lub gdy nie posiadamy konta tworzymy je, jest wymagane do pobrania plików, a administratorzy nie są ludźmi bezczelnymi i nie uświadczmy spamu z ich strony.

Instalacja samego oprogramowania jest bardzo prosta i w zasadzie polega na czekaniu i klikaniu dalej, jedyne co przyjdzie nam wybrać to wersja i ścieżka, ja z racji upodobań i podziału systemu umieszczam całość wprost na czystym dysku B:/ przeznaczonym tylko do tego celu. Po zainstalowaniu zostanie odpalona przeglądarka i krótka trzy etapowa konfiguracja, polegająca na zatwierdzeniu regulaminu i podaniu hasła do servera, trudne – nie! Od teraz posiadamy wstępnie skonfigurowany serwer.

Server jest w wersji ograniczonej każdy może wypróbować pełną wersję trzeba tylko kliknąć jeden z napisów „Wypróbuj za darmo” w panelu, dostaniemy kod ważny 30 dni – może komuś się spodoba i będzie miał za dużo $$, produkt kosztuje kilka tysięcy $, komercyjnie i osobiście zostanę na darmowym apache!

Konfiguracja

Server sam w sobie już działa i na dobrą sprawę mógł by już pozostać w tej postaci, ale by  żyło nam się lepiej wymaga kosmetycznych zmian w plikach. ;-) Zabierajmy się do roboty postaram się napisać co i poco modyfikuje.

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

Wszystkie wpisy należą do ich twórców. PHP.pl nie ponosi odpowiedzialności za treść wpisów.