Úvod do PHP rámcov

Predtým, ako budete mať hlboký prehľad o programoch PHP Framework, porozprávame sa o tom, prečo potrebujeme rámce a ako uľahčujú život vývojárom?

Kedykoľvek sa pozrieme na vývoj webovej stránky, veľa vecí v architektúre sa musí umiestniť do jednej línie pred tým, ako sa uskutoční skutočná línia, napríklad rozhodnutie o tom, ako webový hovor prejde z klientskej strany na serverovú, čo bez straty všeobecnosti zahŕňa kontrola druhu žiadosti (Get, Post alebo Put), zaznamenanie záznamu o audite, správa interceptorov atď.

Ak hľadáte prístup vanilky bez začlenenia akýchkoľvek rámcov, pravdepodobne od vybavovania hovorov po bezpečnosť (napríklad skriptovanie medzi servermi), musíte zvládnuť všetky prípady, a preto si pravdepodobne najmete viacerých vývojárov, ktorí, bohužiaľ, zvýšia náklady na vývoj aplikácií.

Teraz sa pozrime, aké rámce máme pre vývoj PHP a vyberte ten najlepší, ktorý vyhovuje našej vyvíjanej aplikácii (majte na pamäti obchodnú doménu, pre ktorú sa vývoj vyvíja a aké prísne sú obchodné pravidlá).

Zoznam PHP rámcov

Tu je zoznam najlepších rámcov PHP založených na popularite a schopnosti uľahčovať vývoj aplikácií.

laravel

Je to open source framework, ktorý vychádza z architektúry založenej na model-view-controller. Rôzne funkcie, ktoré poskytuje, sú -

  1. Skladateľ je k dispozícii od doby, keď prišiel Laravel 4, a pôsobí ako správca závislostí a dodáva rámec agnostický.
  2. Eloquent ORM, tj aktívna implementácia vzoru záznamu.
  3. Aplikácia Query Builder poskytuje sadu tried.
  4. Laravel inšpiruje mimoriadne čistý a čitateľný kód, a tým uľahčuje život vývojárom.
  5. Laravel ponúka robustné zabezpečenie webových aplikácií, pretože obsahuje hashovanie heslom, šifrovanie, overenie e-mailu, autentifikáciu API.
  6. Je zabezpečené chránené a bezpečné smerovanie, všetky trasy Laravel sú definované v adresári trás a tieto súbory sa automaticky stiahnu z rámca.
  7. Token CSRF je pripojený k webovým adresám, aby sa zabránilo falšovaniu medzi weby.
  8. Na rozhraní frontendu rámec ponúka funkcie ako šablónu Blade (templating engine), lokalizáciu, Javascript a CSS lešenia.
  9. Podporuje Redis (ukladanie kľúč - hodnota), stránkovanie, migrácie (zdieľanie schémy databázy), zakladanie databázy,
  • Požiadavky na server pred prácou s Laravelom.

Najlepšie je používať virtuálny počítač Laravel Homestead, preto sa dôrazne odporúča používať toto ako naše miestne vývojové prostredie Laravel.

Ak nepoužívate Homestead, musíte vykonať nasledujúce:

  • PHP> = 7.1.3
  • OpenSSL Rozšírenie PHP
  • Rozšírenie PHP o CHOP
  • Rozšírenie PHP Mbstring
  • Rozšírenie Tokenizer PHP
  • Rozšírenie XML PHP
  • Rozšírenie Ctype PHP
  • Rozšírenie JSON o PHP
  • Rozšírenie BCMath PHP

Inštalácia Laravel

Laravel používa skladateľa na riadenie svojich závislostí, takže hlavnou požiadavkou je, aby bol predinštalovaný.

Potom stiahnite Laravel inštalátor pomocou skladateľa, ako je uvedené nižšie.

Globálny skladateľ vyžaduje Laravel / inštalátora.

  • Vytvorenie projektu prostredníctvom skladateľa

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

  • Server miestneho rozvoja

php remeselník slúži

CodeIgniter

CodeIgniter je vývojový rámec s otvoreným zdrojovým kódom, sú ním uvedené nasledujúce vlastnosti:

  1. Nevyžaduje prísnu implementáciu Model-view-controller, regulátor je povinný, model a view sú voliteľné.
  2. Existujú pomocné funkcie, ako sú pomocníci s adresami URL, ktorí pomáhajú pri vytváraní odkazov, pomocníci formulárov, pomocníci s textom, ktorí formátujú text, a pomocníci súborov cookie sú tu na nastavenie a čítanie súborov cookie.
  3. Môžete vytvárať nové knižnice, nahrádzať a odstraňovať natívne knižnice.
  4. Funkcia Háčiky poskytuje prostriedky na zapojenie a úpravu vnútorných funkcií rámca bez toho, aby došlo k zásahu do základných súborov.
  5. Je tu k dispozícii funkcia automatického načítania, ktorá umožňuje automatickú inicializáciu knižníc, pomocníkov a modelov pri každom spustení systému.
  6. CodeIgniter poskytuje funkciu ukladania stránok do vyrovnávacej pamäte, čím zvyšuje výkon.
  7. CodeIgniter má triedu protokolovania chýb, ktorá umožňuje ukladanie chybových a ladiacich správ ako textových súborov.
  8. Je tu smerovanie URI, reťazec URL je jedinečne mapovaný do radiča.
  9. Existuje hashovacie heslo pre verziu PHP> 5.5
  10. V časti databázy sú rôzne poskytované funkcie QueryBuilder, QueryCaching, Transakcie atď.
  11. Premenné prostredia sa dajú nastaviť tak, aby sa rozhodovalo, odkiaľ sa má aplikácia spustiť, tj buď s vývojovým prostredím alebo výrobou.
  • Ako nainštalovať CodeIgniter -
  1. Stiahnite si CodeIgniter z Kliknite tu
  2. Rozbaľte balík.
  3. Nahrajte priečinky a súbory CodeIgniter na svoj server. Súbor index.php bude zvyčajne vo vašom root.
  4. Otvorte súbor application / config / config.php pomocou textového editora a nastavte svoju základnú adresu URL. Ak chcete používať šifrovanie alebo relácie, nastavte šifrovací kľúč.
  5. Ak chcete používať databázu, otvorte súbor application / config / database.php pomocou textového editora a nastavte nastavenia databázy.

Symfony

Symfony je softvér s otvoreným zdrojom, komponenty Symfony sú sada oddelených a opakovane použiteľných knižníc PHP. Zameriava sa na vývoj robustných podnikových aplikácií a jeho cieľom je poskytnúť vývojárom úplnú kontrolu nad konfiguráciou z adresára do zahraničných knižníc a je možné ich prispôsobiť.

Symfony je súčasťou nasledujúcich funkcií -

  1. Poskytuje sa lokalizované smerovanie (i18n), takže trasy sa môžu lokalizovať, aby poskytovali jedinečné cesty na miestne nastavenie. V prípade Symfony je možné tieto cesty písať bez duplikácie, podporované sú aj zástupné znaky.
  2. Existujú šablóny vetvičiek, sú jednoduché a nespracovávajú značky PHP, vetvička dokáže vykonávať automatické unikanie HTML, manuálne unikanie kontextového výstupu a zahrnutie niektorých filtrov.
  3. Ukladanie šablón do vyrovnávacej pamäte urýchľuje proces, keďže šablóny sú zostavené do pôvodnej triedy PHP a uložené do vyrovnávacej pamäte.
  4. Komponent aktív slúži na generovanie URL a vytváranie verzií CSS, JS a obrázkov.
  5. Komponent BrowserKit slúži na simuláciu správania webového prehľadávača, umožňuje zadávať žiadosti, klikať na odkazy a programovo odosielať formuláre.
  6. Je tu komponent závislosti na vstrekovaní závislosti, ktorý implementuje servisný kontajner kompatibilný s PSR-11, ktorý umožňuje štandardizáciu a centralizáciu objektov v aplikácii.
  7. Komponent DOMCrawler slúži na uľahčenie navigácie DOM pre dokumenty HTML a XML.
  8. Komponent Dotenv slúži na vytváranie premenných prostredia uložených v premenných .env.
  9. Dispečer udalostí je tu, aby komponenty mohli komunikovať prostredníctvom odosielania udalostí a ich počúvania.
  10. Komponent LDAP je už k dispozícii na komunikáciu so serverom LDAP.
  11. Komponent ExpressionLanguage poskytuje motor, ktorý dokáže kompilovať a vyhodnocovať výrazy.
  12. Komponenta Polyfill / APCu poskytuje používateľom apcu_ * funkcie a triedu ACPUIterator používateľom staršieho rozšírenia APC.
  13. Komponent Serializer slúži na premenu objektov vo formátoch ako JSON, XML alebo YAML.
  • Kroky inštalácie

Pri sťahovaní postupujte podľa nasledujúcich krokov, skladateľ musí byť predinštalovaný v systéme -

Skladateľ vyžaduje symfóniu / dielo

Ak si chcete stiahnuť jednotlivé komponenty, ako je uvedené vyššie, navštívte stránku -

https://symfony.com/components

CakePHP

CakePHP je platforma s otvoreným zdrojovým kódom, ktorá zjednodušuje a zrýchľuje vytváranie webových aplikácií, vyžaduje menej kódu. CakePHP je dodávaný s nasledujúcimi funkciami -

  1. Poskytuje lešenie na rýchle vytváranie prototypov.
  2. V CakePHP je trieda vyrovnávacej pamäte, ktorá podporuje ukladanie do pamäte cache a poskytuje statické rozhranie a jednotné API na interakciu s rôznymi implementáciami ukladania do pamäte cache.
  3. Hash trieda poskytuje statické pomocné programy, ktoré zabezpečujú správnu správu polí a tým optimalizujú kód.
  4. Poskytuje sa trieda inflektora na manipuláciu s poskytovanými variáciami reťazcov a slov, ako je pluralizácia a ťavovanie.
  5. V CakePHP je protokolovanie jednoduché, funkcia log () poskytuje LogTrait.
  6. Najrýchlejším spôsobom, ako začať pracovať s REST, je pridať niekoľko riadkov na nastavenie zdrojových trás v súbore config /ways.php.
  7. Validačný balík v CakePHP poskytuje funkcie na vytváranie validátorov, ktorí môžu ľahko validovať ľubovoľné polia údajov.
  8. Rôzne doplnky sú podporované pre použitie v spojení s CakePHP a sú to Chronos (poskytuje zbierku rozšírení objektu DateTime nulovú závislosť), DebugKit (má nástrojovú lištu ladenia a vylepšené ladiace nástroje), ElasticSearch (poskytuje ORM podobnú abstrakciu na vrch elasticsearch, uľahčuje testovanie a indexovanie dokumentov).
  9. Phinx a CakePHP, phinx umožňuje vývojárom meniť a manipulovať s databázami jasným spôsobom. Netreba písať SQL, ale phinx poskytuje výkonné API pre vytváranie migrácií pomocou PHP kódu.
  10. Konzola na pečenie je k dispozícii na rýchlejší chod CakePHP, na ktorej môže vytvárať modely, pohľady, správanie, testovacie prípady, príslušenstvo a doplnky.

Phinx je možné jednoducho nainštalovať pomocou:

php skladateľ. phar vyžadujú robmorgan / phinx

Je tu podpora middlewaru, aby sme mohli našu aplikáciu zabaliť do opakovane použiteľných a skladateľných vrstiev spracovania požiadaviek alebo budovania odpovedí.

  • Inštalácia a predpoklady:

Popíšeme niektoré predpoklady, ktoré musia byť splnené skôr, ako začneme s inštaláciou:

  1. HTTP Server (Apache, Nginx alebo Microsoft IIS)
  2. PHP 7.3
  3. mbstring rozšírenie PHP
  4. intl PHP rozšírenie (ak používate XAMPP, intl rozšírenie bude zahrnuté, ale uistite sa, že uncomment extension = php_intl.dll v Php.ini a reštartujte XAMPP server cez ovládací panel, v prípade, že používate WAMP, intl rozšírenie je štandardne aktivované), jednoducho musíte ísť do priečinka php a skopírovať všetky súbory, ktoré sú synonymom icu * .dll, a vložiť ich do adresára bin apache, potom reštartovať služby).
  5. simplexml PHP rozšírenie
  6. Rozšírenie PHP o CHOP
  7. Do vášho počítača musia byť nainštalované všetky databázy z daného zoznamu:
  • MySQL (v5.5.3 alebo vyšší)
  • MariaDB (v 5.5 alebo vyšší)
  • PostgreSQL
  • sqlite3
  • Microsoft SQL server (> = verzia 2008)

FuelPHP

FuelPHP je framework s otvoreným zdrojovým kódom, rýchly a kompatibilný vo verziách PHP 5.4+, nižšie sú uvedené zahrnuté funkcie -

  1. Je to typ rámca MVVM, ktorý sa neobmedzuje iba na model-view-controller, ale tiež prináša model-view-ViewModel. Modely viewModels sa nazývajú aj prezentačné modely.
  2. FuelPHP podporuje routerový prístup, ktorý nám umožňuje priamo zapisovať URI.
  3. Podporuje tokeny CSRF, aby sa zabránilo falšovaniu skriptov medzi servermi.
  4. Filtrovanie vstupov a tvorba dotazov pomáha pri vkladaní SQL.
  5. Rámec Auth je podporovaný na účely zabezpečenej autentifikácie.
  6. FuelPHP poskytuje CLI s názvom „oil“, ktorý je určený na urýchlenie vývoja, pomoci pri testovaní a ladenia. Pomáha tiež spúšťať migrácie databázy.
  7. Niektoré základné triedy sú poskytované radičom a modelom tak, aby vývojári mohli mať letmý štart, takéto vlastnosti sú - Controller_Template (pridať do ovládačov jednoduchú funkciu templingu stránok), Controller_Rest (spôsob vytvorenia RESTful API), Controller_Hybrid (kombinovať dve funkcie) do jedného radiča), Model_crud (poskytuje všetky metódy pre operácie CRUD v jednej tabuľke).
  8. Ľahký ORM poskytuje objektovo orientovaný spôsob práce s databázovými údajmi a vykonávaním CRUD, vzťahy, ktoré sa mi páčia, existuje mnoho, veľa z nich existuje, kaskádové ukladanie a mazanie súvisiacich objektov. Pozorovatelia sú k dispozícii na aktualizáciu inštancií objektov.
  9. Zabezpečenie obsahuje rámec Auth a má integrovanú knižnicu Opauth a poskytuje rôzne ďalšie funkcie, ako je napríklad riadenie prístupu na základe rolí (RBAC), funkcia bezpečného hashovania hesiel, integrácia OAuth na autentifikáciu sociálnych médií.
  10. Existujú šablónové analyzátory na vylepšenie pohľadov z jednoduchého PHP, sú tu početné knižnice:
    1. Fúzy
    2. Vetvička
    3. Hamleti
    4. nefrit
    5. Dawoo
    6. smarty
    7. markdown
  • Kroky inštalácie -

Postupujte rovnako podľa uvedených pokynov -

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

Projekt je možné vytvoriť pomocou

$ tvorba oleja

$ skladateľ create-project palivo / palivo –prefer-dist

Záver - PHP rámce

V horeuvedenej dokumentácii sme citovali viacero rámcov PHP používaných na prenášanie viacerých funkcií na vývoj kódu. Pred výberom akýchkoľvek z nich sa musí prediskutovať analýza požiadaviek a konštrukčných vzorov, ktoré sa majú dodržať. Rámce mali rozmanitosť a poskytovali rôzne doplnky na vytváranie protokolovania a sledovania metrík.

Rámec s názvom Lumen by Laravel sa vysoko oceňuje pri hľadaní rozvoja mikroservisov, pretože architektúra mikroservisov sa líši od monolitických aplikácií, mechanizmy kódovania, manipulácia s databázou, autentifikácia a implementácia sú pred kódovaním mimoriadne dôležité.

Ďalšou vecou, ​​o ktorú sa treba pri výbere rámca postarať, je doména, pre ktorú je aplikácia navrhnutá, napríklad bankovníctvo a finančné služby, riadenie dodávateľských reťazcov, biologické vedy, maloobchod alebo sociálne siete.

Pretože na základe týchto domén musíme začleniť doplnky a návrhy na starostlivosť o distribučné sledovanie, pokusy o opakovaný servis atď.

Preto môže kodér pristúpiť k akémukoľvek z uvedených rámcov po posúdení vlastností v úzkej súvislosti so žiadosťou.

Odporúčané články

Toto bol sprievodca PHP Frameworkmi. Tu sme diskutovali zoznam PHP rámcov s ich vlastnosťami a inštalačnými krokmi. Viac informácií nájdete aj v ďalších navrhovaných článkoch -

  1. Čo je to PHP? Aké sú použitia?
  2. Podrobný sprievodca Čo je to PHP Array?
  3. Výhody programovania PHP
  4. Úvod do PHP | Kompletné návody
  5. MariaDB vs MySQL Porovnanie najlepších zdrojov databázy
  6. Hashing funkcia v PHP | Ako pracovať?

Kategórie: