Wprowadzenie do frameworków PHP

Przed głębokim wglądem w ramy PHP porozmawiajmy o tym, dlaczego potrzebujemy ram i jak ułatwiają one życie programistom?

Ilekroć chcemy stworzyć stronę internetową, wiele rzeczy w architekturze należy ustawić w jednej linii przed przejściem do rzeczywistej linii, takich jak decyzja, w jaki sposób połączenie internetowe będzie przechodzić od strony klienta do strony serwera, co bez utraty ogólności obejmuje sprawdzanie rodzaju żądania (Get, Post lub Put), rejestrowanie ścieżki audytu, zarządzanie przechwytywaczem itp.

Jeśli chcesz zastosować podejście waniliowe bez włączania żadnych ram, to prawdopodobnie od obsługi wywołań po bezpieczeństwo (takie jak skrypty między witrynami), musisz zarządzać wszystkimi instancjami, a tym samym zatrudnić wielu programistów do tego samego, co niestety zwiększy koszt opracowania aplikacji.

Teraz zagłębimy się w to, jakie ramy mamy do programowania PHP i wybierzmy najlepsze, które pasują do naszej aplikacji (mając na uwadze domenę biznesową, dla której programowanie się rozwija i jak surowe są reguły biznesowe).

Lista frameworków PHP

Oto lista najlepszych frameworków PHP, opartych na popularności i możliwości ułatwiania tworzenia aplikacji.

Laravel

Jest to struktura open source, zgodna z architekturą opartą na modelu-widoku-kontrolerze. Różne funkcje zapewniane przez to:

  1. Kompozytor jest dostępny od czasu pojawienia się Laravela 4 i działa jako menedżer zależności, dodając agnostyk ramowy.
  2. Elokwentny ORM, czyli aktywna implementacja wzorca rekordu.
  3. Query Builder zapewnia zestaw klas.
  4. Laravel inspiruje niezwykle czysty i czytelny kod, dzięki czemu życie programistów jest łatwe.
  5. Laravel zapewnia niezawodne bezpieczeństwo aplikacji internetowych, ponieważ obejmuje mieszanie haseł, szyfrowanie, weryfikację wiadomości e-mail i uwierzytelnianie API.
  6. Zapewniony jest bezpieczny i bezpieczny routing, wszystkie trasy Laravel są zdefiniowane w katalogu tras i pliki te są automatycznie pobierane przez środowisko.
  7. Token CSRF jest dołączany do adresów URL, aby zapobiec fałszowaniu w różnych witrynach.
  8. W interfejsie frameworku oferuje takie funkcje, jak szablon Blade (silnik szablonów), lokalizacja, JavaScript i rusztowanie CSS.
  9. Obsługuje Redis (magazyn kluczy i wartości), paginację, migracje (współużytkowanie schematu bazy danych), seedowanie bazy danych,
  • Wymagania serwera przed rozpoczęciem pracy z Laravel.

Najlepiej jest używać maszyny wirtualnej Laravel Homestead, dlatego zaleca się używanie jej jako naszego lokalnego środowiska programistycznego Laravel.

Jeśli nie korzystasz z Homestead, wymagane są:

  • PHP> = 7.1.3
  • Rozszerzenie PHP OpenSSL
  • Rozszerzenie PDO PHP
  • Rozszerzenie PHP Mbstring
  • Rozszerzenie Tokenizer PHP
  • Rozszerzenie XML PHP
  • Rozszerzenie Ctype PHP
  • Rozszerzenie JSON PHP
  • Rozszerzenie BCMath PHP

Instalowanie Laravela

Laravel używa kompozytora do zarządzania swoimi zależnościami, więc podstawowym wymogiem jest, aby kompozytor był wstępnie zainstalowany.

Następnie pobierz instalator Laravel za pomocą kompozytora, jak podano poniżej.

Globalny kompozytor wymaga Laravela / instalatora.

  • Tworzenie projektu przez kompozytora

Composer create-project - prefer-dist Blog Laravel / Laravel

  • Serwer rozwoju lokalnego

php rzemieślnik służyć

CodeIgniter

CodeIgniter to platforma programistyczna typu open source, następujące funkcje zapewniają:

  1. Nie wymaga rygorystycznej implementacji kontrolera widoku modelu, kontroler jest obowiązkowo wymagany, model i widok są opcjonalne.
  2. Dostępne są funkcje pomocnicze, takie jak Pomocniki URL, które pomagają w tworzeniu linków, Pomocniki formularzy, Pomoce tekstowe służą do formatowania tekstu, a pomocnicy plików cookie służą do ustawiania i czytania plików cookie.
  3. Możesz tworzyć nowe biblioteki, zastępować i usuwać biblioteki natywne.
  4. Funkcja haków zapewnia sposób na dostosowanie się i modyfikację wewnętrznego funkcjonowania frameworka bez włamywania się do podstawowych plików.
  5. Istnieje funkcja automatycznego ładowania, która umożliwia automatyczne inicjowanie bibliotek, pomocników i modeli przy każdym uruchomieniu systemu.
  6. CodeIgniter zapewnia funkcję buforowania stron, zwiększając w ten sposób wydajność.
  7. CodeIgniter ma klasę rejestrowania błędów, która pozwala na zapisywanie komunikatów o błędach i debugowania jako pliki tekstowe.
  8. Trwa routing URI, ciąg adresu URL jest jednoznacznie mapowany na kontroler.
  9. Hashowanie hasła jest dostępne dla wersji PHP> 5.5
  10. W części bazy danych dostępne są różne funkcje: QueryBuilder, QueryCaching, Transakcje itp.
  11. Zmienne środowiskowe można ustawić tak, aby decydowały, z którego miejsca aplikacja ma zostać uruchomiona, tj. Ze środowiskiem programistycznym lub produkcyjnym.
  • Jak zainstalować CodeIgniter -
  1. Pobierz CodeIgniter z Kliknij tutaj
  2. Rozpakuj paczkę.
  3. Prześlij foldery i pliki CodeIgniter na serwer. Zwykle plik index.php będzie znajdować się w katalogu głównym.
  4. Otwórz plik application / config / config.php w edytorze tekstu i ustaw podstawowy adres URL. Jeśli zamierzasz używać szyfrowania lub sesji, ustaw swój klucz szyfrowania.
  5. Jeśli zamierzasz korzystać z bazy danych, otwórz plik application / config / database.php w edytorze tekstu i skonfiguruj ustawienia bazy danych.

Symfony

Symfony to oprogramowanie typu open source, komponenty Symfony to zestaw oddzielnych bibliotek PHP wielokrotnego użytku. Ma na celu rozwój solidnych aplikacji korporacyjnych i daje programistom pełną kontrolę nad konfiguracją z katalogu do bibliotek zagranicznych i może być dostosowywany.

Symfony zawiera następujące funkcje:

  1. Zapewniony jest zlokalizowany routing (i18n), dzięki czemu trasy mogą być lokalizowane w celu zapewnienia unikalnych ścieżek dla ustawień regionalnych. Dzięki Symfony trasy te można zapisywać bez powielania, obsługiwane są również symbole wieloznaczne.
  2. Są tam szablony gałązek, są one proste i nie przetwarzają znaczników PHP, gałązka może wykonywać automatyczne zmiany znaczenia HTML, ręczne zmiany kontekstowego wyjścia i włączenie niektórych filtrów.
  3. Buforowanie szablonów Twig sprawia, że ​​proces jest szybki, ponieważ szablony są kompilowane do natywnej klasy PHP i buforowane.
  4. Składnik zasobu służy do generowania adresów URL i wersjonowania CSS, JS i obrazów.
  5. Składnik BrowserKit służy do symulacji działania przeglądarki internetowej, umożliwiając tworzenie żądań, klikanie łączy i programowe przesyłanie formularzy.
  6. Jest tam komponent wstrzykiwania zależności, który implementuje kontener usług kompatybilny z PSR-11, który umożliwia standaryzację i centralizację obiektów w aplikacji.
  7. Składnik DOMCrawler ma na celu ułatwienie nawigacji DOM dla dokumentów HTML i XML.
  8. Składnik Dotenv służy do tworzenia zmiennych środowiskowych przechowywanych w zmiennych .env.
  9. Dyspozytor zdarzeń jest tam, aby komponenty mogły się komunikować poprzez wysyłanie zdarzeń i nasłuchując.
  10. Komponent LDAP jest już obecny do komunikacji z serwerem LDAP.
  11. Składnik ExpressionLanguage zapewnia silnik, który może kompilować i oceniać wyrażenia.
  12. Składnik Polyfill / APCu zapewnia funkcje apcu_ * i klasę ACPUIterator użytkownikom starszych wersji APC.
  13. Komponent Serializer służy do obracania obiektów w formatach takich jak JSON, XML lub YAML.
  • Kroki instalacji

Aby pobrać pliki, wykonaj następujące czynności, kompozytor zostanie wstępnie zainstalowany w systemie -

Kompozytor wymaga symfonii / zasobu

Aby pobrać poszczególne komponenty, jak wspomniano powyżej, odwiedź -

https://symfony.com/components

CakePHP

CakePHP to platforma typu open source, która sprawia, że ​​tworzenie aplikacji internetowych jest proste i szybsze, wymaga mniej kodu. CakePHP posiada następujące funkcje -

  1. Zapewnia rusztowania do szybkiego budowania prototypów.
  2. W CakePHP znajduje się klasa pamięci podręcznej, która obsługuje buforowanie i zapewnia interfejs statyczny oraz jednolity interfejs API do interakcji z różnymi implementacjami buforowania.
  3. Klasa Hash zapewnia narzędzia statyczne, które umożliwiają prawidłowe zarządzanie tablicą, a tym samym optymalizują kod.
  4. Klasa Inflector służy do manipulowania podanym ciągiem znaków i obsługi odmian słów, takich jak pluralizacja i wielbłąd.
  5. Logowanie w CakePHP jest łatwe, funkcja log () jest zapewniana przez LogTrait.
  6. Najszybszym sposobem na rozpoczęcie pracy z usługą REST jest dodanie kilku wierszy w celu skonfigurowania tras zasobów w pliku config / route.php
  7. Pakiet sprawdzania poprawności w CakePHP zapewnia funkcje do budowania walidatorów, które mogą z łatwością sprawdzać dowolne tablice danych.
  8. Różne wtyczki są obsługiwane do użytku w połączeniu z CakePHP i są to Chronos (zapewnia kolekcję rozszerzeń obiektu DateTime o zerowej zależności), DebugKit (ma pasek narzędzi do debugowania i ulepszone narzędzia do debugowania), ElasticSearch (zapewnia abstrakcję ORM podobną do top elasticsearch, ułatwia testowanie i indeksowanie dokumentów).
  9. Phinx i CakePHP, phinx pozwala programistom na przejrzyste modyfikowanie baz danych i manipulowanie nimi. Nie trzeba ręcznie pisać SQL, a phinx zapewnia potężne interfejsy API do tworzenia migracji przy użyciu kodu PHP.
  10. Dostarczono konsolę do pieczenia, aby uruchomić CakePHP szybciej, konsola do pieczenia może tworzyć modele, widoki, zachowania, przypadki testowe, urządzenia i wtyczki.

Phinx można po prostu zainstalować:

kompozytor php. phar wymaga robmorgan / phinx

Istnieje obsługa oprogramowania pośredniego, dzięki czemu możemy owinąć naszą aplikację w warstwy wielokrotnego użytku i kompozycyjne, obsługujące żądania lub budujące odpowiedzi.

  • Instalacja i warunki wstępne:

Opiszmy pewne warunki wstępne, które należy spełnić przed rozpoczęciem instalacji:

  1. Serwer HTTP (Apache, Nginx lub Microsoft IIS)
  2. PHP 7.3
  3. rozszerzenie PHP mbstring
  4. intl rozszerzenie PHP (jeśli używasz XAMPP, rozszerzenie intl powinno być uwzględnione, ale pamiętaj, aby odkomentować rozszerzenie = php_intl.dll w Php.ini i zrestartować serwer XAMPP za pomocą panelu sterowania, w przypadku korzystania z WAMP, rozszerzenie intl jest domyślnie aktywowane, wystarczy przejść do folderu php i skopiować wszystkie pliki synonimiczne do icu * .dll i wkleić je do katalogu bin apache, a następnie ponownie uruchomić usługi).
  5. rozszerzenie PHP simplexml
  6. Rozszerzenie PDO PHP
  7. Wszelkie bazy danych z podanej listy zostaną zainstalowane na twoim komputerze:
  • MySQL (wersja 5.5.3 lub nowsza)
  • MariaDB (wersja 5.5 lub nowsza)
  • PostgreSQL
  • SQLite3
  • Serwer Microsoft SQL (> = wersja 2008)

FuelPHP

FuelPHP to platforma open source, szybka i kompatybilna w wersjach PHP 5.4+, włączone funkcje są wymienione poniżej -

  1. Jest to struktura typu MVVM, która nie ogranicza się tylko do kontrolera widoku modelu, ale także obsługuje podejście model-view-ViewModel. Modele viewModels są również nazywane modelami prezentacji.
  2. FuelPHP obsługuje podejście oparte na routerze, co pozwala nam pisać URI bezpośrednio.
  3. Obsługuje tokeny CSRF, aby zapobiec fałszowaniu skryptów między witrynami.
  4. Filtrowanie danych wejściowych i konstruktor zapytań pomaga we wstrzykiwaniu SQL.
  5. Auth Framework jest obsługiwany w celu bezpiecznego uwierzytelniania.
  6. FuelPHP zapewnia interfejs CLI o nazwie „olej”, zaprojektowany w celu przyspieszenia rozwoju, pomocy w testowaniu i debugowania. Pomaga także uruchamiać migracje baz danych.
  7. Niektóre klasy podstawowe są dostarczane do kontrolerów i modeli, aby programiści mogli mieć dobry start, takie funkcje to - Controller_Template (dodaj do kontrolerów prostą funkcjonalność szablonów stron), Controller_Rest (sposób tworzenia RESTful API), Controller_Hybrid (połącz dwie funkcje w jednym kontrolerze), Model_crud (udostępnia wszystkie metody operacji CRUD w jednej tabeli).
  8. Lightweight ORM zapewnia zorientowany obiektowo sposób pracy z danymi w bazie danych i wykonywania CRUD, relacja lubi wiele, wiele z nich istnieje, kaskadowe zapisywanie i usuwanie powiązanych obiektów. Obserwatorzy służą do aktualizowania instancji obiektów.
  9. Bezpieczeństwo obejmuje środowisko Auth i zintegrowało bibliotekę Opauth oraz zapewnia różne inne funkcje, takie jak kontrola dostępu oparta na rolach (RBAC), bezpieczną funkcję mieszania haseł, integrację OAuth do uwierzytelniania w mediach społecznościowych.
  10. Istnieją parsery szablonów do ulepszania widoków z prostego PHP, są do tego liczne biblioteki:
    1. Wąsy
    2. Gałązka
    3. Haml
    4. Jadeit
    5. Dawoo
    6. Smarty
    7. Obniżka cen
  • Kroki instalacji -

Postępuj zgodnie z podanymi krokami dla tego samego -

$ curl https://get.fuelphp.com/oil | sh

Projekt można utworzyć za pomocą

$ utworzyć olej

$ kompozytor create-project fuel / fuel –prefer-dist

Wniosek - frameworki PHP

W powyższej dokumentacji cytowaliśmy wiele frameworków PHP używanych do przenoszenia wielu funkcji do programowania kodu. Analiza wymagań i wzorców projektowych, które należy zastosować, powinna zostać omówiona przed wybraniem któregokolwiek z nich. Ramy były różnorodne i zapewniały różne wtyczki do rejestrowania i śledzenia metryk.

Szkielet nazwany przez Laravela jako Lumen jest bardzo ceniony, gdy szuka się rozwoju mikrousług, ponieważ architektura mikrousług różni się od aplikacji monolitycznych, mechanizmy rejestrowania, obsługa bazy danych, bezpieczeństwo uwierzytelniania i implementacja są najważniejsze przed kodowaniem.

Inną kwestią, na którą należy zwrócić uwagę przy wyborze frameworka, jest dziedzina, dla której projektowane są aplikacje, takie jak bankowość i usługi finansowe, zarządzanie łańcuchem dostaw, nauki przyrodnicze, handel detaliczny lub sieci społecznościowe.

Ponieważ w oparciu o te domeny musimy uwzględnić wtyczki i projekty dotyczące śledzenia dystrybucji, prób ponownych prób usługi itp.

Dlatego koder może kontynuować pracę z dowolnym z cytowanych ram po ocenie funkcji w ścisłym związku z aplikacją.

Polecane artykuły

To był przewodnik po frameworkach PHP. Omówiliśmy tutaj listę frameworków PHP z ich funkcjami i krokami instalacji. Możesz także przejrzeć nasze inne sugerowane artykuły, aby dowiedzieć się więcej -

  1. Co to jest PHP? Jakie są zastosowania?
  2. Szczegółowy przewodnik po tym, co to jest tablica PHP?
  3. Zalety programowania PHP
  4. Wprowadzenie do PHP | Kompletne samouczki
  5. MariaDB vs MySQL | Porównanie najlepszych baz danych Otwiera zasoby
  6. Funkcja mieszania w PHP | Jak pracować?