Brudnopis programisty czyli zapiski o programowaniu

PhpStorm? composer? plugin?

Napisałem prosty plugin do PhpStorma (w wersji od 8.0.2 wzwyż, więc nie obijajcie się z aktualizacją). Jest on zatytuowany PHP Composer AutoCompletion, jak sama nazwa wskazuje, dodaje on podpowiadanie składni do pliku composer.json. Działa podpowiadanie struktury pliku oraz nazw paczek wraz z wersjami (tylko z packagist.org). Issue na bugtraker... Read more

Jeden TestCase dla wielu testowanych klas

Na początku nakreślę problem. Mamy klasę Product oraz interfejs ProductRepository. interface ProductRepository { function save(Product $product); function delete(Product $product); function findOne($id); function findAll(); //... } ProductRepository może mieć kilka implementacji, np.: DoctrineProductRepository - zapisy... Read more

Biblioteka programisty

Programista nie małpa, czytać musi. Wrzucam listę książek z niezwykle prestiżowym, moim certyfikatem jakości. Nie zamieszczałem tytułów, których nie przeczytałem, a wiem że są świetne i są na mojej liście do przeczytania. Kolejność nie ma większego znaczenia. Jeśli chcesz dodać coś od siebie, to są komentarze pod tym wpisem. Programowanie i pro... Read more

Typ Option, czyli jak uniknąć Fatal error: Call to member function getTitle() on a non-object...

Poprzedni mój wpis objaśniał podstawy programowania funkcyjnego, tym razem zajmę się wzorcem projektowym, który wywodzi się z języków funkcyjnych i jest szeroko stosowany w Haskellu, Scali, czy F#. Mowa tutaj o type Option. Inne nazwy tego patternu to Optional (java8), czy Maybe (Haskell) - podaję jabyście chcieli coś na ten temat wygooglować. ... Read more

Bo obiekty to za mało, czyli o programowaniu funkcyjnym w php

Obiekty* są fajne, dzięki nim można zrobić miłe w użyciu api. Obiekty są fajne, bo dają nam narzędzia do reużywalności kodu. Obiekty są fajne przede wszystkim dlatego, bo dają nam możliwość ukrywania implementacji i hermetyzacji danych. PHP to przede wszystkim język dwuparadygmatowy, powstał jako język strukturalny. Następnie dodano do niego ba... Read more