PHP 7.3 – co nowego?

👋 Dzień dobry.

Nowa wersja PHP v7.3 jest już tuż tuż. 13 grudnia zostanie udostępniona wersja produkcyjna. Zmian jest naprawdę dużo co widać po spisie treści 🙂. Zmiany nie są rewolucyjne, większość z nich to są drobnostki, ale na pewno każdy znajdzie coś dla siebie 👍.

📝 Spis treści:

  1. 💡 Elastyczna składnia HEREDOC / NOWDOC
  2. 💡 Przecinek po ostatnim argumencie w wywołaniach funkcji / metod
  3. 💡 Wsparcie referencji w list()
  4. 💡 json_encode() i json_decode() – rzucanie wyjątków
  5. 💡 Nowa funkcja is_countable()
  6. 💡 Nowe funkcje array_key/value_first/last()
  7. 💡 Nowa funkcja do haszowania haseł – Argon2id
  8. 💡 Same site cookie
  9. 💡 hrtime() – monotoniczny timer
  10. 💡 Nowa metoda – DateTime::createFromImmutable()
  11. 💡 Nowa funkcja – fpm_get_status()
  12. 💡 Nowe funkcje w GMP
  13. 💡 CompileError – nowy typ błędu
  14. 💡 Aktualizacja PCRE do PCRE2
  15. 💡 MBString – wsparcie pełnego case-mapping i case-folding
  16. 🔧 compact() rzuci Notice gdy napotka niezdefiniowaną zmienną
  17. 🔧 instanceof – literał jako pierwszy operand – brak Fatal error
  18. 🔧 Przeprojektowane narzędzie ext_skel
  19. 🔧 Wyjątki nie wypełnią stanu error_get_last()
  20. 🔧 TypeError zgłosi błędne typy jako int oraz bool
  21. 🔧 Instrukcja continue rzuci Warning wewnątrz switch
  22. 🔧 ArrayAccess nie zrzutuje $offset typu string na int
  23. 🔧 Naprawiono referencje w statycznych własnościach klas
  24. 🔧 Naprawiono odpakowywanie argumentów z kluczami nie int
  25. 🔧 BCMath użyje obsługi błędów PHP
  26. ⚰️ Wsparcie dla BeOS porzucono
  27. ⚰️ Deprecated – image2wbmp()
  28. ⚰️ Deprecated – Stałe case-insensitive
  29. ⚰️ Deprecated – funkcje mb* bez dokumentacji
  30. ⚰️ Deprecated – funkcje szukania w string z argumentem nie string
  31. ⚰️ Deprecated – fgetss() oraz filter string.strip_tags
  32. ⚰️ Deprecated – definiowanie własnej funkcji assert()
  33. ⚰️ Deprecated – FILTER_FLAG_SCHEME_REQUIRED oraz FILTER_FLAG_HOST_REQUIRED
  34. ⚰️ Deprecated – pdo_odbc.db2_instance_name dyrektywa php.ini

Czytaj dalej PHP 7.3 – co nowego?

Dependency Injection na prostym przykładzie w PHP

Cześć! Dzisiaj na tapecie wzór projektowy wstrzykiwanie zależności. Co znajdziesz w tym wpisie:

Czytaj dalej Dependency Injection na prostym przykładzie w PHP

Wyszukiwanie duplikatów w bazie danych MySQL

Czołem!

Miałem dzisiaj krótką batalię z jedną tabelką w bazie. Tak wygląda jej struktura:

Posiada ona klucz unikalny na dwa pola, page_id oraz name. Akurat pisaliśmy migrację która robiła TRIM() na polu name. Jednak migracja się wykładała ponieważ były wpisy duplikaty z białymi znakami. Problem który musiałem rozwiązać to sposób w jaki wyszukać te duplikaty i je poprawić.

Czytaj dalej Wyszukiwanie duplikatów w bazie danych MySQL

Jak sprawdzić które pliki się zmieniły względem innego branch?

Szybki post!

Jeśli chcesz sprawdzić które pliki zostały zmienione w branchu względem innego to wystarczy na danym branch wywołać komendę:

Wyświetli nam listę zmienionych plików względem master 🙂

Przydatne gdy chcemy np. zmienione pliki odpalić w ESLint czy innym narzędziu.

Repozytorium ustawień w PhpStorm / WebStorm

Cześć

Miał być post w niedzielę, jest w poniedziałek! 🙂

Dzisiaj krótko. Mało kto wie o wspaniałej wtyczce do naszego IDE – Settings Repository. Pozwala nam na zapisywanie ustawień aktualnego projektu do zewnętrznego repozytorium (polecam Bitbucket). Dzięki temu mamy te same ustawienia w domu, w pracy, czy w każdym innym miejscu. Ustawienia się synchronizują w pełni automatycznie. Więc w nowym miejscu możesz się poczuć jak w domu.

Konfiguracja

Czytaj dalej Repozytorium ustawień w PhpStorm / WebStorm

Kahlan – PHP test framework – dla wolności, prawdy i sprawiedliwości

TDD

Czyli coś co chyba każdy z nas robi – a przynajmniej powinien! Kto słyszał o PHPUnit? Albo o PHPSpec? A może Codeception? To dobre i sprawdzone narzędzia które mają jednak swoje minusy. Dzisiaj chcę wam zaprezentować całkiem świeże narzędzie – Kahlan.

Co to kurcze jest?

Jest to kolejny framework do pisania testów. Czym się różni od poprzednich? Na pewno składnią. Czy znacie RSpec albo jasmine? Tutaj mamy bardzo podobną implementację dla PHP, a więc używamy describe-it. Jest to cholernie wygodne i łatwe do zrozumienia. Chcecie przykład*?

Czytaj dalej Kahlan – PHP test framework – dla wolności, prawdy i sprawiedliwości