php

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 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 »

php wzorzec strategia

Wzorzec projektowy – Strategia (Strategy)

Wzorzec Strategia definiuje grupę algorytmów, które mogą być stosowane wymiennie w trakcie działania programu. Interfejs wzorca określa zadania (operacje), które implementują konkretne strategie (KonkretnaStrategiaA, KonkretnaStrategiaB, …). Klasa Kontekst ustawia referencję do interfejsu Strategia oraz implementuje metodę kontekstu, która umożliwia dynamiczną zmianę używanej strategii. PRZYKŁAD W przykładzie wykorzystam strategie do zmiany formatowania wyświetlanego tekstu (duże litery, …

Wzorzec projektowy – Strategia (Strategy) Read More »

wzorzec proxy php

Wzorzec projektowy – Pełnomocnik (Proxy)

Wzorzec Proxy kontroluje dostęp do klas i obiektów jako pośrednik. Zanim żądanie trafi do prawdziwego podmiotu RealSubject, pośrednik Proxy przetwarza je i jeśli spełnione są odpowiednie kryteria to udostępnia obiekt. Klient nie wie, że jego żądanie przechodzi przez Proxy. Przykładem może być dostęp poprzez logowanie do określonych zasobów serwisu. SCHEMAT WZORCA PROXY Źródło: en.wikipedia.org/wiki/Proxy_pattern PRZYKŁAD …

Wzorzec projektowy – Pełnomocnik (Proxy) Read More »

rekrutacja programista

Zadania rekrutacyjne dla Programistów PHP

W tym poście zapodam trzy przykładowe taski, które musiałem ( lub nie musiałem 🙂 ) rozwiązać starając się o pracę “gdzieś w odległym Internecie”, na stanowisko: Programista PHP / Programista Symfony. Dwa pierwsze są proste i krótkie (aczkolwiek podchwytliwe), ostatnie jest bardziej złożone i czasochłonne więc wkleję tylko clou. Celem jest weryfikacja Twoich umiejętności 😉 …

Zadania rekrutacyjne dla Programistów PHP Read More »