Raph's world

Rafal's Grzegorek blog

Rejestracja wielu klas w Symfony jako serwis na podstawie szablonu nazw

Problem

Mam projekt w Symfony, który ma kilka klas komend („Command”) będących parserami  (nie ma znaczenia czego w kontekście tego tekstu).  W „AppBundle/Command” są więc klasy wg. schematu nazwy [Nazwa]ParseCommand.php.
Potrzebuję rejestrować te klasy jako serwisy. Do tej pory robiłem to w „services.yml”, np.:

Docker na zdalnym hoście – integracja PHPUnit i XDebug z PHPStorm

Zamarzyłem sobie, żeby mieć serwer z Dockerem gdzieś tam (czyli nie na moim laptopie) i móc wygodnie na nim pracować poprzez integrację z PHPStorm. Przedstawiam zatem mój proof of concept takiej konfiguracji.

Serwer gdzieś tam

Na potrzeby testu wykupiłem sobie VPS w Znanej Firmie Hostingowej za całe 15 zł.… Więcej

Mój zestaw narzędzi

stocksnap_m07sv6ambd

Postanowiłem opisać czego używam – choćby dlatego, żeby nie zgubić gdzieś tych narzędzi w razie jakiejś awarii.

Obecnie korzystam z dwóch platform desktopowych – Mac i Windows, więc podzielę listę aplikacji w zależności od platformy.

Wspólne

  • Przeglądarki WWW:
    • Chrome – „Developers tools” dostajemy „z pudełka”
    • Firefox
  • Edytory kodu/IDE:
    • Sublime Text 3 – szybki i potężny edytor.
Więcej

Bamboo – moja przeprawa z docker-compose i PHPUnit

Od dłuższego czasu interesowało mnie Continuous Integration w wykonaniu Attlasiana i jego serwera Bamboo.  Do tego doszedł popularny ostatnio Docker, który wydawał mi się bardzo dobrym rozwiązaniem do szybkiego stawiania środowiska potrzebnego do zbudowania aplikacji.

Postanowiłem zatem zrobić prosty proof of concept – żeby zobaczyć jak to wygląda w praktyce.… Więcej

Debugowanie CLI w Symfony

Post nie będzie długi (sorry Bobiko :P), bo ktoś to bardzo kompetentnie opisał, a, że próbuję walczyć ze swoim nawykiem debugowania przez „echo”, warto wspomnieć o bardzo pomocnym artykule opisującym temat debugowania przy użycia XDebug i PHPStorm w Symfony:

Connecting Xdebug to PhpStorm

Wspomniałem tylko o CLI, bo aktualnie tylko tego potrzebowałem, ale sam artykuł opisuje dużo więcej scenariuszy.… Więcej

Garbage collector w „Downloads”

cleaning

Folder „Downloads” to w moim przypadku regularny zapychacz miejsca na dysku. Często zapominam, żeby go sprzątnąć, bo zostawiam sobie pobrane pliki „na później”, zamiast od razu je przenieść/wykasować.

Dobrze by było, żeby folder sprzątał się sam…

Użytkownicy OSów *nix (w tym OS X) mogą wykorzystać katalog „/tmp”.  … Więcej

PhantomJS – pomocny duch przy parsowaniu

girl

Fakty

Fakt: nie wszystkie serwisy udostępniają publiczne API do pobierania danych, mimo, że te dane są publiczne.

Fakt 2: phpowy DomDocument::loadHTML() to może być za mało przy obecnym trendzie wybajerzonych frontendów, wszechobecnego JS i AJAXa.

Problem i rozwiązanie

Sam stanąłem przed powyższym problemem, gdy pisząc parser w PHP, okazało się, że trzeba coś wywołać na frontendzie.… Więcej

CakePHP 3 ORM – with rollup

Nowym ORM Cake’a 3 jest obiecujący – w końcu wszystko przestało być tabelą, ale idealnie nie jest – dodanie „WITH ROLLUP” do grupowania wymaga hakowania. Trzeba zmusić ich parser wyrażeń, żeby nie brał dodanego wyrażenia w odwrotne cudzysłowy:

Można jednak bez hakowania…

Do dodania „WITH ROLLUP” można użyć:

 … Więcej

Psia kość – 404!

pies

Dobra dokumentacja kodów HTTP: httpstatusdogs.com.

 … Więcej

Jak zostać ninja

Nie od dziś wiadomo, że skróty klawiszowe usprawniają wiele rzeczy. Nie zawsze jednak jest je łatwo zapamiętać – zwłaszcza, jeśli używamy wielu programów.

Jakiś czas temu trafiłem na projekt, który podchodzi do tematu jednocześnie w mało szablonowy, ale skuteczny (jak bardzo skuteczny – okaże się dla mnie za jakiś czas) sposób.… Więcej

Page 1 of 4

Powered by WordPress & Theme by Anders Norén