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

Autor wpisu: Kamil Adryjanek, dodany: 08.12.2014 21:54, tagi: php, symfony2

Symfony2 console In my daily work, I really often use the Symfony2 console. I used to type scommand $ php app/console each time I wanted to execute a script. Sometimes I made a typo, sometimes I just forgot to add proper env parameter – the thing is that I lost some time. In this short entry I want show you how to speed up the work with the console and improve your performance.

Post Using Symfony2 console the right way pojawił się poraz pierwszy w Kamil Adryjanek.

Autor wpisu: Łukasz Socha, dodany: 08.12.2014 15:10, tagi: php

CSRF jest metodą ataku wykorzystującą tą samą lukę co atak XSS, a więc sposób zabezpieczenia się przed CSRF jest identyczny. Mimo tego, warto moim zdaniem poznać tę technikę ataku :). W artykule wykorzystuję kod napisany na potrzeby ataku XSS, a więc do pełnego zrozumienia niezbędne jest przeczytanie poprzedniego wpisu z serii (Nie)bezpieczny kod. Trochę teorii […]

Autor wpisu: Kamil Adryjanek, dodany: 05.12.2014 11:39, tagi: php

wordpress-logo Lately developing Level7 WordPress plugin I needed simple solution that will allow non-technical users to create conditional statements in content of pages or posts. It had to be something very simple, intuitive and with support for WordPress Conditional Tags or any other callables.

What is callable? Callable is a function or class method that can be called.

Post WordPress shortcodes: if-else statement pojawił się poraz pierwszy w Kamil Adryjanek.

Autor wpisu: matipl, dodany: 04.12.2014 12:09, tagi: php

Moim zdaniem są dwie coroczne imprezy w Polsce, na których warto bywać.

Pierwsza konferencja to oczywiście PHPCon Poland. W następnym roku odbędzie się 6. edycja, ale na zapisy przyjdzie jeszcze czas. Natomiast od kilku dni dostępne są już wszystkie nagrania z tegorocznej edycji na Vimeo: PHPCon Poland 2014 - after movie

Jeśli nie byłeś – polecam. Jeśli byłeś, też warto obejrzeć.

Od wczoraj istnieje już możliwość wczesnej rejestracji na 4Developers, który odbędzie się 20 kwietnia 2015 w Warszawie. Jest to konferencja jednodniowa, z wieloma ścieżkami (PHP, Java, IT Security, Frontend, Mobile, IT Project Managment). Niektórym przeszkadza ilość prelekcji i ścieżek jak na 1 dzień. Dla mnie jest w porządku, można dowolnie przechodzić co prelekcję na inną ścieżkę. Warto, do tego bliżej niż Szczyrk.

Miejsce: Warszawa Termin: 20 kwietnia 2015 Koszt: 200 zł (przy zapisie do 9 lutego) Rejestracja

Autor wpisu: batman, dodany: 03.12.2014 12:30, tagi: php, zend_framework

Korzystając z usług sieciowych często spotykamy się z Basic Auth jako metodą zabezpieczającą dostęp do zasobów. W przypadku Zend Frameworka klientem REST jest Zend_Rest_Client, który nie ma wbudowanej obsługi Basic Auth. Na szczęście istnieje coś takiego jak Zend_Http_Client, który rozwiązuje ten problem.

Jeśli API, z którego korzystamy, wymaga od nas podania loginu i hasła, wystarczy, że ręcznie ustawimy klienta http, który obsługuje Basic Auth. Zacznijmy od klienta REST.

$client = new Zend_Rest_Client();
$client->setUri('uri_uslugi');

Mając utworzony obiekt klienta REST, tworzymy klienta http oraz przekazujemy mu dane autoryzacyjne.

$httpClient = new Zend_Http_Client();
$httpClient->setAuth('username', 'password');

Na koniec wskazujemy klientowi REST, że będziemy korzystali z niestandardowego klienta http oraz wysyłamy request w celu autoryzacji naszego klienta REST.

$client->setHttpClient($httpClient);
$response = $client->restGet('zasob');

W ten oto prosty sposób dokonaliśmy autoryzacji Basic Auth w Zend_Rest_Client.

Autor wpisu: batman, dodany: 28.11.2014 12:00, tagi: php

Przez bardzo długi czas byłem zapalonym zwolennikiem Zend Frameworka. Prawie każdy projekt PHP, jaki wychodził spod mojej ręki, oparty był o ten framework. Czas mijał, kolejne projekty powstawały, a framework się starzał, więc z ogromną niecierpliwością wypatrywałem kolejnej jego wersji. Niestety wraz z pojawiającymi się betami i RC, zniechęcałem się do tego frameworka coraz bardziej. Problemy z ZF2 spowodowały, iż zacząłem rozglądać się za alternatywą. Po kilku miesiącach testów różnych frameworków, wygrał Laravel.

Bardzo zadowolony ze swojego wyboru, zacząłem tworzyć kolejne projekty w tym frameworku i każda kolejna realizacja, utwierdzała mnie w przekonaniu, że był to dobry wybór. Najnowszą stabilną wersję (4.2) poznałem całkiem dobrze, gdy doszły mnie informacje, że niedługo światło dzienne ujrzeć ma wersja 5. Jak się okazało, termin listopadowy nie zostanie dotrzymany i możemy spodziewać się wydania Laravela 5 dopiero w styczniu, niemniej już teraz warto wiedzieć czego się spodziewać.

  1. Nowa struktura katalogów
  2. Nowe generatory
  3. Adnotacje route'ów
  4. Adnotacje zdarzeń
  5. Kontrakty
  6. Formularze
  7. Helpery
  8. Middleware
  9. Harmonogramowanie zadań

Nowa struktura katalogów

W obecnej wersji frameworka, zdecydowana większość kodu znajduje się w katalogu app. Znajdziemy w nim konfigurację, testy, kontrolery, wersje językowe, magazyn na pliki, cache, sesje, itp. Wszystkie te elementy są niezbędne do działania aplikacji, jednak nie koniecznie powinny znajdować się w katalogu aplikacji. Twórcy frameworka doszli do takich właśnie wniosków i przenieśli większość tych katalogów do głównej gałęzi projektu. Teraz w katalogu app znajdują się jedynie kontrolery, modele, klasy odpowiedzialne za konsolową część aplikacji (wcześniej znajdowały się w katalogu commands, teraz jest to Console) oraz providery . Zmiana zaszła również w filtrach, które nie są już przechowywane w jednym pliku. Zamiast tego, każdy filtr to osobna klasa. Nowa struktura katalogów wygląda następująco:

Drzewo katalogów

Kolejną nowością w Laravel 5 jest obecność folderu Middleware. Przy pomocy klas tego typu będziemy w stanie napisać wrappery dla requestów i odpowiedzi na nie. Upraszczając nieco ich rolę, będzie to nowy sposób tworzenia filtrów, które nie są bezpośrednio związane z logiką aplikacji.

Jeśli przyjrzeliście się powyższej grafice, na pewno zauważyliście, że pojawił się folder resources. Od wersji 5 będzie on miejscem, w którym przechowywane będą widoki, pliki językowe oraz zasoby takie jak np. pliki sass.

Nowe komendy wiersza poleceń

Wiersz poleceń we frameworku Laravel doskonały nie jest. Mimo iż wiele przy jego pomocy można uzyskać (na pewno więcej niż w przypadku Zend Frameworka), do doskonałości jeszcze mu trochę brakuje. Piąta wersja frameworka wprowadza kilka zmian, dzięki którym łatwiej się będzie poruszać w konsoli. Najbardziej rzucającą się w oczy zmianą jest utowrzenie wspólnej przestrzeni dla generatorów. Od piątej wersji dostępna będzie komenda make, z poziomu której będziemy tworzyć kontrolery, migracje, itd. Pojawił się generator schedule pozwalający na ustawienie zadań cyklicznych (napiszę o tym więcej przy okazji jednego z kolejnych wpisów poświęconych temu frameworkowi). Dodane zostały również kolejne komendy do zarządzania route'ami. Również publikacja została zaktualizowana i teraz publikowanie zasobów czy plików konfiguracyjnych zostało przeniesione do publish:.

Adnotacje route'ów

Nie jestem fanem adnotacji, zwłaszcza w PHP, ponieważ zaciemniają one obraz aplikacji, a źle używane mogą spowodować ból głowy u każdej osoby, która chce debugować nie swój kod. Z drugiej strony, jeśli mamy bardzo dużą aplikację z ogromną ilością route'ów, trzymanie ich wszystkich w jednym pliku na pewno spowoduje bałagan. Niestety złotego środka nie ma, więc wszystko zależy od zdrowego rozsądku programistów oraz od narzędzi z jakich korzystają. Laravel 5 pozwala tworzyć adnotacje w kontrolerach i na ich podstawie generuje route'y do naszej aplikacji.

Korzystanie z adnotacji jest banalnie proste. W podstawowej wersji wygląda następująco:

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

Autor wpisu: Łukasz Socha, dodany: 18.11.2014 17:50, tagi: php

W poprzednim wpisie opisałem technikę ataku SQL injection. W kolejnym artykule cyklu pokażę na czym polega równie popularny atak XSS i jak się przed nim uchronić. Trochę teorii Cross-site scripting (XSS) polega na osadzeniu w treści atakowanej strony kodu (zazwyczaj JavaScript), który wyświetlony przez innego użytkownika może doprowadzić do wykonania przez niego niepożądanych akcji. Jedną […]
Wszystkie wpisy należą do ich twórców. PHP.pl nie ponosi odpowiedzialności za treść wpisów.