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

Autor wpisu: cichy, dodany: 22.06.2013 07:23, tagi: php, symfony2

Długi czas myślałem nad serią artykułów dotyczącą Symfony2, zastanawiałem się przede wszystkim czy jestem w stanie napisać wartościowy i spójny kurs dotyczący tego frameworka. Wbrew pozorom kurs taki to nie prosta rzecz a wszystko jest utrudnione jeszcze bardziej tym, że dopiero sam jestem powiedzmy początkującym użytkownikiem SF2.  Jednak po analizie tego co już wiem doszedłem do wniosku że warto spróbować i tak oto powstał ten wpis będący pierwszą częścią kursu Symfony2.

Aby całość nie była zbyt nudna postanowiłem zrealizować w kursie jakiś ciekawy projekt i tak zrodził się pomysł kolejnego oprogramowania do zarządzania listą zadań do wykonania :) plus tego jest taki, że już jakiś czas chciałem coś takiego napisać dla Siebie. Zdaję sobie sprawę, że skryptów tego typu jest raczej mnóstwo jednak w każdym mi czegoś brakowało więc czemu by nie zrobić tego samemu ?

Czas więc zabrać się do dzieła. Najpierw zajmiemy się skonfigurowaniem wszystkiego czego będziemy potrzebować do pracy. Osobiście pracuję na Windows 7 i pakiecie XAMPP dlatego też dla tej konfiguracji opiszę wszystkie niezbędne kroki. Jako edytora używam NetBeans 7.3

1. Pobieramy Composer

O tym oprogramowaniu już chyba każdy słyszał, jeżeli nie to wiedz, że Composer to oprogramowanie do zarządzania zależnościami dla PHP i jest na prawdę bardzo fajnym narzędziem. Aby go pobrać wystarczy wejść na: http://getcomposer.org i pobrać wersję dla swojego systemu. Po zainstalowaniu jesteś gotów aby przejść do punktu drugiego.

2. Cygwin

Cygwin tak naprawdę, nie jest niezbędny ale bardzo go lubię. Pobrać go możesz z http://www.cygwin.com  Zazwyczaj instalując Cygwin wybieram te same pakiety:

  • git
  • wget
  • curl
  • bash

Pozwala to na raczej komfortową pracę z konsolą oczywiście jeżeli potrzebujesz czegoś innego lub w ogóle nie chcesz używać Cygwin to tak jak wspominałem nie jest to krok niezbędny.

3. Symfony

Wreszcie jesteś gotów aby pobrać framework. Opiszę tutaj proces tworzenia nowego projektu z wykorzystaniem wbudowanego w NetBeans wsparcia dla Symfony2. Wszystko co musisz zrobić można podzielić na serię kroków

  1. Wejdź na http://symfony.com a następnie pobierz najnowszą wersję stabilną frameworka (wybierze opcję without vendors). Ponieważ Composer jest zainstalowany możesz sobie pozwolić na tworzenie projektów bez potrzeby dołączania na starcie dodatkowych komponentów. Zapisz archiwum w dowolnym folderze i zapamiętaj jego położenie
  2. Otwórz NetBeans, przejdź do Tools -> Options -> PHP  a następnie wybierz zakładkę Symfony2. Kolejnym krokiem jest wskazanie za pomocą przycisku Browse paczki, którą przed chwilą pobrałeś. Upewnij się także, czy opcja Ignore cache Directory by Default jest zaznaczona, pozwoli to na pominięcie katalogu cache w drzewie naszego projektu.

I to właściwie koniec głównej konfiguracji następnym krokiem jaki musisz i zapewne chcesz wykonać jest stworzenie nowego projektu

4. Tworzenie projektu

A więc NetBeans już czeka w gotowości, wszystko co musisz zrobić to utworzyć nowy projekt poprzez menu File -> New Project następnie wybierz rodzaj projektu: PHP Application i kliknij Next.

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

Autor wpisu: cichy, dodany: 21.06.2013 05:35, tagi: php

Dziś postanowiłem odświeżyć swoje kanały RSS, mniej więcej taki nagłówek przywitał mnie ze strony PHP.net:  “PHP 5.5.0 Release” czym prędzej kliknąłem w link aby przeczytać co też nowego znalazło się w aktualizacji i muszę przyznać nie zawiodłem się.

A więc do rzeczy co nowego dostaliśmy wraz z nowym numerkiem wersji ? okazuje się, że całkiem sporo pomimo że lista zmian nie ma 50 stron to jednak jest o czym poczytać. Poniżej lista kluczowych zmian:

  1. Dodanie generatorów i “współprogramów”
  2. Dodanie obsługi słowa kluczowego finally
  3. Nowe uproszczone API do hashowania haseł
  4. Obsługa składni w postaci ClassName::class pozwalając na dostęp do w pełni rozwiniętej nazwy klasy (łącznie z przestrzenią nazw)
  5. Możliwość użycia dowolnego wyrażenia jako argumentu dla funkcji empty
  6. Obsługa nieskalarnych kluczy dla foreach
  7. foreach zyskał również wsparcie dla list()

Pojawiły się również zmiany mające wpływ na kompatybilność wsteczną, wśród nich możemy przeczytać między innymi o porzuceniu wsparcia dla windows XP i 2003 jak i o usunięciu funkcji PHP_logo_GUIDs (o której dowiedziałem się z changelog :) ).

Oczywiście to nie wszystkie zmiany ale myślę że warto skupić się na tych kluczowych elementach, osoby które chciałyby przeczytać pełną listę zmian moga ją znaleźć pod adresem: http://php.net/ChangeLog-5.php#5.5.0 osobiście uważam, że nowa wersja PHP jak najbardziej wnosi kilka ciekawych elementów, zwłaszcza podoba mi się konstrukcja z ::class która z pewnością ułatwi tworzenie obiektów bez konieczności podawania pełnego rozwinięcia przestrzeni nazw lub tworzenia aliasów.  Również możliwość przyjęcia dowolnego wyrażenia przez empty wygląda zachęcająco zwłaszcza tam gdzie chodzi nam jedynie o sprawdzenie zwróconej przez metodę / funkcję wartości

Autor wpisu: vonski, dodany: 20.06.2013 22:30, tagi: php

Doczekaliśmy się kolejnego wydania jednego z najpopularniejszych języków (najpopularniejszego?) skryptowych. Poniżej szybki przegląd zmian jakie nadchodzą razem z PHP 5.5.0:

  • Dodano słowo kluczowe finally, co za tym idzie ułatwi to nam obsługę wyjątków
  • Dodano wsparcie dla nieskalarnych operatorów w foreach
  • Możliwość użycia empty() bezpośrednio na wyniku działania funkcji oraz innych wyrażeń
  • Uproszczono proces hashowiania haseł
  • Dodano wsparcie dla list() w foreach
  • Biblioteka GD została uaktualniona do wersji 2.1

Więcej można znaleźć na oficjalnej stronie PHP.

Autor wpisu: nospor, dodany: 13.06.2013 08:37, tagi: php

Często na Waszych stronach wstawiacie jakiś system szablonów, np. Smarty. A potem biegacie po forach z pytaniami a jak zrobić to a jak tamto w takim Smarty. Dodatkowo taki system to jedna wielka kobyła, która na dobrą sprawę w niczym nie usprawnia życia, a wręcz czasami komplikuje. Często wpadacie na pomysł, by napisać własny system szablonów. Ale to również nie jest zbyt dobry pomysł. Zadam Wam pytanie: ale po co w ogóle bawić się w system szablonów? Odpowiecie zapewne: by oddzielić wygląd aplikacji od jej logiki. Tak, po to. Ale po co bawić się w system szablonów, który oprócz wprowadzanie własnej nowej składni nie robi tak naprawdę nic użytecznego. Może poprostu wprowadzić system, który będzie operował jedynie na czystym HTML oraz PHP. Wówczas nie trzeba poznawać żandej nowej składni ani bawić się w dzikie parsowania szablonów. I taką właśnie klasę widoku chcę Wam dziś pokazać.

Autor wpisu: Diabl0, dodany: 03.06.2013 14:20, tagi: php

Przed chwilą straciłem prawie dwie godziny walcząc z instalacją php-imagick na maku. Aby zaoszczędzić sobie (i innym) podobnego problemu w przyszłości gotowa solucja:

  1. port install php-imagick Zainstaluje nam wszystko co potrzebne
  2. ln -s /opt/local/include/ImageMagick-6 /opt/local/include/ImageMagick/ Brak tego dowiązania zmarnował mi tyle życia…
  3. pecl install imagick Ważne pytanie: Please provide the prefix of Imagemagick installation [autodetect] : /opt/local

    Build process completed successfully Installing ‚/usr/include/php/ext/imagick/php_imagick.h’ Installing ‚/usr/include/php/ext/imagick/php_imagick_defs.h’ Installing ‚/usr/include/php/ext/imagick/php_imagick_shared.h’ Installing ‚/usr/lib/php/extensions/no-debug-non-zts-20090626/imagick.so’ install ok: channel://pecl.php.net/imagick-3.0.1 configuration option „php_ini” is not set to php.ini location You should add „extension=imagick.so” to php.ini

  4. edytujemy /etc/php.ini i dodajemy na końcu: extension=”/usr/lib/php/extensions/no-debug-non-zts-20090626/imagick.so” (ścieżka może się różnić, będziecie ją mieli pod koniec pecl install:

 

I to tyle. Niby takie proste, a jednak upierdliwe.

Autor wpisu: matiit, dodany: 30.05.2013 20:49, tagi: php

Na sam początek muszę przeprosić za tygodniowy dwutygodniowy poślizg w publikacji tej części, aczkolwiek – nie mówiłem, która sobota (jednak czwartek), mam nadzieję, że nikt nie stracił chęci do nauki frameworka php laravel, a jeśli stracił, to może odzyska (dziwne zdanie wyszło).

Bez zbędnych słów

W poprzedniej części pozostawiłem Cię z zadaniem napisania widoków do naszej aplikacji. Oczywiście możliwości ich napisania jest nieskończenie wiele, przedstawię tylko te, które ja przygotowałem – jeśli masz trochę inne – nie szkodzi, nie ma najlepszej wersji. Pliki widoku - Laravel Nie zwracaj proszę uwagi na poprawność html itd, nie o tym jest ten wpis. Tak wyglądają 2 pliki widoku dla naszej aplikacji w Laravel. Ja te pliki nazwałem (od lewej) wynik.blade.php i skroc.blade.php. Ponownie – pomijam, że powinno się trzymać angielskiego nazewnictwa – wpis jest po polsku i w tym samym języku są pliki. Na początek zajmijmy się plikiem skroc.blade.php. Ten plik będzie odpowiedzialny, za przyjęcie od użytkownika linka do skrócenia. Mamy tam element input ale tak na prawdę jest to bez sensu ponieważ nie mamy żadnego formularza. Pokażę Ci teraz przekształcony plik z użyciem klasy Form z Laravel 4. Możesz przez chwilę się porozpływać nad pięknem Laravelowego kodu :)

Budowanie prostego formularza w Laravel 4

Budowanie prostego formularza w Laravel 4

Dodałem też kod routingu. Jedyne co robi – to wyświetla nasz widok. Należy się kilka słów wyjaśnienia co do nowego kodu (kod to php mieszany z blade – tak się nazywa system szablonów z Laravel).


{{ Form::open() }}

{{ Form::text('link') }}

{{ Form::submit('Skróć') }}

{{ Form::close() }}

Kod jest tak przejrzysty, że nie ma za bardzo czego tłumaczyć. Może jedynie Form::text. Jest to skrót do inputa o typie text. Parametr jest nazwą tego inputa. Tak wygląda kod wygenerowany przez ten widok:

Kod wygenerowany przez Laravel

Należy się wyjaśnienie przy tym długim ciągu znaków. Jest to ukryty element formularza generowany przez Laravel dla zapobiegania przed atakiem typu CSRF (do wygooglania, to też nie jest tematem tego artykułu, chciałbym tłumaczyć jak najdokładniej, ale na prawdę się nie da :) ). Co do formularza. Zauważ, ze metodą jest POST (możemy to zmienić przekazując odpowiedni parametr do metody open() ). Spróbuj kliknąć w Skróć. Powinieneś dostać bardzo ładny error :) Powinien wyglądać mniej więcej tak: Ładny błąd :)

Widzimy najważniejsze czyli „MethodNotAllowedHttpException”. Dzieje się tak dlatego, że dla obecnego adresu URI nie zdefiniowaliśmy routingu dla metody POST (w routes.php mamy tylko wpis dla / dla GET. Naprawmy ten błąd! Wystarczy takie 3 linijki.

Routing: POST

Dzięki temu – po kliknięciu w skróć zobaczymy wygenerowany plik skroc.blade.php. Fajnie, prawda?

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

Autor wpisu: matipl, dodany: 29.05.2013 18:25, tagi: php

phpMyAdmin - logoWychodzi mała hipokryzja – zawsze odradzam korzystanie z phpMyAdmin i z podobnych narzędzi. Jeśli już musicie korzystać to polecałem ostatnio Adminera. Ale warto nadmienić, że kolejny kamień milowy został osiągnięty w phpMyAdmin.

Nowa wersja phpMyAdmin oznaczona jako 4.0 to przede wszystkim nowy interfejs, który został przepisany. Mówiąc dobitniej zaczęto korzystać z Javascript zamiast korzystać z HTML-owych ramek. Poprawiono również import/export plików oraz połatano sporo błędów.

System zapewne nadal jest dziurawy i jeśli nie będziecie aktualizować phpMyAdmin to pewnego dnia ktoś to wykorzysta. Jeśli mimo wszystko jesteście ciekawi jak prezentuje się nowy manager, twórcy udostępnili wersję demo. Polecam również pełny changelog.

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