Niezalogowany [ logowanie ]
Subskrybuj kanał ATOM Kanał ATOM

Autor wpisu: Zyx, dodany: 24.10.2010 13:38, tagi: php

Tak się złożyło, że w codziennej praktyce programistycznej dużo częściej spotykam się z nietrywialnymi aplikacjami internetowymi, a prawie w ogóle nie tworzę niewielkich systemów CMS na zamówienie. Jednym z problemów, jakie napotykałem, było dostosowanie mechanizmu modułów danego frameworka do nietypowych zastosowań, co często (z braku czasu) kończyło się opracowaniem jakiejś koszmarnej atrapy. Jednocześnie zacząłem myśleć, jak mógłby być zaprojektowany taki mechanizm modułów, który byłby wystarczająco elastyczny, by wydajnie obsłużyć zarówno trywialne przypadki, jak i złożone systemy CMS lub systemy wewnętrzne. W tym wpisie pragnę przedstawić najbardziej obiecujący z pomysłów, który nazwałem kratownicowymi modułami i obszarami i który obecnie testuję w eksperymentalnym frameworku Trinity.

Autor wpisu: batman, dodany: 22.10.2010 14:57, tagi: javascript

Mozilla Labs jest kuźnią pomysłów, w której powstają projekty mające na celu usprawnienie przeglądarki Firefox. Jednym z takich projektów, który opuścił laboratoria Mozilli i zawitał do najnowszej wersji Firefoxa, jest Sync.

Tym razem programiści popuścili wodze fantazji i wpadli na pomysł, by udostępnić programistom API, dzięki któremu będzie można dowolnie modyfikować wygląd okna przeglądarki. Najciekawsze w tym wszystkim jest to, że modyfikacji będzie można dokonywać z poziomu kodu HTML.

Projekt Chromeless, bo o nim mowa, powstał z połączenia Cuddlefish Lab i Jetpack SDK z domieszką XULRunnera. Diagram prezentujący zasadę idealnie oddaje bieżący stan projektu i wygląda następująco:

Chromeless znajduje się w fazie pre-alfa i jedyne co w chwili obecnej jest dostępne, to repozytorium projektu - http://github.com/mozilla/chromeless. Docelowo projekt Chromeless ma zostać przekształcony w SDK, z którego każdy będzie mógł skorzystać i stworzyć własną przeglądarkę.

Autor wpisu: Zyx, dodany: 22.10.2010 08:36, tagi: php

Dzisiaj chciałbym przedstawić jedną z nowości w systemie szablonów Open Power Template przydatną zwłaszcza dla twórców CMS-ów oraz frameworków. Są to tzw. odmieniacze (ang. inflectors), których zadaniem jest lokalizowanie szablonów na dysku twardym. Dotychczas mechanizm ten był zaszyty na sztywno w strukturze publicznego API, lecz teraz istnieje do niego interfejs, który pozwala na zastąpienie domyślnej implementacji naszą własną, w pełni dostosowaną do naszych potrzeb. W tym wpisie znajdą się informacje o zasadach korzystania z niego.

Autor wpisu: batman, dodany: 22.10.2010 08:00, tagi: php

Od dobrych kilku lat firma Microsoft usilnie stara się przekonać do siebie programistów innych niż .NET technologii. Ukłonem w stronę środowiska web developerów (głównie programistów PHP) ma być ASP.NET MVC. Wprawdzie w oficjalnych rozmowach zawsze usłyszałem, że ASP.NET MVC zostało stworzone z myślą o testowaniu aplikacji, jednak nie mogę oprzeć się wrażeniu, że z ASP.NET ma wspólną jedynie nazwę. Owszem, można korzystać ze stron wzorcowych, Entity Frameworka, a językiem backendu nadal jest C#, jednak nie jest to już sklejanie strony z kontrolek, jak w klasycznym ASP.NET. Dlatego też programiści PHP, którzy znają dowolny framework PHP odnajdą się w tej technologii bardzo szybko. Jedyną przeszkodą może być C#, jednak język ten nie jest taki straszny jak go malują.

Potrzebne narzędzia

Do pracy z ASP.NET MVC będzie potrzebne Visual Studio i przeglądarka internetowa (dowolna). Serwer IIS nie jest wymagany do testowania aplikacji, ponieważ Visual Studio posiada wbudowany “mini serwer”, na którym uruchamiane są aplikacje. Microsoft przygotował dla osób chcących poznać środowisko .NET przydatne narzędzie – Web Platform Installer, z poziomu którego można zainstalować wszystko co niezbędne do rozpoczęcia pracy z ASP.NET MVC.

wpi

Od razu uprzedzę marudy – Visual Studio jest instalowane w wersji Express, czyli darmowej, nieco okrojonej wersji i nie nazywa się Visual Studio, tylko Microsoft Visual Web Developer 2010 Express. Jeśli chcielibyście zainstalować serwer IIS, to on również jest darmowy, podobnie jak prawie wszystkie narzędzia ze stajni Microsoftu do tworzenia aplikacji webowych.

Hello World

Pierwszą aplikacją jaką się tworzy w nowym środowisku jest Hello World. Nie będę odbiegał od utartego schematu i na jej podstawie pokażę jak ASP.NET MVC wygląda od środka. Po uruchomieniu Visual Studio należy wybrać z menu File opcję New Project, a następnie ASP.NET MVC Web Application.

new-project

I już. Aplikacja Hello World jest gotowa. Można ją uruchomić korzystając ze skrótu klawiaturowego F5. W efekcie można zobaczyć coś takiego:

hello-world

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

Autor wpisu: sokzzuka, dodany: 21.10.2010 10:28, tagi: php

Mój ostatni projekt wykorzystywał php 5.3. Jako, że serwer produkcyjny działa na debianie lenny, gdzie jedyną dostępną wersją php jest 5.2.6-1. Stanąłem przed koniecznością ręcznej instalacji wersji, którą potrzebowałem. Myślę, że ten mały tutorial przyda się wszystkim, którzy incydentalnie korzystają z linuksa, a potrzebują mieć świeża wersję php.Zaczynajmy więc.

  1. Dodajemy na końcu pliku /etc/apt/sources.list (można użyć np. edytora nano) następujące dwie linijki: deb http://php53.dotdeb.org stable all deb-src http://php53.dotdeb.org stable all
  2. Ściągamy klucze potrzebne do weryfikacji repozytorów: gpg --keyserver keys.gnupg.net --recv-key 89DF5277 gpg -a --export 89DF5277 | sudo apt-key add -
  3. Uruchamiamy apt-get update
  4. Instalujemy php apt-get install php5-dev
  5. Teraz wystarczy tylko zrestartować apache /etc/init.d/apache2 restart

Na koniec oprócz pozdrowienia Mamy, Taty i Psa Bazyla. Chciałem dodać, że jeżeli nie jesteśmy zalogowani na koncie z uprawnieniami admina to przed każdym wyżej wymienionym poleceniem należy dodać sudo .

Autor wpisu: batman, dodany: 20.10.2010 08:00, tagi: zend_framework

Zend Framework oferuje wiele sposobów cache’owania danych. Jednym z najlepszych jest cache statyczny. Przy jego pomocy można zapisać wszystko to, co mamy na wyjściu (np. to co zostało wyświetlone w przeglądarce), do pliku HTML. W takim przypadku, każdy kolejny request będzie od razu otrzymywał w odpowiedzi wygenerowany plik HTML, bez użycia PHP. Brzmi nieprawdopodobnie? A jednak. Poza kilkoma niedociągnięciami, mechanizm ten spisuje się całkiem dobrze.

Mechanizmem, o którym przed chwilą pisałem, jest Zend_Cache_Backend_Static. Jego zastosowanie jest niezwykle proste, chociaż wymaga kilku niestandardowych modyfikacji.

Konfiguracja

Na samym początku musimy poinformować framework, że będziemy korzystać ze statycznego cache’u. Najszybciej zrobimy to korzystając z Zend_Cache_Manager. W tym celu w pliku application.ini musimy dodać następujący kod:

resources.cachemanager.page.backend.name = Static
resources.cachemanager.page.backend.options.public_dir = APPLICATION_PATH "/../public/static"
resources.cachemanager.pagetag.backend.options.cache_dir = APPLICATION_PATH "/../data/cache/static"

Informuje on naszą aplikację, że będziemy korzystać ze statycznego cache’u, który jest przechowywany w lokalizacji APPLICATION_PATH "/../public/static", a tagi opisujące cache znajdują się w katalogu APPLICATION_PATH "/../data/cache/static". Tagami na razie się nie przejmujcie. Opiszę je w dalszej części wpisu.

Powyższe opcje nie są jedynymi. Pełną ich listę znajdziecie w dokumentacji.

Skoro już przy pliku konfiguracyjnym jesteśmy, nie można zapomnieć o jednej bardzo ważnej modyfikacji. Musimy wyłączyć buforowanie wyjścia, które domyślnie jest włączone.

resources.frontController.params.disableOutputBuffering = true

Nie zapomnijcie o stworzeniu odpowiednich katalogów, ponieważ bez nich aplikacja przestanie działać.

.htaccess i punkt wejścia do aplikacji

Spore zmiany należy wprowadzić w pliku .htaccess. Powinien on wyglądać w następujący sposób (podziękowania dla Arka za pomoc z DirectoryIndex).

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

Autor wpisu: batman, dodany: 18.10.2010 08:00, tagi: php

Nieco ponad rok temu Microsoft ogłosił uruchomienie chmury – Windows Azure. Jako jeden z języków, w którym można tworzyć aplikacje w microsoftowej chmurze, wymieniany jest PHP. Co więcej, powstało nawet SDK dla tego języka oraz plugin do Eclipse, znacznie ułatwiający tworzenie aplikacji przeznaczonych do instalacji w Windows Azure. Ponieważ połączenie PHP oraz technologii Microsoftu wydaje się być wyjątkowo interesujące, postanowiłem zbadać temat PHP w chmurze. W przeciwieństwie do innych “dużych” tematów, ten będę opisywał na bieżąco, wraz ze wszystkimi moimi uwagami oraz przemyśleniami. Na koniec serii pokuszę się o instalację w chmurze aplikacji opartej o Zend Framework, co może być ciekawym (i kosztownym) doświadczeniem.

Wymagane narzędzia

Zanim będziemy mogli rozpocząć prace nad aplikacją Windows Azure, musimy zainstalować niezbędne narzędzia. Są to:

Instalację najlepiej rozpocząć od Windows Azure SDK. Jest to standardowy proces, w którym musimy przeklikać się przez krótkiego wizarda. Następnie rozpakowujemy Eclipse PDT i instalujemy w nim plugin. Dokładna instrukcja instalacji znajduje się na stronie projektu – http://www.windowsazure4e.org/download/, jeśli jednak nie chce się wam przedzierać przez dziesiątki zrzutów ekranu, wystarczy, że wykonacie poniższe kroki:

  1. Z menu Help, należy wybrać opcję Instal New Software
  2. W oknie, które się pojawi, klikamy na przycisk Add.
  3. W kolejnym oknie w polu Name wpisujemy Windows Azure Tools for Eclipse, a w polu Locationhttp://www.windowsazure4e.org/update
  4. Zatwierdzamy wprowadzone zmiany i czekamy chwilę na pojawienie się listy zawierającej spis narzędzi do instalacji.
  5. Na liście tej zaznaczamy PHP Development Tools for Windows Azure Platform i klikamy przycisk Next.
  6. Pozostałe kroki to już standardowy instalator Eclipse.

Testowanie środowiska

Jeśli wszystko zostało poprawnie zainstalowane, powinniśmy być w stanie stworzyć testowy projekt, na którym możemy przetestować poprawność instalacji.

W tym celu w Eclipse wybieramy z menu File opcję New, a następnie Other (lub używamy skrótu CTRL + N). Z katalogu PHP wybieramy Windows Azure PHP Project i klikamy Next. Pierwsza strona wizarda nie powinna sprawić żadnego problemu. Gorzej z drugą, ponieważ mamy tutaj do czynienia z określeniami związanymi bezpośrednio z Windows Azure – rolami oraz mechanizmami przechowywania danych.

Ponieważ w dzisiejszym wpisie chciałem się skupić jedynie na instalacji środowiska, nie będę zagłębiał się w te tematy. Na teraz wystarczy, że będziecie wiedzieć, iż są dwa rodzaje ról – Web Role oraz Worker Role. Pierwszą z nich można określić mianem aplikacji internetowej, drugą usługami działającymi w tle (np. dostęp do danych). Mechanizm przechowywania danych pozwala na zapisywanie w chmurze danych binarnych, tabelarycznych oraz kolejek.

Wracając do testowej aplikacji. W polu Role name wpiszcie WebRole oraz zaznaczcie checkbox Windows Azure Data Storage (Use Development Storage). Po kliknięciu Finish musimy odczekać kilka chwil, aż zostaną utworzone wszystkie niezbędne projekty.

W tym momencie mamy gotową aplikację, którą można umieścić w chmurze. Zanim jednak zaczniemy wpinać się się chmury, warto przetestować aplikację lokalnie.

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.