12:03

Witaj GraphQL, żegnaj REST API czyli o pisaniu nowoczesnego API

Autor |27 grudnia, 2018|

Zapewne nieraz spotkałeś się z potrzebą stworzenia lub obsłużenia API. Często te API nie działały tak jak powinny, były nieintuicyjne, i żeby pobrać określone dane musiałeś wykonać kilka zapytań. Często nawet pisząc API zastanawiasz się co zwrócić, jakie endpoint-y stworzyć, jaki kod HTTP zwrócić, co zwrócić w body, co w nagłówkach. Istnieje, wiele poradników, […]

13:33

SOLID – Single responsiblity principle

Autor |19 lipca, 2016|

Jeśli tutaj trafiłeś pewnie zastanawiałeś się jak zostać lepszym programistą. Jeśli słyszałeś kiedyś o SOLID to prawdopodobnie czytałeś książkę Clean Code – Martin Robert C. Jeśli tego jeszcze nie zrobiłeś, to polecam Ci przeczytanie jej. Czym jest SOLID?

SOLID to zbiór reguł, które zostały zdefiniowane przez programistów. Reguły te mają na celu ułatwienie pisania kodu, który […]

Jak zostać programistą?

Autor |18 lipca, 2016|

Trafiając na ten wpis pewnie zastanawiasz się jak zostać programistą. Z uwagi na rosnące zapotrzebowanie na programistów, niedobór kadry IT i kuszące zarobki istnieje duże zapotrzebowanie na programistów. Jednakże, jeśli wydaje Ci się, że jest to proste to się mylisz. Z mojego doświadczenia zawodowego zaobserwowałem dwie grupy osób, które są programistami.

Pierwsi z nich to […]

19:53

Wzorzec Pośrednik (Proxy) w PHP

Autor |20 czerwca, 2016|

Kolejnym wzorcem projektowym, który omówię jest wzorzec Pośrednik (Proxy). Jest to wzorzec z grupy wzorców behawioralnych. Proxy jest wzorcem, który zastępuje obiekt o tym samym interfejsie i przed otrzymaniem dostępu do obiektu wykonuje się jakaś logika. Do czego może być użyty?

Najpopularniejszym użyciem proxy jest ograniczenie dostępu do kosztownych obiektów do momentu kiedy one są potrzebne. Jest to dość dobrze opisane w Internecie więc pominę to użycie.
Innym przykładem użycia proxy jest zabezpieczenie obiektu przed nieautoryzowanym dostępem.
Kolejna sytuacja kiedy możemy użyć pośrednika to inna reprezentacja obiektu w zależności od określonych warunków, wyobraź sobie, że masz obiekt ProxyRepository i w zależności od pewnych warunków chcesz, aby dane były pobierane albo z MySQL, albo MongoDB. Proxy to umożliwia. ’

Podsumowując Proxy przekierowuje żądania do oryginalnego obiektu wtedy, kiedy powinny być przekierowane, a warunki zależą od typu Proxy. […]

20:01

Symfony kontroler jako serwis

Autor |27 kwietnia, 2016|

Symfony to framework, w którym kontroler powinien przyjąć Request i zwrócić Response, nie jest wymagane dziedziczenie z klas abstrakcyjnych. Kontrolerem może być prosta klasa PHP.

Poniżej przykład prostego w pełni funkcjonalnego kontrolera:
namespace AppBundle\Controller;

use Symfony\Component\HttpFoundation\Response;

class HelloController
{
public function indexAction($name)
{
return new Response('<html><body>Hello […]

16:03

Najczęstsze błędy początkujących programistów PHP

Autor |24 września, 2015|

PHP jest językiem, którego opanowanie w stopniu podstawowym nie jest trudne, jednakże ma to swoje konsekwencje w tym, że początkujący programiści, często idąc na łatwizne piszą kod, który nie jest najwyższej jakości. Często winą tego są poradniki z czasów kiedy wiądącym trendem było PHP 3-4. Te poradniki mają się ni jak do rzeczywistości programistycznej […]

Nowości w PHP 7 – część druga

Autor |23 września, 2015|

W poprzednim wpisie przedstawiłem listę nowości w PHP7. W tym skupie się na takich rzeczach jak obsługa wyjątków, deklaracji typu zwracanej wartości oraz zarezerwowanym typom.
Obsługa wyjątków
W PHP7 wszystkie wyjątki implementują interfejs o nazwie \Throwable. Interfejs ten jest implementowany w dwóch głównych klasach(rodzinach klas) obsługujących wyjątki oraz błędy. Struktura wygląda tak jak poniżej:
interface Throwable
[…]

22:09

Nowości w PHP 7 – część pierwsza

Autor |28 sierpnia, 2015|

PHP 7 nadchodzi w tym roku, a wraz z tą wersją masa zmian i nowych funkcjonalności. Wprowadzone zostały nowości takie jak scalary type hinting, explicit return value type, spaceship operator, combined comparsion operatori wiele innych. W tym wpisie postaram się przedstawić najważniejsze zmiany i nowości w php7.
Dlaczego PHP 7, a nie PHP 6
Obecnie najnowszą […]

Obsługa tablic w PHP część 2

Autor |13 sierpnia, 2015|

Ten wpis jest kontynuacją poprzedniego wpisu z podstawowymi operacjami na tablicach w PHP. Tym razem opisuje bardziej zaawansowane funkcje, które ułatwiają pracę z tablicami.

 

array_map() – wykonuje funkcje podaną w pierwszym argumencie na każdym elemencie tablicy i zwraca nową tablicę

 
function multiplyx2($element)
{
return $element * 2;
}

$sampleArray = [1,2,3,4,5];

$result = array_map('multiplyx2', $sampleArray);

print_r($result);
array_reduce() – pozwala zredukować […]

PHP Array – (operacje na tablicach)

Autor |10 sierpnia, 2015|

Często poczatkujący programiści mają problemy z tablicami w PHP. Poniżej przedstawiam najczęściej potrzebne operacje na tablicach, zarówno proste jak i te bardziej zaawansowane.
Tworzenie tablicy w php
$arrayA = []; //pusta tablica
$arrayB = array(); //stara składnia dla pustej tablicy
$arrayC = ['jabłko', 'banan', 'śliwka']; //tablica z elementami
$arrayD = [
'owoc1' => 'jabłko',
'owoc2' => 'banan',
'owoc3' => 'śliwka', //ostatni przecinek […]

14:06

PHP Wzorce Projektowe

Autor |17 lipca, 2015|

Niedawno postanowiłem stworzyć bibliotekę na githubie z wzorcami projektowymi w PHP. Sukcesywnie dodaje tam nowe wzorce wraz z testami, które w momencie pisania tego posta stanowią 91% pokrycia kodu. Jeśli chcesz zostać dobrym programistą i pisać kod, który jest zdatny do ponownego użycia zamknięty na modyfikację, ale łatwy do rozszerzenia pownieneś zacząć interesować się wzorcami […]

14:26

Dlaczego przekonałem się do Symfony2

Autor |19 czerwca, 2015|

Podczas swojej kariery programistycznej pracowałem z wieloma róznymi frameworkami w PHP od autorskich po zenda, phalcona, kohane. Obecnie pracuję przy projekcie prowadzonym na Symfony2. Długo nie mogłem się przekonać bo wydawało mi się, że Symfony2 to ogromny framework i będę musiał spędzić dużo czasu na poznanie go. Mając doświadczenia z czytania dokumentacji innych frameworków […]

13:27

Testy wydajnościowe aplikacji PHP – Apache Benchmark

Autor |16 lutego, 2015|

Z uwagi na brak czasu dawno nic nie pisałem na blogu. Postanowiłem to zmienić i napisać coś o testach wydajnościowych. Każda aplikacja ma określony czas odpowiedzi na zapytania. Każde zapytanie do aplikacji zajmje określony czas serwera. Nakłada się na to czas przesłanie żadania, czas odpowiedzi serwera, czas wykonania aplikacji itp itd.

Aplikacja jeśli jest źle […]

12:53

Dlaczego warto używać Composera

Autor |22 listopada, 2014|

Dlaczego warto używać Composera?

Composer jest to narzędzie do zarządzania zależnościami w projekcie. Dzięki niemu możemy w prosty sposób dokładać biblioteki do projektu w określonej wersji i je łatwo aktualizować. Composer domyślnie instaluje biblioteki w katalogu vendor. Aby zacząć korzystać z composera należy go pobrać ze strony https://getcomposer.org/download/

Mając paczkę z composerem możemy go uruchomic poleceniem php […]

MongoDb i Mandago ODM w PHP

Autor |21 listopada, 2014|

Ostatnio interesowałem się dość mocno optymalizacją prędkości pracy witryn internetowych. Testowałem rożne bazy NoSQL, które zamiast przechowywać wpisy w formacie SQL czyli tabele rekordy itp. używają dokumentów. Znaczącą przewagą takich baz jest fakt iż struktura bazy jest bardzo elastyczna. Nie mamy jednak dostępu do wielu przydatnych funkcji SQL takich jak transakcje, relacje itp. Zamiast […]


Warning: Use of undefined constant XML - assumed 'XML' (this will throw an Error in a future version of PHP) in /wp-content/plugins/wp-syntaxhighlighter/wp-syntaxhighlighter.php on line 1048