Úvod do PHP Framework

Než budeme mít hluboký přehled o PHP Frameworkech, pojďme si pohovořit o tom, proč potřebujeme rámce a jak usnadňují život vývojářům?

Kdykoli se podíváme na vývoj webových stránek, mnoho věcí v architektuře musí být umístěno v řadě před pokračováním se skutečnou linkou, jako je rozhodnutí o tom, jak webový hovor přejde svou cestou z klienta na stranu serveru, což bez ztráty obecnosti zahrnuje kontrola druhu požadavku (Get, Post nebo Put), protokolování audit trail, management interceptorů atd.

Pokud hledáte přístup vanilky bez začlenění jakýchkoli rámců, pak pravděpodobně od vyřizování hovorů po zabezpečení (jako je skriptování mezi servery), musíte spravovat všechny instance, a proto pravděpodobně najmout více vývojářů za stejné a které bohužel zvýší náklady na vývoj aplikace.

Nyní se podívejme na to, jaké rámce máme pro vývoj PHP a vyberte ten nejlepší, který vyhovuje naší vyvíjené aplikaci (mějte na paměti obchodní doménu, pro kterou se vývoj vyvíjí a jak přísná jsou obchodní pravidla).

Seznam PHP rámců

Zde je seznam nejlepších rámců PHP založených na popularitě a schopnosti usnadnit vývoj aplikací.

Laravel

Je to open source framework, který sleduje architekturu založenou na modelu-view-controller. Různé funkce, které poskytuje, jsou -

  1. Skladatel je k dispozici od doby, co přišel Laravel 4, a funguje jako správce závislostí a přidává rámec-agnostik.
  2. Eloquent ORM, tj. Implementace aktivního vzoru záznamu.
  3. Tvůrce dotazů poskytuje sadu tříd.
  4. Laravel inspiruje extrémně čistý a čitelný kód, a tím usnadňuje život vývojářům.
  5. Laravel nabízí robustní zabezpečení webových aplikací, protože zahrnuje hashování heslem, šifrování, ověřování e-mailů, ověřování pomocí API.
  6. Je zajištěno chráněné a bezpečné směrování, všechny trasy Laravel jsou definovány v adresáři tras a tyto soubory jsou automaticky staženy rámcem.
  7. Token CSRF je připojen k adresám URL, aby se zabránilo padělání mezi weby.
  8. V frontendu rámec nabízí funkce, jako je šablona Blade (templating engine), lokalizace, Javascript a CSS lešení.
  9. Podporuje Redis (úložiště klíč-hodnota), stránkování, migrace (sdílení schématu databáze), setí databáze,
  • Požadavky na server před prací s Laravelem.

Nejlepší je použít virtuální počítač Laravel Homestead, proto se důrazně doporučuje používat toto jako naše místní vývojové prostředí Laravel.

Pokud nepoužíváte Homestead, je nutné provést následující:

  • PHP> = 7.1.3
  • OpenSSL PHP Extension
  • Rozšíření PHP o PDO
  • Mbstring PHP Extension
  • Tokenizer PHP Extension
  • XML PHP Extension
  • Ctype PHP Extension
  • JSON PHP Extension
  • BCMath PHP Extension

Instalace Laravelu

Laravel využívá skladatele ke správě svých závislostí, takže hlavním požadavkem je, aby byl skladatel předem nainstalován.

Poté stáhněte instalační program Laravel pomocí skladatele, jak je uvedeno níže.

Globální skladatel vyžaduje Laravel / instalátor.

  • Vytvoření projektu pomocí skladatele

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

  • Server místního rozvoje

php řemeslník sloužit

CodeIgniter

CodeIgniter je vývojový rámec s otevřeným zdrojovým kódem, který obsahuje následující funkce:

  1. Nevyžaduje přísnou implementaci Model-view-controller, je povinně vyžadován regulátor, model a pohled jsou volitelné.
  2. Jsou zde pomocné funkce, jako jsou pomocníci s URL, kteří pomáhají při vytváření odkazů, pomocníci formulářů, pomocníci s textem, kteří zde formátují text, a pomocníci souborů cookie jsou zde k nastavení a čtení souborů cookie.
  3. Můžete vytvářet nové knihovny, nahrazovat a odstraňovat nativní knihovny.
  4. Funkce Háčky poskytuje prostředky k napojení a úpravě vnitřních funkcí rámce bez zásahu do základních souborů.
  5. Je zde funkce automatického načítání, která umožňuje automatické inicializace knihoven, pomocníků a modelů při každém spuštění systému.
  6. CodeIgniter poskytuje funkci ukládání do mezipaměti stránky, čímž zvyšuje výkon.
  7. CodeIgniter má třídu protokolování chyb, která umožňuje ukládat chybové a ladicí zprávy jako textové soubory.
  8. Je zde směrování URI, řetězec URL je jedinečně mapován na řadič.
  9. Je zde hashování hesla pro verzi PHP> 5.5
  10. V části databáze jsou různé poskytované funkce QueryBuilder, QueryCaching, Transakce atd.
  11. Proměnné prostředí lze nastavit tak, aby rozhodovalo o tom, odkud má být aplikace spuštěna, tj. Buď s vývojovým prostředím nebo výrobou.
  • Jak nainstalovat CodeIgniter -
  1. Stáhněte si CodeIgniter z Click Here
  2. Rozbalte balíček.
  3. Nahrajte na server složky a soubory CodeIgniter. Soubor index.php je obvykle v kořenovém adresáři.
  4. Otevřete soubor application / config / config.php pomocí textového editoru a nastavte základní URL. Pokud chcete používat šifrování nebo relace, nastavte šifrovací klíč.
  5. Pokud chcete použít databázi, otevřete soubor application / config / database.php v textovém editoru a nastavte nastavení databáze.

Symfony

Symfony je software s otevřeným zdrojovým kódem, komponenty Symfony jsou sada oddělených a opakovaně použitelných knihoven PHP. Zaměřuje se na vývoj robustních podnikových aplikací a jeho cílem je poskytnout vývojářům plnou kontrolu nad konfigurací z adresáře do zahraničních knihoven a lze je přizpůsobit.

Symfony je součástí následujících funkcí -

  1. Je poskytnuto lokalizované směrování (i18n), takže trasy mohou být lokalizovány, aby poskytovaly jedinečné cesty na národní prostředí. Se Symfony lze tyto cesty psát bez duplikace, jsou podporovány také zástupné znaky.
  2. Šablony větviček jsou k dispozici, jsou jednoduché a nezpracovávají značky PHP, větvička umí provádět automatické unikání HTML, ruční únik kontextového výstupu a zahrnutí některých filtrů.
  3. Ukládání šablon do větviček urychluje proces, protože šablony jsou kompilovány do nativní třídy PHP a ukládány do mezipaměti.
  4. Komponenta aktiv je k dispozici pro generování URL a verzování CSS, JS a obrázků.
  5. Komponenta BrowserKit slouží k simulaci chování webového prohlížeče, umožňuje zadávat žádosti, klikat na odkazy a programově odesílat formuláře.
  6. Je zde komponenta závislé injekce, která implementuje servisní kontejner kompatibilní s PSR-11, který umožňuje standardizaci a centralizaci objektů v aplikaci.
  7. Komponenta DOMCrawler slouží k usnadnění navigace DOM pro dokumenty HTML a XML.
  8. Komponenta Dotenv slouží k vytváření proměnných prostředí uložených v proměnných .env.
  9. Dispečer událostí je zde, takže komponenty mohou komunikovat prostřednictvím odesílání událostí a poslouchat je.
  10. Komponenta LDAP je již k dispozici pro komunikaci se serverem LDAP.
  11. Komponenta ExpressionLanguage poskytuje motor, který dokáže kompilovat a vyhodnocovat výrazy.
  12. Komponenta Polyfill / APCu poskytuje uživatelům apcu_ * funkce a třídu ACPUIterator uživatelům starších rozšíření APC.
  13. Komponenta Serializer slouží k proměně objektů ve formátech jako JSON, XML nebo YAML.
  • Kroky instalace

Ke stažení použijte následující kroky, skladatel musí být předinstalován v systému -

Skladatel vyžaduje symfonii / dílo

Ke stažení jednotlivých součástí, jak je uvedeno výše, navštivte prosím -

https://symfony.com/components

CakePHP

CakePHP je platforma s otevřeným zdrojovým kódem, která zjednodušuje a zrychluje vytváření webových aplikací, vyžaduje méně kódu. CakePHP přichází s následujícími funkcemi -

  1. Poskytuje lešení pro rychlé vytváření prototypů.
  2. V CakePHP je třída mezipaměti, která podporuje ukládání do mezipaměti a poskytuje statické rozhraní a jednotné API pro interakci s různými implementacemi ukládání do mezipaměti.
  3. Hash třída poskytuje statické nástroje, které zajišťují správnou správu pole a tím optimalizují kód.
  4. Třída reflektoru je poskytována pro manipulaci s poskytovanými variantami řetězců a zpracování slov, jako je pluralizace a velblouda.
  5. Protokolování je v CakePHP snadné, funkce log () poskytuje LogTrait.
  6. Nejrychlejším způsobem, jak začít a pracovat s REST, je přidat několik řádků pro nastavení tras zdrojů v config / roads.php
  7. Balíček ověření v CakePHP poskytuje funkce pro vytváření ověřovatelů, kteří mohou snadno validovat libovolná pole dat.
  8. Různé plug-iny jsou podporovány pro použití ve spojení s CakePHP a jsou to Chronos (poskytuje nulovou závislost kolekce rozšíření objektu DateTime), DebugKit (má ladicí lištu nástrojů a vylepšené ladicí nástroje), ElasticSearch (poskytuje ORM jako abstrakce na horní část elasticsearch, usnadňuje testování a indexování dokumentů).
  9. Phinx a CakePHP, phinx umožňuje vývojářům jasně upravovat a manipulovat s databázemi. Není třeba psát SQL ručně, spíše phinx poskytuje výkonná API pro vytváření migrací pomocí kódu PHP.
  10. Konzole Pečení je poskytována pro rychlejší provozování CakePHP, Pečení konzole může vytvářet modely, pohledy, chování, testovací případy, příslušenství a doplňky.

Phinx lze jednoduše nainstalovat:

php skladatel. phar vyžadují robmorgan / phinx

Podpora middlewaru je k dispozici, abychom mohli naši aplikaci zabalit do opakovaně použitelných a skládatelných vrstev zpracování požadavků nebo vytváření odpovědí.

  • Instalace a předpoklady:

Popište některé předpoklady, které musí být splněny před zahájením instalace:

  1. HTTP Server (Apache, Nginx nebo Microsoft IIS)
  2. PHP 7.3
  3. mbstring PHP rozšíření
  4. intl PHP rozšíření (pokud používáte XAMPP, musí být zahrnuto intl rozšíření, ale ujistěte se, že uncomment extension = php_intl.dll v Php.ini a restartujte XAMPP server přes ovládací panel, v případě, že používáte WAMP, intl rozšíření je ve výchozím nastavení aktivováno), stačí udělat, je přejít do složky php a zkopírovat všechny soubory, které jsou synonyma icu * .dll, a vložit je do adresáře bin apache a restartovat služby).
  5. simplexml PHP rozšíření
  6. Rozšíření PHP o PDO
  7. Ve vašem počítači budou nainstalovány všechny databáze z daného seznamu:
  • MySQL (v5.5.3 nebo vyšší)
  • MariaDB (v 5.5 nebo vyšší)
  • PostgreSQL
  • SQLite3
  • Microsoft SQL server (> = verze 2008)

FuelPHP

FuelPHP je framework s otevřeným zdrojovým kódem, rychlý a kompatibilní s verzemi PHP 5.4+, níže jsou uvedeny začleněné funkce -

  1. Jde o rámec typu MVVM, který se neomezuje pouze na model-view-controller, ale také přináší model-view-ViewModel. Modely viewModels se také nazývají prezentační modely.
  2. FuelPHP podporuje přístup založený na routeru, který nám umožňuje psát URI přímo.
  3. Podporuje tokeny CSRF, aby se zabránilo padělání skriptů mezi weby.
  4. Filtrování vstupů a vytváření dotazů pomáhá při vkládání SQL.
  5. Rámec Auth je podporován pro účely zabezpečené autentizace.
  6. FuelPHP poskytuje CLI nazvané „oil“, určené k urychlení vývoje, pomoci při testování a ladění. Pomáhá také spouštět migraci databáze.
  7. Některé základní třídy jsou poskytovány řadičům a modelům tak, aby vývojáři mohli začít létat, takové funkce jsou - Controller_Template (přidat k funkcím jednoduchou funkci šablonování stránek), Controller_Rest (způsob vytváření RESTful API), Controller_Hybrid (kombinovat dvě funkce do jediného řadiče), Model_crud (poskytuje všechny metody pro operace CRUD v jedné tabulce).
  8. Lightweight ORM poskytuje objektově orientovaný způsob práce s databázovými daty a prováděním CRUD, vztahy jako má mnoho, mnoho jich existuje, kaskádové ukládání a mazání souvisejících objektů. Pozorovatelé jsou připraveni aktualizovat instance objektů.
  9. Zabezpečení zahrnuje rámec Auth a má integrovanou knihovnu Opauth a poskytuje různé další funkce, jako je Role Based Access Control (RBAC), bezpečná hashovací funkce pro hesla, integrace OAuth pro autentizaci na sociálních médiích.
  10. Existují šablonové šablony pro vylepšení pohledů z jednoduchého PHP, existuje zde řada knihoven:
    1. Knír
    2. Větvička
    3. Haml
    4. Nefrit
    5. Dawoo
    6. Smarty
    7. Snížení
  • Kroky instalace -

Postupujte prosím podle výše uvedených pokynů -

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

Projekt lze vytvořit pomocí

$ vytvořit ropu

$ Composer create-project Fuel / Fuel - prefer-dist

Závěr - PHP Frameworks

Ve výše uvedené dokumentaci jsme citovali několik PHP Frameworků používaných pro přenášení více funkcí pro vývoj kódu. Analýza požadavků a konstrukčních vzorů, které mají být dodrženy, musí být projednána dříve, než je vybere. Rámce měly rozmanitost a poskytovaly různé plug-iny pro provádění protokolování a trasování metrik.

Struktura pojmenovaná jako Lumen by Laravel je vysoce oceňována při hledání vývoje mikroservisů, protože architektura mikroservisů je odlišná od monolitických aplikací, mechanismy protokolování, manipulace s databází, autentizace a implementace jsou před kódováním prvořadé.

Další věcí, o kterou je třeba se při výběru rámce postarat, je doména, pro kterou je aplikace navržena, ať už jde o bankovnictví a finanční služby, správu dodavatelských řetězců, biologické vědy, maloobchod nebo sociální sítě.

Protože na základě těchto domén musíme začlenit pluginy a návrhy pro péči o distribuční trasování, pokusy o opakování služeb atd.

Proto může kodér pokračovat s kterýmkoli z uvedených rámců po posouzení vlastností v těsné souvislosti s aplikací.

Doporučené články

Toto byl průvodce PHP Frameworks. Zde jsme diskutovali seznam PHP frameworků s jejich funkcemi a instalačními kroky. Další informace naleznete také v dalších navrhovaných článcích -

  1. Co je PHP? Jaké jsou použití?
  2. Podrobný průvodce Co je PHP Array?
  3. Výhody programování v PHP
  4. Úvod do PHP | Kompletní návody
  5. MariaDB vs MySQL | Porovnání nejlepších databázových opensource
  6. Hashing funkce v PHP | Jak pracovat?

Kategorie: