SlideShare a Scribd company logo
1 of 18
PSR
czyli dobre praktyki programistyczne
Prepared for: Prepared by:
PHPstock Damian Michalski
Aurora Creation / PHP Magento Developer
Czym jest PSR?
PSR (PHP Standard Recommendation) - jest to zbiór wytycznych co do programowania w języku PHP.
Został on wprowadzony przez PHP Framework Interop Group (PHP-FIG)
Zbiór PSR składa się w tej chwili z 18 zestawów wytycznych.
Przedstawiamy 3 z nich:
● PSR-0: Autoloading Standard
● PSR-2: Coding Style Guide
● PSR-3: Logger Interface
● Łatwość współpracy
● Niższy próg wejścia w ‘cudzy’ kod
● Dobrze sformatowany kod z dobrym
nazewnictwem czyta się dużo szybciej
niżeli chaotycznie napisany kod ze
zmiennymi o nazwie „x” czy „y”
● Kod tworzymy przede wszystkim dla
innych (programistów) a nie dla
maszyny
Zalety PSR
● Bullet 01
● Bullet 02
● Bullet 03
● ….
● Magento: PSR-1 PSR-2
● Woocommerce: PSR?!
● Prestashop: PSR-1 PSR-
2
Jak do tego podchodzą inni?
● Bullet 01
● Bullet 02
● Bullet 03
● ….
PSR-0: Autoloading Standard
PSR-0 czyli stary standard zastąpiony przez PSR-4
— są to standardy dla automatycznego ładowania klas na podstawie struktury
katalogów w projekcie
W 2014 PSR-0 został oznaczony jako przestarzały.
PSR-4 jest teraz zalecany jako alternatywa.
PSR-0
● W pełni kwalifikowana przestrzeń nazw i klasa muszą mieć następującą strukturę
<Vendor Name>(<Namespace>)*<Class Name>
● Znak _ ma specjalne znaczenie w obszarze nazw.
● W pełni kwalifikowana przestrzeń nazw i klasa są sufiksami .php podczas ładowania z systemu plików.
Dlaczego PSR-4 wyparło PSR-0?
PSR-0 działa jedynie w przypadku, gdyby na świecie istniały jedynie klasy PHP.
Jednak, gdy do projektu dodajemy elementy spoza PHP, powstaje problem:
w jaki sposób umieścić je w projekcie?
Gdzie je zmieścić?
Projekt może mieć podkatalogi
np. doc, examples, license, css, js, img, src na kod PHP.
Wtedy należy umieścić podkatalog src w nazwie klasy.
Powstaje wówczas np. klasa:
userProjektPierwszysrcModułPierwszyKlasa
Projekt
- dokumentacje,
- przykłady,
- testy jednostkowe,
- style,
- grafiki
- inne
Wady PSR-0 oraz dlaczego lepsze jest PSR-4.
Najważniejsza zmiana to sposób traktowania ścieżki do projektu. Tym razem zamiast jednej, możemy mieć wiele ścieżek,
każda zdefiniowana dla jakiegoś prefiksu nazwy klasy.
Przykłady:
userModulPierwszy => /vendor/user/ModulA/src/php
userModulDrugi => /vendor/user/ModulB/classes/
Co więcej, możemy przypisać kilka ścieżek do jednego prefiksu:
userModulPierwszy => /vendor/user/ModulA/src/php
userModulPierwszy => /vendor/user/PoprawkiDoModuluA/php/classes
Autoloader gdy już dopasuje prefiks nazwy do jakiejś ścieżki traktuje resztę nazwy w
klasyczny sposób – rozbija na podkatalogi i szuka pliku php.
PSR-4
● Termin „klasa” odnosi się do klas, interfejsów, cech i innych podobnych struktur.
Np.:
<NamespaceName>(<SubNamespaceNames>)*<ClassName>
● Implementacje autoloadera NIE MOGĄ zgłaszać wyjątków,
NIE MOGĄ zgłaszać błędów o dowolnym poziomie
i NIE POWINNY zwracać wartości.
PSR-2: Coding Style Guide
PSR-2 — styl/standard kodowania w PHP (zbiór zasad w który wchodzi PSR-1)
● Kod MUSI postępować zgodnie z „przewodnikiem po stylu kodowania” PSR [ PSR-1 ].
● NIE MOŻE istnieć twardy limit długości linii; miękki limit MUSI wynosić 120 znaków; wiersze MUSZĄ mieć 80 znaków lub mniej.
● Kod MUSI używać 4 spacji do wcięcia, a nie tabulacji.
● Po namespace deklaracji MUSI znajdować się jedna pusta linia, a za blokiem use deklaracji MUSI znajdować się jedna pusta
linia.
● Klamry otwierające dla klas MUSZĄ przejść do następnej linii, a klamry otwierające MUSZĄ przejść do następnej linii po ciele.
● Nawiasy otwierające dla metod MUSZĄ przejść do następnej linii, a nawiasy zamykające MUSZĄ przejść do następnej linii po
ciele.
● Nawiasy otwierające dla struktur kontrolnych MUSZĄ iść na tej samej linii, a nawiasy zamykające MUSZĄ przejść na następną
linię za ciałem.
● Nawiasy otwierające dla struktur kontrolnych NIE MOGĄ mieć po sobie spacji, a nawiasy zamykające dla struktur kontrolnych
NIE MOGĄ mieć wcześniej spacji.
PSR-1 — styl/standard kodowania w PHP
● Pliki muszą używać tylko <?php i <?= tagi.
● Pliki powinny albo zadeklarować symbole (klasy, funkcje, stałe, etc.) lub powodować skutki
uboczne (np generować wyjście, zmień ustawienia .ini, itp), ale nie należy robić jedno i drugie.
● Przestrzenie nazw i klasy MUSZĄ być zgodne z PSR „autoloadingu”: [ PSR-0 , PSR-4 ].
● Stałe klas MUSZĄ być deklarowane wielkimi literami z separatorami podkreślenia.
PSR-2 — styl/standard kodowania w PHP (zbiór zasad w który wchodzi PSR-1),
● Kod MUSI postępować zgodnie z „przewodnikiem po stylu kodowania” PSR [ PSR-1 ].
● Kod MUSI używać 4 spacji do wcięcia, a nie tabulacji.
● NIE MOŻE istnieć twardy limit długości linii; miękki limit MUSI wynosić 120 znaków; wiersze MUSZĄ mieć 80 znaków lub
mniej.
● Po namespace deklaracji MUSI znajdować się jedna pusta linia, a za blokiem use deklaracji MUSI znajdować się jedna pusta
linia .
● Klamry otwierające dla klas MUSZĄ przejść do następnej linii, a klamry otwierające MUSZĄ przejść do następnej linii po
ciele.
● Nawiasy otwierające dla metod MUSZĄ przejść do następnej linii, a nawiasy zamykające MUSZĄ przejść do następnej linii po
ciele.
● Nawiasy otwierające dla struktur kontrolnych MUSZĄ iść na tej samej linii, a nawiasy zamykające MUSZĄ przejść na
następną linię za ciałem.
● Nawiasy otwierające dla struktur kontrolnych NIE MOGĄ mieć po sobie spacji, a nawiasy zamykające dla struktur kontrolnych
NIE MOGĄ mieć wcześniej spacji.
PSR-2 — styl/standard kodowania w PHP (zbiór zasad w który wchodzi PSR-1),
PSR-3: Logger Interface
Jest osiem głównych poziomów logów
const DEBUG = 'debug';
i osiem odpowiadających im metod w klasie (interfejs):
public function debug ($message, array $context = array());
W PSR-3 znajduje się osiem głównych poziomów logów (w tej kolejności):
● emergency - system jest bezużyteczny (unusable),
● alert - należy podjąć jakąś akcje np.: niedostępna baza danych, strona przestała działać, …,
● critical - przypadek krytyczny; np.: wystąpił wyjątek (programista nawalił), niedostępny komponent w kodzie,
● error - błąd podczas wykonywania ale nie zmuszający do natychmiastowej interwencji, jednak ważne aby był
zalogowany,
● warning - wyjątek po części akceptowalny (nie błąd), np.: używanie przestarzałego API, lub niepożądane użycie API,
● notice - normalne zdarzenie, które warto zalogować (ale ważniejsze od zdarzenia info),
● info - zdarzenie informacyjne rozszerzające logowane informacje, np.: User się zalogował, logi z SQL,
● debug - informacje szczegółowe, jeszcze bardziej techniczne i nawet sugerujące optymalizację lub podające zużycie
zasobów lub czasu,
● metoda log() - jest to ostatnia, dziewiąta metoda działa tak samo jak poprzednie tylko jako pierwszy argument
przyjmuje poziom logowania. W praktyce to ta metoda przeważnie zapisuje logi. Pozostałe przeważnie tylko ją
wywołują.
Potrzebujesz wiedzieć więcej?
Napisz do nas!
biuro@auroracreation.pl

More Related Content

Similar to PSR czyli dobre praktyki programistyczne

Jak zacząć, aby nie żałować - czyli 50 twarzy PHP
Jak zacząć, aby nie żałować - czyli 50 twarzy PHPJak zacząć, aby nie żałować - czyli 50 twarzy PHP
Jak zacząć, aby nie żałować - czyli 50 twarzy PHPPiotr Horzycki
 
Zwiększanie produktywności programisty php
Zwiększanie produktywności programisty phpZwiększanie produktywności programisty php
Zwiększanie produktywności programisty phpadamhmetal
 
Zwiększanie produktywności programisty php (v2)
Zwiększanie produktywności programisty php (v2)Zwiększanie produktywności programisty php (v2)
Zwiększanie produktywności programisty php (v2)adamhmetal
 
Skalowanie PostgreSQL @ DBConf.PL 2014
Skalowanie PostgreSQL @ DBConf.PL 2014Skalowanie PostgreSQL @ DBConf.PL 2014
Skalowanie PostgreSQL @ DBConf.PL 2014Filip Rembialkowski
 
Automatyzacja utrzymania jakości w środowisku PHP
Automatyzacja utrzymania jakości w środowisku PHPAutomatyzacja utrzymania jakości w środowisku PHP
Automatyzacja utrzymania jakości w środowisku PHPLaravel Poland MeetUp
 
Tworzenie i utrzymywanie czystego kodu
Tworzenie i utrzymywanie czystego koduTworzenie i utrzymywanie czystego kodu
Tworzenie i utrzymywanie czystego kodupabloware
 
Adam Roman - Automatyczne projektowanie testów
Adam Roman - Automatyczne projektowanie testówAdam Roman - Automatyczne projektowanie testów
Adam Roman - Automatyczne projektowanie testówkraqa
 
Erlang
ErlangErlang
Erlangkonryd
 
Praktyczne code reviews - PHPConPl
Praktyczne code reviews - PHPConPlPraktyczne code reviews - PHPConPl
Praktyczne code reviews - PHPConPlSebastian Marek
 
Python szybki start
Python   szybki startPython   szybki start
Python szybki startSages
 
Secure Coding w praktyce.
Secure Coding w praktyce.Secure Coding w praktyce.
Secure Coding w praktyce.Semihalf
 
Empathy optymalizacja postgre_sql
Empathy optymalizacja postgre_sqlEmpathy optymalizacja postgre_sql
Empathy optymalizacja postgre_sqlSpodek 2.0
 
Jak stworzyć udany system informatyczny
Jak stworzyć udany system informatycznyJak stworzyć udany system informatyczny
Jak stworzyć udany system informatycznyqbeuek
 

Similar to PSR czyli dobre praktyki programistyczne (20)

Jak zacząć, aby nie żałować - czyli 50 twarzy PHP
Jak zacząć, aby nie żałować - czyli 50 twarzy PHPJak zacząć, aby nie żałować - czyli 50 twarzy PHP
Jak zacząć, aby nie żałować - czyli 50 twarzy PHP
 
Zwiększanie produktywności programisty php
Zwiększanie produktywności programisty phpZwiększanie produktywności programisty php
Zwiększanie produktywności programisty php
 
Zwiększanie produktywności programisty php (v2)
Zwiększanie produktywności programisty php (v2)Zwiększanie produktywności programisty php (v2)
Zwiększanie produktywności programisty php (v2)
 
Skalowanie PostgreSQL @ DBConf.PL 2014
Skalowanie PostgreSQL @ DBConf.PL 2014Skalowanie PostgreSQL @ DBConf.PL 2014
Skalowanie PostgreSQL @ DBConf.PL 2014
 
Open Power Template
Open Power TemplateOpen Power Template
Open Power Template
 
Automatyzacja utrzymania jakości w środowisku PHP
Automatyzacja utrzymania jakości w środowisku PHPAutomatyzacja utrzymania jakości w środowisku PHP
Automatyzacja utrzymania jakości w środowisku PHP
 
Tworzenie i utrzymywanie czystego kodu
Tworzenie i utrzymywanie czystego koduTworzenie i utrzymywanie czystego kodu
Tworzenie i utrzymywanie czystego kodu
 
Adam Roman - Automatyczne projektowanie testów
Adam Roman - Automatyczne projektowanie testówAdam Roman - Automatyczne projektowanie testów
Adam Roman - Automatyczne projektowanie testów
 
Erlang
ErlangErlang
Erlang
 
Sposoby przedstawiania algorytmu
Sposoby przedstawiania algorytmuSposoby przedstawiania algorytmu
Sposoby przedstawiania algorytmu
 
Praktyczne code reviews - PHPConPl
Praktyczne code reviews - PHPConPlPraktyczne code reviews - PHPConPl
Praktyczne code reviews - PHPConPl
 
Isyp07
Isyp07Isyp07
Isyp07
 
Wprowadzenie do PHPUnit
Wprowadzenie do PHPUnitWprowadzenie do PHPUnit
Wprowadzenie do PHPUnit
 
Python szybki start
Python   szybki startPython   szybki start
Python szybki start
 
OpenEmbedded
OpenEmbeddedOpenEmbedded
OpenEmbedded
 
Php5
Php5Php5
Php5
 
Podstawy PHP
Podstawy PHPPodstawy PHP
Podstawy PHP
 
Secure Coding w praktyce.
Secure Coding w praktyce.Secure Coding w praktyce.
Secure Coding w praktyce.
 
Empathy optymalizacja postgre_sql
Empathy optymalizacja postgre_sqlEmpathy optymalizacja postgre_sql
Empathy optymalizacja postgre_sql
 
Jak stworzyć udany system informatyczny
Jak stworzyć udany system informatycznyJak stworzyć udany system informatyczny
Jak stworzyć udany system informatyczny
 

More from Aurora Creation

6 typów produktów w Magento 2
6 typów produktów w Magento 26 typów produktów w Magento 2
6 typów produktów w Magento 2Aurora Creation
 
Magento 2 Multi Source Inventory (MSI) - wielomagazynowość w Magento
Magento 2 Multi Source Inventory (MSI) - wielomagazynowość w MagentoMagento 2 Multi Source Inventory (MSI) - wielomagazynowość w Magento
Magento 2 Multi Source Inventory (MSI) - wielomagazynowość w MagentoAurora Creation
 
Adding a simple product in magento 2
Adding a simple product in magento 2Adding a simple product in magento 2
Adding a simple product in magento 2Aurora Creation
 
Optymalizacja Magento pod Page Speed - Google
Optymalizacja Magento pod Page Speed - GoogleOptymalizacja Magento pod Page Speed - Google
Optymalizacja Magento pod Page Speed - GoogleAurora Creation
 
Typy produktów w Magento
Typy produktów w MagentoTypy produktów w Magento
Typy produktów w MagentoAurora Creation
 
Dekalog bezpieczeństwa Magento
Dekalog bezpieczeństwa MagentoDekalog bezpieczeństwa Magento
Dekalog bezpieczeństwa MagentoAurora Creation
 

More from Aurora Creation (9)

PIM
PIMPIM
PIM
 
Service Contract
Service ContractService Contract
Service Contract
 
Logi w Magento 2
Logi w Magento 2Logi w Magento 2
Logi w Magento 2
 
6 typów produktów w Magento 2
6 typów produktów w Magento 26 typów produktów w Magento 2
6 typów produktów w Magento 2
 
Magento 2 Multi Source Inventory (MSI) - wielomagazynowość w Magento
Magento 2 Multi Source Inventory (MSI) - wielomagazynowość w MagentoMagento 2 Multi Source Inventory (MSI) - wielomagazynowość w Magento
Magento 2 Multi Source Inventory (MSI) - wielomagazynowość w Magento
 
Adding a simple product in magento 2
Adding a simple product in magento 2Adding a simple product in magento 2
Adding a simple product in magento 2
 
Optymalizacja Magento pod Page Speed - Google
Optymalizacja Magento pod Page Speed - GoogleOptymalizacja Magento pod Page Speed - Google
Optymalizacja Magento pod Page Speed - Google
 
Typy produktów w Magento
Typy produktów w MagentoTypy produktów w Magento
Typy produktów w Magento
 
Dekalog bezpieczeństwa Magento
Dekalog bezpieczeństwa MagentoDekalog bezpieczeństwa Magento
Dekalog bezpieczeństwa Magento
 

PSR czyli dobre praktyki programistyczne

  • 1. PSR czyli dobre praktyki programistyczne Prepared for: Prepared by: PHPstock Damian Michalski Aurora Creation / PHP Magento Developer
  • 2. Czym jest PSR? PSR (PHP Standard Recommendation) - jest to zbiór wytycznych co do programowania w języku PHP. Został on wprowadzony przez PHP Framework Interop Group (PHP-FIG) Zbiór PSR składa się w tej chwili z 18 zestawów wytycznych. Przedstawiamy 3 z nich: ● PSR-0: Autoloading Standard ● PSR-2: Coding Style Guide ● PSR-3: Logger Interface
  • 3. ● Łatwość współpracy ● Niższy próg wejścia w ‘cudzy’ kod ● Dobrze sformatowany kod z dobrym nazewnictwem czyta się dużo szybciej niżeli chaotycznie napisany kod ze zmiennymi o nazwie „x” czy „y” ● Kod tworzymy przede wszystkim dla innych (programistów) a nie dla maszyny Zalety PSR ● Bullet 01 ● Bullet 02 ● Bullet 03 ● ….
  • 4. ● Magento: PSR-1 PSR-2 ● Woocommerce: PSR?! ● Prestashop: PSR-1 PSR- 2 Jak do tego podchodzą inni? ● Bullet 01 ● Bullet 02 ● Bullet 03 ● ….
  • 6. PSR-0 czyli stary standard zastąpiony przez PSR-4 — są to standardy dla automatycznego ładowania klas na podstawie struktury katalogów w projekcie W 2014 PSR-0 został oznaczony jako przestarzały. PSR-4 jest teraz zalecany jako alternatywa.
  • 7. PSR-0 ● W pełni kwalifikowana przestrzeń nazw i klasa muszą mieć następującą strukturę <Vendor Name>(<Namespace>)*<Class Name> ● Znak _ ma specjalne znaczenie w obszarze nazw. ● W pełni kwalifikowana przestrzeń nazw i klasa są sufiksami .php podczas ładowania z systemu plików.
  • 8. Dlaczego PSR-4 wyparło PSR-0? PSR-0 działa jedynie w przypadku, gdyby na świecie istniały jedynie klasy PHP. Jednak, gdy do projektu dodajemy elementy spoza PHP, powstaje problem: w jaki sposób umieścić je w projekcie? Gdzie je zmieścić? Projekt może mieć podkatalogi np. doc, examples, license, css, js, img, src na kod PHP. Wtedy należy umieścić podkatalog src w nazwie klasy. Powstaje wówczas np. klasa: userProjektPierwszysrcModułPierwszyKlasa Projekt - dokumentacje, - przykłady, - testy jednostkowe, - style, - grafiki - inne
  • 9. Wady PSR-0 oraz dlaczego lepsze jest PSR-4. Najważniejsza zmiana to sposób traktowania ścieżki do projektu. Tym razem zamiast jednej, możemy mieć wiele ścieżek, każda zdefiniowana dla jakiegoś prefiksu nazwy klasy. Przykłady: userModulPierwszy => /vendor/user/ModulA/src/php userModulDrugi => /vendor/user/ModulB/classes/ Co więcej, możemy przypisać kilka ścieżek do jednego prefiksu: userModulPierwszy => /vendor/user/ModulA/src/php userModulPierwszy => /vendor/user/PoprawkiDoModuluA/php/classes Autoloader gdy już dopasuje prefiks nazwy do jakiejś ścieżki traktuje resztę nazwy w klasyczny sposób – rozbija na podkatalogi i szuka pliku php.
  • 10. PSR-4 ● Termin „klasa” odnosi się do klas, interfejsów, cech i innych podobnych struktur. Np.: <NamespaceName>(<SubNamespaceNames>)*<ClassName> ● Implementacje autoloadera NIE MOGĄ zgłaszać wyjątków, NIE MOGĄ zgłaszać błędów o dowolnym poziomie i NIE POWINNY zwracać wartości.
  • 12. PSR-2 — styl/standard kodowania w PHP (zbiór zasad w który wchodzi PSR-1) ● Kod MUSI postępować zgodnie z „przewodnikiem po stylu kodowania” PSR [ PSR-1 ]. ● NIE MOŻE istnieć twardy limit długości linii; miękki limit MUSI wynosić 120 znaków; wiersze MUSZĄ mieć 80 znaków lub mniej. ● Kod MUSI używać 4 spacji do wcięcia, a nie tabulacji. ● Po namespace deklaracji MUSI znajdować się jedna pusta linia, a za blokiem use deklaracji MUSI znajdować się jedna pusta linia. ● Klamry otwierające dla klas MUSZĄ przejść do następnej linii, a klamry otwierające MUSZĄ przejść do następnej linii po ciele. ● Nawiasy otwierające dla metod MUSZĄ przejść do następnej linii, a nawiasy zamykające MUSZĄ przejść do następnej linii po ciele. ● Nawiasy otwierające dla struktur kontrolnych MUSZĄ iść na tej samej linii, a nawiasy zamykające MUSZĄ przejść na następną linię za ciałem. ● Nawiasy otwierające dla struktur kontrolnych NIE MOGĄ mieć po sobie spacji, a nawiasy zamykające dla struktur kontrolnych NIE MOGĄ mieć wcześniej spacji.
  • 13. PSR-1 — styl/standard kodowania w PHP ● Pliki muszą używać tylko <?php i <?= tagi. ● Pliki powinny albo zadeklarować symbole (klasy, funkcje, stałe, etc.) lub powodować skutki uboczne (np generować wyjście, zmień ustawienia .ini, itp), ale nie należy robić jedno i drugie. ● Przestrzenie nazw i klasy MUSZĄ być zgodne z PSR „autoloadingu”: [ PSR-0 , PSR-4 ]. ● Stałe klas MUSZĄ być deklarowane wielkimi literami z separatorami podkreślenia.
  • 14. PSR-2 — styl/standard kodowania w PHP (zbiór zasad w który wchodzi PSR-1), ● Kod MUSI postępować zgodnie z „przewodnikiem po stylu kodowania” PSR [ PSR-1 ]. ● Kod MUSI używać 4 spacji do wcięcia, a nie tabulacji. ● NIE MOŻE istnieć twardy limit długości linii; miękki limit MUSI wynosić 120 znaków; wiersze MUSZĄ mieć 80 znaków lub mniej. ● Po namespace deklaracji MUSI znajdować się jedna pusta linia, a za blokiem use deklaracji MUSI znajdować się jedna pusta linia . ● Klamry otwierające dla klas MUSZĄ przejść do następnej linii, a klamry otwierające MUSZĄ przejść do następnej linii po ciele. ● Nawiasy otwierające dla metod MUSZĄ przejść do następnej linii, a nawiasy zamykające MUSZĄ przejść do następnej linii po ciele. ● Nawiasy otwierające dla struktur kontrolnych MUSZĄ iść na tej samej linii, a nawiasy zamykające MUSZĄ przejść na następną linię za ciałem. ● Nawiasy otwierające dla struktur kontrolnych NIE MOGĄ mieć po sobie spacji, a nawiasy zamykające dla struktur kontrolnych NIE MOGĄ mieć wcześniej spacji.
  • 15. PSR-2 — styl/standard kodowania w PHP (zbiór zasad w który wchodzi PSR-1),
  • 16. PSR-3: Logger Interface Jest osiem głównych poziomów logów const DEBUG = 'debug'; i osiem odpowiadających im metod w klasie (interfejs): public function debug ($message, array $context = array());
  • 17. W PSR-3 znajduje się osiem głównych poziomów logów (w tej kolejności): ● emergency - system jest bezużyteczny (unusable), ● alert - należy podjąć jakąś akcje np.: niedostępna baza danych, strona przestała działać, …, ● critical - przypadek krytyczny; np.: wystąpił wyjątek (programista nawalił), niedostępny komponent w kodzie, ● error - błąd podczas wykonywania ale nie zmuszający do natychmiastowej interwencji, jednak ważne aby był zalogowany, ● warning - wyjątek po części akceptowalny (nie błąd), np.: używanie przestarzałego API, lub niepożądane użycie API, ● notice - normalne zdarzenie, które warto zalogować (ale ważniejsze od zdarzenia info), ● info - zdarzenie informacyjne rozszerzające logowane informacje, np.: User się zalogował, logi z SQL, ● debug - informacje szczegółowe, jeszcze bardziej techniczne i nawet sugerujące optymalizację lub podające zużycie zasobów lub czasu, ● metoda log() - jest to ostatnia, dziewiąta metoda działa tak samo jak poprzednie tylko jako pierwszy argument przyjmuje poziom logowania. W praktyce to ta metoda przeważnie zapisuje logi. Pozostałe przeważnie tylko ją wywołują.
  • 18. Potrzebujesz wiedzieć więcej? Napisz do nas! biuro@auroracreation.pl