PHP

Interpretowany skryptowy język programowania zaprojektowany do budowy dynamicznych stron internetowych. Skrypty PHP działają po stronie serwera WWW. Zazwyczaj PHP łączy się z bazami danych (typu MySQL, PostgreSQL, SQLite) w celu zapisu danych np: wpisów do księgi gości, artykułów, danych do logowania i rejestracji konta itp. Oficjalna strona projektu: php.net

PHP SplDoublyLinkedList

Klasa SplDoublyLinkedList – implementacja listy dwukierunkowej w PHP

Listy są najczęściej używanymi strukturami danych (obok tablic). Pozwalają rozwiązać różne problemy programistyczne. Znajdują zastosowanie w implementacji innych struktur danych takich jak: stosy, kolejki, grafy. W odróżnieniu od tablic charakteryzują się większą wydajnością oraz mogą dynamicznie zmieniać swój rozmiar. W każdym elemencie listy dwukierunkowej (węźle) jest przechowywane odniesienie zarówno do “następnika”, jak i “poprzednika” elementu …

Klasa SplDoublyLinkedList – implementacja listy dwukierunkowej w PHP Read More »

SplFixedArray php

Tablice SplFixedArray w PHP

Tablica to “zabójca wydajności”. Słychać tu i tam w odmętach Sieci. Smród pozostał ale od PHP 7 jest znaczny progres. Na przykład w systemach 64-bitowych jest 3,5 krotna poprawa wydajności a w 32-bitowych 2,5 krotna. Dużo lepiej wypadają tablice klasy SplFixedArray. Są to tablice o stałym rozmiarze a jej indeksami mogą być tylko liczby całkowite. …

Tablice SplFixedArray w PHP Read More »

php wzorce projektowe

Wzorce projektowe

Wzorzec projektowy (ang. design pattern) to uniwersalny i sprawdzony schemat rozwiązania jakiegoś powtarzającego się problemu programistycznego (w odniesieniu do programowania obiektowego). Wzorzec wymusza pewien standard pisania kodu, tak aby był on prosty w modyfikacji, zrozumiały a jednocześnie skalowalny. W skrócie to najlepsze techniki programistyczne. BANDA CZTERECH (GoF) Autorami pierwszej znanej publikacji poświęconej wzorcom w inżynierii …

Wzorce projektowe Read More »

php fluent interface

Wzorzec projektowy – Płynny interfejs (Fluent Interface)

Płynny interfejs (ang. Fluent Interface) to wzorzec stosowany w celu zwiększenia czytelności kodu. Można wykorzystać go na przykład do konfiguracji obiektu. Przykładowa postać:

Preferowany zapis:

Przykład funkcji użytej w powyższym zapisie:

Zauważ, że funkcja zwraca instancję obiektu: return $this. W ten sposób możemy łączyć metody operatorem “->” w łańcuch i nie musimy powielać …

Wzorzec projektowy – Płynny interfejs (Fluent Interface) Read More »

php wzorzec property

Wzorzec projektowy – Property

Wzorzec projektowy Property służy do przechowywania i udostępniania danych konfiguracyjnych programu. Zastępuje zmienne globalne i ma podobne zastosowanie jak wzorzec Singleton. W przypadku wzorca Property dane przechowywane są w statycznej tablicy. Do ich ustawiania i pobierania służą statyczne metody set() i get(). PRZYKŁAD IMPLEMENTACJI

Użycie wzorca w obrębie aplikacji:

 

php oop singleton singel

Wzorzec projektowy – Singiel (Singleton)

Wzorzec projektowy Singiel (ang. Singleton) pozwala na utworzenie tylko jednej instancji obiektu danej klasy. Podobnie jak zmienne globalne, instancja Singla jest widoczna w całym programie i każdy komponent ma do niej dostęp. Używa się go głównie do przechowywania konfiguracji programu oraz utrzymania połączenia z bazą danych. IMPLEMENTACJA

Statyczna metoda getInstance sprawdza czy instancja obiektu …

Wzorzec projektowy – Singiel (Singleton) Read More »

php wzorce projektowe

Wzorzec projektowy – Fasada (Facade)

Wzorzec projektowy Fasada upraszcza skomplikowane i złożone systemy. Można zastosować go do stworzenia API (interfejsu programistycznego aplikacji), który udostępni klientowi uproszczoną specyfikację systemu z jego popularnymi funkcjonalnościami, konkretnymi zadaniami, itd. Wiele portali i serwisów internetowych udostępnia swoje API, np: YouTube Data API, Google Maps API. DIAGRAM WZORCA FASADA Element1, Element2 … Element5 – to klasy …

Wzorzec projektowy – Fasada (Facade) Read More »

php DEPENDENCY INJECTION

Wzorzec projektowy – Dependency Injection (wstrzykiwanie zależności)

Wstrzykiwanie zależności (ang. Dependency Injection) to wzorzec projektowy, który pozwala tworzyć luźne powiązania między klasami. Dzięki temu program staje się bardziej rozszerzalny, elastyczny i można go łatwo testować. Preferowanym sposobem jest wstrzykiwanie zależności poprzez konstruktor. PRZYKŁAD W przykładzie napiszemy prosty programik do detekcji języka przeglądarki internetowej z przekierowaniem na odpowiednią wersję strony np: https://example.com/pl Klasa …

Wzorzec projektowy – Dependency Injection (wstrzykiwanie zależności) Read More »

PHP

Tworzenie archiwum ZIP

Do tworzenia archiwów ZIP można wykorzystać wewnętrzną klasę PHP: ZipArchive. Na początku upewnij się, czy wersja PHP, której używasz posiada bibliotekę ZIP. Możesz to zrobić za pomocą skryptu:

Korzystając z polecenia apt-get (pod systemami uniksowymi) można w błachy sposób zainstalować dowolny pakiet. Na przykład, dla wersji PHP 7.0:

Następnie należy zrestartować serwer. W przypadku serwera Apache:

Tworzenie archiwum ZIP Read More »

php wzorzec obserwator

Wzorzec projektowy – Obserwator (Observer)

Wzorzec Obserwator (ang. Observer) używany jest do powiadamiania wybranych obiektów o zmianie stanu innych obiektów. Dzięki zastosowaniu tego wzorca można odizolować od siebie obiekty tak, że nie są one ze sobą sztywno powiązane. Zgodnie z poniższym diagramem we wzorcu występują dwa podstawowe typy obiektów (interfejsy): obserwowany – obiekt, który jest śledzony; kiedy zmieni się jego …

Wzorzec projektowy – Obserwator (Observer) Read More »