PHP7 - Anonymous Class

Łukasz Piotrowski Komentarzy 0

PHP5 przyniosło nam w swojej rewolucji względem starego poczciwego funkcje anonimowe.

W wielkim skrócie to możliwość zadeklarowania funkcji bez nazwy i przypisanie i np. przypisanie jej do zmiennej.

Anonymous Class działają na podobnej zasadzie. A do czego nam to? Zaraz się przekonacie...


Kategorie: PHP
Tagi: PHP7 PHP Redis

PHP7 - Grupowanie namespace "use"

Łukasz Piotrowski Komentarzy 0

Wiele razy spotkaliśmy się z gdy w naszym pliku deklaracja use rozrastała się do dość sporych rozmiarów. Wtedy całość przypominała coś takiego:

<?php

namespace Procest\Command;

use Project\Commnad\Builder;
use Project\Commnad\Client;
use Project\Commnad\Server;
use Project\Controller\Services\Client1;
use Project\Controller\Services\Client2;
use Project\Controller\Services\Client3;

PHP7 ma na to radę...


Kategorie: PHP

PHP7 - Spaceship operator "<=>"

Łukasz Piotrowski Komentarzy 0

Spaceship operator to nowy twór dodany w PHP7.

Działanie

Jest to operator porównania zwracający -1, 0, 1:

<?php

$a = 1;
$b = 2;
echo $a <=> $b; // -1

$a = 2;
echo $a <=> $b; // 0

$a = 3;
echo $a <=> $b; // 1

Kategorie: PHP

PHP Community Driven Standards - Standardy dla wszystkich przez wszystkich

Łukasz Piotrowski Komentarzy 0

Wczoraj na GitHub pojawił się projekt społeczności pod nazwą PHP Community Driven Standards. Jest to bardzo dobra (acz dopiero świeża) alternatywa dla FIG (Framework Interoperability Group)


Kategorie: PHP

PHP Code Coverage bez PHPUnit

Łukasz Piotrowski Komentarzy 0

Czasami jest taka sytuacja że dostajemy kod w spadku lub do modyfikacji. Trzeba się w ten kod wgryźć, zrozumieć jak działa. Prosta sprawa jeśli jest to jakiś framework, jeśli mamy testy, jeśli kod jest czytelny.

Ale co w przypadku ukochanego przez wszystkich programistów "Spagetti"?

Tutaj przyjdzie nam z pomocą paczka PHP_CodeCoverage. Dzięki niej w bardzo prosty sposób wygenerujemy sobie metryki który kod został uruchomiony przy jakimś requeście. Podobnie to wygląda do Code Coverage podczas uruchamiania Testów Jednostkowych.

Do dzieła!


Kategorie: PHP

TDD Code Kata #3 - Anagramy

Łukasz Piotrowski Komentarzy 0

Ze słowem anagram nie jeden z Was się spotkał. A jeśli się nie spotkaliście to zachęcam do odwiedzenia Wujka Google lub Cioci Wikipedii.

Dzisiejsze zadanie będzie proste. A przynajmniej tak ma się wydawać. Lecimy...


Kategorie: PHP Code Kata

TDD Code Kata #2 - Kalkulator Stringu

Łukasz Piotrowski Komentarzy 0

Dziś zaczynamy swoją przygodę z Code Kata. Przed wami pierwsze ćwiczenie które będziecie realizować.

Wg. poprzedniej części zajmiemy się ćwiczeniem zarówno TDD jak i pogłębianiem swojej wiedzy, doświadczenia, odkrywania nowych torów naszego umysłu.


Kategorie: PHP Code Kata

TDD Code Kata #1 - Wprowadzenie

Łukasz Piotrowski Komentarzy 0

Czym jest Code Kata?

Są to ćwiczenia programistyczne które wykonuje się regularnie. Najczęściej ćwiczy się jedno zadanie przez kilka/kilkanaście dni.

Za każdym razem należy starać się aby rozwiązania prowadziły do otrzymania takiego samego wyniku, jednak nie wymaga aby był to taki sam kod. Do rozwiązania możemy dojść różnymi drogami, lecz zawsze należałoby wybierać najlepsze, najbardziej optymalne, wydajne.


Kategorie: PHP Code Kata
Tagi: TDD PHP Code Kata

Przechwytywanie poczty z MailCatcher w PHP

Łukasz Piotrowski Komentarzy 0

MailCatcher to mały serwer SMTP który po skonfigurowaniu naszych skryptów bądź PHP będzie przechwytywał wszystkie wysyłane mejle.

Dzięki wbudowanemu interfejsowi Web będziemy mogli przeglądać je bezpośrednio w przeglądarce.


Kategorie: Serwery

Laravel 5 - Device Detector Cache Proxy

Łukasz Piotrowski Komentarzy 0

DeviceDetector jest narzędziem które na podstawie UserAgent wykrywa i zwraca nam przydatne informacje takie jak przeglądarka, system, urządzenie.

Ciekawszą opcją jest możliwość wykrywania czy UserAgent jest Botem czy nie.

Narzędzie ma możliwość używania Cache. Domyślnie wspierany jest doctrine/cache. Mamy też możliwość zaimplementowania własnego systemu cache. Aby to zrobić musimy zaimplementować interface DeviceDetector\Cache\Cache.

Ja postanowiłem napisać bardzo proste Proxy które umożliwia nam użycie aktualnego systemu Cache które jest zaimplementowane w Laravel 5.


Kategorie: Laravel
Top