Uvod u okvire PHP-a

Prije nego što imamo dubok uvid u PHP okvire, razgovarajmo o tome zašto su nam potrebni okviri i kako oni olakšavaju život programeru?

Kad god pogledamo da razvijemo web stranicu, mnoge stvari u arhitekturi trebaju se uskladiti prije nego što nastavimo s stvarnom linijom, poput odlučivanja kako će internetski poziv preći svoj put od strane klijenta do poslužitelja, što bez gubitka općenitosti uključuje provjera vrste zahtjeva (uzmi, objavi ili stavi), evidentiranje revizijskog traga, upravljanje presretačima itd.

Ako želite pristupiti vaniliji bez uključivanja bilo kakvih okvira, vjerojatno od rukovanja pozivima do sigurnosti (poput skriptiranja na više stranica), morate upravljati svim instancama, čime ćete vjerojatno zaposliti više programera za isti a što će nažalost povećati troškovi razvoja aplikacije.

Sada zavirimo u kakve okvire imamo za razvoj PHP-a i izaberite onaj najbolji koji odgovara našoj aplikaciji koja se razvija (imajući u vidu poslovnu domenu za koju se radi i koliko su stroga poslovna pravila).

Popis okvira PHP-a

Evo popisa najboljih PHP okvira na temelju popularnosti i sposobnosti olakšavanja razvoja aplikacija.

Laravel

To je okvir otvorenog koda, koji slijedi arhitekturu koja se zasniva na modelu-kontroleru. Različite značajke koje pruža -

  1. Skladatelj je dostupan otkako je stigao Laravel 4 i on djeluje kao upravitelj ovisnosti za dodavanje okvira-agnostika.
  2. Elokventni ORM, tj. Aktivna implementacija uzorka zapisa.
  3. Query Builder pruža skup klasa.
  4. Laravel nadahnjuje izuzetno čist i čitljiv kôd, omogućavajući život programerima lakši.
  5. Laravel nudi robusnu sigurnost web aplikacija jer uključuje mjerenje lozinke, šifriranje, provjeru e-pošte, provjeru autentičnosti API-ja.
  6. Osigurano je zaštićeno i sigurno usmjeravanje, sve rute Laravela definirane su u direktoriju ruta i ove datoteke automatski preuzimaju okvir.
  7. CSRF token se dodaje URL-ima kako bi se spriječilo krivotvorenje na više web lokacija.
  8. U prednjem dijelu okvira nudi značajke poput Blade (templating engine) predloška, ​​lokalizacije, Javascript i CSS skele.
  9. Podržava Redis (trgovina ključ-vrijednost), paginacije, migracije (dijeljenje sheme baze podataka), sejanje baze podataka,
  • Zahtjevi poslužitelja prije rada s Laravelom.

Najbolje je koristiti virtualni stroj Laravel Homestead, tako da se preporučuje koristiti kao lokalno razvojno okruženje tvrtke Laravel.

Ako ne koristite Homestead, tada su potrebni sljedeći:

  • PHP> = 7.1.3
  • ExteSSL PHP proširenje
  • PDO PHP proširenje
  • Mbstring PHP proširenje
  • Tokenizer PHP proširenje
  • XML PHP proširenje
  • Ctype PHP proširenje
  • JSON PHP proširenje
  • BCMath PHP proširenje

Instaliranje Laravela

Laravel koristi skladatelja za upravljanje svojim ovisnostima, tako da je glavni uvjet da se skladatelj prethodno instalira.

Zatim preuzmite instalacijski program Laravel pomoću kompozitora kao što je navedeno u nastavku.

Skladatelji globalno zahtijevaju Laravel / instalaciju.

  • Stvaranje projekta putem skladatelja

Skladatelj stvori-projekt - radije-dist Laravel / Laravel blog

  • Poslužitelj lokalnog razvoja

php obrtnik poslužiti

CodeIgniter

CodeIgniter je okvir za razvoj otvorenog koda, a to su sljedeće značajke:

  1. Ne traži strogu implementaciju kontrolera Model-view, regulator je obavezno potreban, model i prikaz nisu obavezni.
  2. Pomoćne funkcije su tu, kao što su URL Helpers koji pomažu u kreiranju veza, Helpers forms su tu, Text Helpers su tu da formatiraju tekst, a Cookie pomagači tu su za postavljanje i čitanje kolačića.
  3. Možete stvoriti nove knjižnice, zamijeniti i ukloniti izvorne knjižnice.
  4. Značajka Kuke pruža način iskorištavanja i izmjene unutarnjeg rada okvira bez hakiranja osnovnih datoteka.
  5. Značajka automatskog učitavanja je tu koja omogućuje da se biblioteke, pomagači i modeli automatski inicijaliziraju svaki put kad se sustav pokrene.
  6. CodeIgniter pruža značajku predmemoriranja stranica i na taj način poboljšava performanse.
  7. CodeIgniter ima klasu zapisivanja pogrešaka koja dopušta spremanje poruka o pogrešci i uklanjanju pogrešaka u obliku tekstualnih datoteka.
  8. URI usmjeravanje je tamo, URL niz je jedinstveno preslikao na kontroler.
  9. Hashing lozinke postoji za PHP verziju> 5.5
  10. U dijelu baze podataka različite ponuđene značajke su QueryBuilder, QueryCaching, Transakcije itd.
  11. Promjenjive okoline se mogu postaviti tako da se odlučuje odakle aplikacija treba biti pokrenuta, tj. Bilo s razvojnim okruženjem ili proizvodnjom.
  • Kako instalirati CodeIgniter -
  1. Preuzmite CodeIgniter s klikom ovdje
  2. Raspakirajte paket.
  3. Prenesite mape i datoteke CodeIgniter na svoj poslužitelj. Datoteka index.php obično će biti u vašem korijenu.
  4. Otvorite aplikacijsku / config / config.php datoteku s uređivačem teksta i postavite svoj osnovni URL. Ako namjeravate koristiti šifriranje ili sesije, postavite ključ za šifriranje.
  5. Ako namjeravate koristiti bazu podataka, otvorite aplikacijsku / config / database.php datoteku s uređivačem teksta i postavite postavke baze podataka.

Symfony

Symfony je softver otvorenog koda, komponente Symfony-a su skup nevezanih i višekratnih PHP knjižnica. Njegov je cilj razvoj snažnih poslovnih aplikacija, a programerima pruža potpunu kontrolu nad konfiguracijom od direktorija do inozemnih knjižnica i može ih se prilagoditi.

Symfony je uklopljen sa sljedećim značajkama -

  1. Lokalizirano usmjeravanje (i18n) pruža se, na taj način rute mogu biti lokalizirane kako bi se pružile jedinstvene staze po lokalu. Pomoću Symfony-a ove se rute mogu pisati bez umnožavanja, također su podržane i zamjenske znakove.
  2. Predlošci grančica su tu, jednostavni su i ne obrađuju PHP oznake, grančica može izvršiti automatsko bježanje HTML-a, ručni kontekstualni izlaz i uključivanje nekih filtera.
  3. Twig predmemiranje predmemoriranja ubrzava proces jer se predlozi sastavljaju u izvornu PHP klasu i predmemoriraju.
  4. Komponenta imovine postoji za generiranje URL-ova i verziju CSS-a, JS-a i slika.
  5. Komponenta BrowserKit je tu da simulira ponašanje web preglednika, omogućujući postavljanje zahtjeva, klikanje na veze i slanje obrazaca programski.
  6. Komponenta ubrizgavanja ovisnosti je tamo koja implementira PSR-11 kompatibilan spremnik usluge koji omogućava standardizaciju i centralizaciju objekata u aplikaciji.
  7. DOMCrawler komponenta je tu da olakša DOM navigaciju za HTML i XML dokumente.
  8. Komponenta Dotenv je tu da izrađuje varijable okoline pohranjene u .env varijabli.
  9. Dispečer događaja je tu da komponente mogu komunicirati putem otpreme i preslušavanja događaja.
  10. Već je prisutna LDAP komponenta za komunikaciju s LDAP poslužiteljem.
  11. ExpressionLanguage komponenta pruža motor koji može sastaviti i procijeniti izraze.
  12. Komponenta Polyfill / APCu pruža apcu_ * funkcije i klasu ACPUIterator korisnicima starih APC proširenja.
  13. Komponenta serijskog mehanizma dostupna je za pretvaranje objekata u formate poput JSON, XML ili YAML.
  • Koraci instalacije

Koristite sljedeće korake za preuzimanje, skladatelj će biti predinstaliran u sustavu -

Skladatelju je potrebna simfonija / sredstvo

Za preuzimanje pojedinih komponenti kao što je gore spomenuto, posjetite -

https://symfony.com/components

CakePHP

CakePHP je platforma otvorenog koda koja čini jednostavno izrađivanje web aplikacija jednostavnim i bržim i zahtijeva manje koda. CakePHP dolazi sa sljedećim značajkama -

  1. Pruža skele za brzu izradu prototipa.
  2. U CakePHP postoji klasa predmemorije koja podržava predmemoriranje i pruža statičko sučelje i ujednačeni API za interakciju s različitim implementacijama predmemoriranja.
  3. Hash klasa pruža statičke uslužne programe koji čine pravilno upravljanje poljem, čime je optimiziran kôd.
  4. Inflektorska klasa osigurava se za manipuliranje dodijeljenim nizovima i obrađivanjem varijacija riječi poput pluralizacije i oštećenja.
  5. U CakePHP-u je prijava jednostavna, funkciju log () pruža LogTrait.
  6. Najbrži način za uspostavljanje i pokretanje s REST-om je dodavanje nekoliko redaka za postavljanje ruta za resurse u config / routes.php
  7. Paket za provjeru valjanosti u CakePHP-u nudi značajke za izgradnju provjeravanja koji s lakoćom mogu provjeriti proizvoljne nizove podataka.
  8. Podržani su različiti dodaci za upotrebu zajedno s CakePHP-om, a oni su Chronos (pruža kolekciju proširenja o nultoj ovisnosti za objekt DateTime), DebugKit (ima alatnu traku za uklanjanje pogrešaka i poboljšane alate za uklanjanje pogrešaka), ElasticSearch (pruža ORM poput apstrakcije na vrha elastičnog pretraživanja, olakšava testiranje i indeksiranje dokumenata).
  9. Phinx i CakePHP, phinx omogućava programerima da mijenjaju i manipuliraju bazama podataka na jasan način. Nema potrebe da se ručno piše SQL, već phinx pruža moćne API-je za stvaranje migracija pomoću PHP koda.
  10. Konzola Bake predviđena je da brže pokreće CakePHP, konzola za ispiranje može stvoriti modele, prikaze, ponašanja, test slučajeve, učvršćenja i dodatke.

Phinx se može jednostavno instalirati:

php skladatelj. phar zahtijevaju robmorgan / finx

Podrška za srednji softver postoji tako da našu aplikaciju možemo zamotati u slojeve koji se mogu ponovno koristiti i komponirati za rješavanje zahtjeva ili izgradnju odgovora.

  • Instalacija i preduvjeti:

Opišimo određene preduvjete koje moramo ispuniti prije nego što započnemo s instalacijom:

  1. HTTP poslužitelj (Apache, Nginx ili Microsoft IIS)
  2. PHP 7.3
  3. mbstring PHP proširenje
  4. intl PHP proširenje (ako koristite XAMPP, intl proširenje mora biti uključeno, ali obavezno isključite ekstenziju = php_intl.dll u Php.ini i ponovno pokrenite XAMPP poslužitelj preko upravljačke ploče, u slučaju da koristite WAMP, intl proširenje je aktivirano prema zadanim postavkama, samo što morate učiniti je otići u php mapu i kopirati sve datoteke sinonimne u icu * .dll i zalijepiti ih u imenik apache bin, a zatim ponovno pokrenuti usluge).
  5. simplexml PHP proširenje
  6. PDO PHP proširenje
  7. Sve baze podataka s navedenog popisa moraju biti instalirane na vašem računalu:
  • MySQL (v5.5.3 ili noviji)
  • MariaDB (v 5.5 ili noviji)
  • PostgreSQL
  • SQLite3
  • Microsoft SQL poslužitelj (> = verzija 2008)

FuelPHP

FuelPHP je okvir otvorenog koda, brz i kompatibilan u verziji PHP 5.4+, integrirane značajke su navedene u nastavku -

  1. To je MVVM tip okvira koji nije ograničen samo na model-view-controller, već i nosi model-view-ViewModel pristup. ViewModels se također nazivaju prezentacijski modeli.
  2. FuelPHP podržava pristup temeljen na ruteru koji nam omogućava pisanje URI-a izravno.
  3. Podržava CSRF tokene kako bi se spriječilo krivotvorenje križarskih stranica.
  4. Filtriranje ulaza i graditelj upita pomaže kod ubrizgavanja SQL-a.
  5. Auth Framework je podržan u svrhu sigurne provjere autentičnosti.
  6. FuelPHP nudi CLI pod nazivom "ulje", dizajniran da ubrza razvoj, pomoć u testiranju i uklanjanje pogrešaka. Također pomaže u pokretanju migracija baze podataka.
  7. Neke su osnovne klase dane kontrolerima i modelima, tako da programeri mogu imati leteći start, takve značajke su - Controller_Template (dodajte jednostavnim funkcijama predložaka stranica kontrolerima), Controller_Rest (način za stvaranje RESTful API-ja), Controller_Hybrid (kombinirajte dvije značajke u jedan regulator), Model_crud (pruža sve metode za CRUD operacije u jednoj tablici).
  8. Lagani ORM pruža objektno orijentirani način rada s podacima baze podataka i izvođenje CRUD-a, odnos se voli - mnogi su, mnogi-mnogi su tu, kaskadno sprema i briše za povezane objekte. Promatrači su tu da ažuriraju instance objekta.
  9. Sigurnost uključuje Auth okvir i integrirala je knjižnicu Opauth i pruža razne druge značajke kao što su kontrola pristupa na temelju uloga (RBAC), sigurna hashing funkcija za lozinke, integracija OAuth za provjeru autentičnosti društvenih medija.
  10. Postoje analizatori predložaka za poboljšanje pogleda iz jednostavnog PHP-a, za to postoje brojne biblioteke:
    1. Brkovi
    2. Grančica
    3. Haml
    4. Žad
    5. Dawoo
    6. Smarty
    7. Smanjenje
  • Koraci za instalaciju -

Slijedite dane korake za isto -

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

Projekt se može stvoriti pomoću

$ ulje stvoriti

$ composer create-project gorivo / gorivo –prefer-dist

Zaključak - Okviri PHP-a

U gornjoj dokumentaciji naveli smo više PHP okvira koji se koriste za nošenje više značajki za razvoj koda. Analiza zahtjeva i obrazaca dizajna koje treba slijediti prvo će se raspraviti prije nego što odaberete bilo koji od njih. Okviri su imali raznolikost i nudili su različite dodatke za stvaranje evidentiranja i praćenja mjernih podataka.

Okvir nazvan Lumen od Laravela visoko je cijenjen dok se traži razvoj mikroservisa jer se arhitektura mikroservisa razlikuje od monolitnih aplikacija, a mehanizmi zapisivanja, rukovanje bazama podataka, Auth sigurnost i implementacija su od najveće brige prije kodiranja.

Druga stvar na koju treba voditi računa dok se odlučite za okvir je domena za koju se dizajnira aplikacija poput bankarstva i financijskih usluga, upravljanja lancima opskrbe, znanostima života, maloprodajom ili društvenim mrežama.

Jer na temelju tih domena moramo ugraditi dodatke i dizajne za brigu o distributivnom traganju, pokušajima pokušaja usluge itd.

Stoga koder može nastaviti s bilo kojim od citiranih okvira nakon što je procijenio značajke u bliskoj vezi s aplikacijom.

Preporučeni članci

Ovo je vodič za okvire PHP-a. Ovdje smo razgovarali o popisu PHP okvira s njihovim značajkama i koracima instalacije. Možete i proći naše druge predložene članke da biste saznali više -

  1. Što je PHP? Koje su uporabe?
  2. Detaljni vodič o tome što je PHP niz?
  3. Prednosti PHP programiranja
  4. Uvod u PHP | Kompletne poduke
  5. MariaDB vs MySQL | Usporedba glavnih izvora podataka baze podataka
  6. Funkcija ležanja u PHP-u | Kako raditi?

Kategorija: