Inleiding tot PHP Frameworks

Laten we het, voordat we diepgaande inzichten hebben in PHP Frameworks, bespreken waarom we frameworks nodig hebben en hoe ze het leven van een ontwikkelaar gemakkelijk maken?

Wanneer we een website willen ontwikkelen, moeten veel dingen in de architectuur in de rij worden geplaatst voordat we verder gaan met de eigenlijke regel, zoals beslissen hoe een webgebaseerde oproep zich van client-side naar server-side zal verplaatsen, zonder verlies van algemeenheid het soort verzoek controleren (ophalen, plaatsen of plaatsen), het audittraject registreren, interceptorbeheer, enz.

Als u vanille wilt gebruiken zonder enige frameworks te integreren, dan moet u waarschijnlijk, van oproepafhandeling tot beveiliging (zoals cross-site scripting), alle instanties beheren, waardoor u waarschijnlijk meerdere ontwikkelaars voor hetzelfde inhuurt en wat helaas de kosten van de applicatie-ontwikkeling.

Laten we nu eens kijken naar wat voor frameworks we hebben voor PHP-ontwikkeling en de beste kiezen die bij onze te ontwikkelen applicatie past (rekening houdend met het bedrijfsdomein waarvoor ontwikkeling wordt gedaan en hoe streng bedrijfsregels zijn).

Lijst met PHP Frameworks

Hier is een lijst van de beste PHP-frameworks, gebaseerd op populariteit en het vermogen om applicatie-ontwikkeling te vergemakkelijken.

Laravel

Het is een open source framework, volgens de model-view-controller gebaseerde architectuur. De verschillende functies die het biedt, zijn -

  1. Composer is beschikbaar sinds Laravel 4 is gekomen en het fungeert als een afhankelijkheidsbeheerder om framework-agnostisch toe te voegen.
  2. Welsprekende ORM, dwz een actieve implementatie van het recordpatroon.
  3. Query Builder biedt een set klassen.
  4. Laravel inspireert extreem schone en leesbare code, waardoor het leven van ontwikkelaars eenvoudig wordt.
  5. Laravel biedt robuuste beveiliging van webapplicaties omdat het hashing van wachtwoorden, codering, e-mailverificatie en API-authenticatie omvat.
  6. Beschermde en veilige routing is gewaarborgd, alle Laravel-routes worden gedefinieerd in de routemap en deze bestanden worden automatisch gedownload door het framework.
  7. CSRF-token wordt toegevoegd aan URL's om vervalsing tussen sites te voorkomen.
  8. In de frontend biedt het framework functies zoals Blade (templating engine) -sjabloon, lokalisatie, Javascript en CSS Scaffolding.
  9. Ondersteunt Redis (key-value store), paginering, migraties (delen van het databaseschema), database-seeding,
  • Serververeisten voordat u met Laravel werkt.

Het is het beste om de virtuele machine van Laravel Homestead te gebruiken, dus het wordt ten zeerste aanbevolen om dit te gebruiken als onze lokale Laravel-ontwikkelomgeving.

Als u Homestead niet gebruikt, zijn de volgende verplicht:

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

Laravel installeren

Laravel gebruikt componisten om zijn afhankelijkheden te beheren, dus de eerste vereiste is dat componisten vooraf zijn geïnstalleerd.

Download vervolgens het Laravel-installatieprogramma met behulp van de componist zoals hieronder aangegeven.

Componist global vereist Laravel / installer.

  • Een project maken via componist

Componist create-project - voorkeur-dist Laravel / Laravel blog

  • Lokale ontwikkelingsserver

php ambachtelijke serveren

CodeIgniter

CodeIgniter is een open source-ontwikkelingsraamwerk, met de volgende functies:

  1. Het vereist geen rigoureuze implementatie van de Model-view-controller, de controller is verplicht, het model en de weergave zijn optioneel.
  2. Helper-functies zijn er, zoals URL-helpers die helpen bij het maken van links, Form Helpers zijn er, Teksthelpers zijn er om tekst op te maken en Cookie-helpers zijn er om cookies in te stellen en te lezen.
  3. U kunt nieuwe bibliotheken maken, native bibliotheken vervangen en verwijderen.
  4. De functie Hooks biedt een manier om gebruik te maken van de interne werking van het framework zonder de kernbestanden te hacken.
  5. De functie voor automatisch laden is er waarmee bibliotheken, helpers en modellen automatisch kunnen worden geïnitialiseerd telkens wanneer het systeem wordt uitgevoerd.
  6. CodeIgniter biedt paginacaching-functie waardoor de prestaties worden verbeterd.
  7. CodeIgniter heeft een foutregistratieklasse waarmee fout- en foutopsporingsberichten kunnen worden opgeslagen als tekstbestanden.
  8. URI-routing is aanwezig, de URL-reeks is uniek toegewezen aan de controller.
  9. Wachtwoordhashing is er voor PHP-versie> 5.5
  10. In het database-gedeelte zijn verschillende aangeboden functies QueryBuilder, QueryCaching, Transacties, etc.
  11. Omgevingsvariabelen kunnen worden ingesteld om te bepalen waar de toepassing moet worden uitgevoerd, dwz met ontwikkelomgeving of productie.
  • Hoe CodeIgniter te installeren -
  1. Download CodeIgniter van Click Here
  2. Pak het pakket uit.
  3. Upload de CodeIgniter-mappen en -bestanden naar uw server. Normaal bevindt het index.php-bestand zich in uw root.
  4. Open het applicatie / config / config.php-bestand met een teksteditor en stel uw basis-URL in. Als u codering of sessies wilt gebruiken, stelt u uw coderingssleutel in.
  5. Als u van plan bent een database te gebruiken, opent u het bestand application / config / database.php met een teksteditor en stelt u uw database-instellingen in.

symfony

Symfony is open source software, Symfony-componenten zijn een set ontkoppelde en herbruikbare PHP-bibliotheken. Het is gericht op de ontwikkeling van de robuuste bedrijfstoepassingen en heeft als doel ontwikkelaars volledige controle te geven over de configuratie van directory naar buitenlandse bibliotheken en kan worden aangepast.

Symfony is opgenomen met de volgende functies -

  1. Gelokaliseerde routing (i18n) is voorzien, waardoor de routes kunnen worden gelokaliseerd om unieke paden per locale te bieden. Met Symfony kunnen deze routes zonder duplicatie worden geschreven, jokertekens worden ook ondersteund.
  2. Twig-sjablonen zijn er, ze zijn eenvoudig en verwerken de PHP-tags niet, twig kan automatische HTML-escaping, handmatige contextuele output-escaping en opname van enkele filters uitvoeren.
  3. Twig template caching maakt het proces snel als templates worden gecompileerd naar een native PHP-klasse en in de cache geplaatst.
  4. Asset component is er voor URL-generatie en versiebeheer van CSS, JS en afbeeldingen.
  5. De component BrowserKit is er om het gedrag van de webbrowser te simuleren, waardoor aanvragen kunnen worden gedaan, op koppelingen kan worden geklikt en formulieren formeel kunnen worden ingediend.
  6. Afhankelijkheid injectie component is er, die een PSR-11 compatibele servicecontainer implementeert die standaardisatie en centralisatie van objecten in de applicatie mogelijk maakt.
  7. De component DOMCrawler is er om de DOM-navigatie voor HTML- en XML-documenten te vergemakkelijken.
  8. Dotenv-component is er om omgevingsvariabelen te maken die zijn opgeslagen in .env-variabelen.
  9. Event dispatcher is er zodat componenten kunnen communiceren via event dispatching en ernaar kunnen luisteren.
  10. LDAP-component is al aanwezig om te communiceren met de LDAP-server.
  11. De component ExpressionLanguage biedt een engine die expressies kan compileren en evalueren.
  12. Polyfill / APCu-component biedt apcu_ * -functies en de ACPUIterator-klasse aan gebruikers van oudere APC-extensies.
  13. Serializer component is er om objecten om te zetten in formaten zoals JSON, XML of YAML.
  • Installatie stappen

Gebruik de volgende stappen voor downloads, componist wordt vooraf geïnstalleerd in het systeem -

Componist vereist symfonie / actief

Ga naar - voor het downloaden van afzonderlijke componenten zoals hierboven vermeld -

https://symfony.com/components

CakePHP

CakePHP is een open source platform dat het bouwen van webapplicaties eenvoudig en sneller maakt, minder code vereist. CakePHP wordt geleverd met de volgende functies -

  1. Biedt steigers om snel prototypes te bouwen.
  2. Er is een cacheklasse in de CakePHP die de caching ondersteunt en de statische interface en uniforme API biedt voor interactie met verschillende cachingimplementaties.
  3. Hash-klasse biedt statische hulpprogramma's die het juiste array-beheer mogelijk maken, waardoor code wordt geoptimaliseerd.
  4. Inflectorklasse wordt verstrekt om de verstrekte string te manipuleren en woordvariaties zoals pluralisering en cameliseren te verwerken.
  5. Loggen is eenvoudig in CakePHP, de log () functie wordt verzorgd door de LogTrait.
  6. De snelste manier om aan de slag te gaan met REST is om een ​​paar regels toe te voegen om bronroutes in te stellen in config / routes.php
  7. Het validatiepakket in CakePHP biedt functies om validators te bouwen die met gemak willekeurige gegevensreeksen kunnen valideren.
  8. Verschillende plug-ins worden ondersteund voor gebruik in combinatie met CakePHP en ze zijn Chronos (biedt een nul-afhankelijkheidsverzameling van extensies voor het DateTime-object), DebugKit (heeft foutopsporingswerkbalk en verbeterde foutopsporingshulpmiddelen), ElasticSearch (biedt een ORM-achtige abstractie op boven elastisch zoeken, maakt testen en indexeren van documenten eenvoudig).
  9. Phinx en CakePHP, phinx stelt de ontwikkelaars in staat om databases op een duidelijke manier te wijzigen en te manipuleren. Het is niet nodig om SQL handmatig te schrijven, maar phinx biedt krachtige API's voor het maken van migraties met behulp van PHP-code.
  10. Bakconsole is beschikbaar om CakePHP sneller te laten werken, bakconsole kan modellen, weergaven, gedragingen, testcases, armaturen en plug-ins maken.

Phinx kan eenvoudig worden geïnstalleerd door:

php componist. phar vereist robmorgan / phinx

Middleware-ondersteuning is er zodat we onze applicatie kunnen verpakken in herbruikbare en samen te stellen lagen aanvraagverwerking of responsopbouw.

  • Installatie en vereisten:

Laten we een aantal voorwaarden beschrijven waaraan moet worden voldaan voordat we met de installatie beginnen:

  1. HTTP-server (Apache, Nginx of Microsoft IIS)
  2. PHP 7.3
  3. mbstring PHP-extensie
  4. intl PHP-extensie (als u XAMPP gebruikt, wordt de intl-extensie opgenomen, maar zorg ervoor dat u de extensie = php_intl.dll in Php.ini uitschakelt en start de XAMPP-server opnieuw via het configuratiescherm. In het geval u WAMP gebruikt, is de intl-extensie standaard geactiveerd, je hoeft alleen maar naar de php-map te gaan en alle bestanden te kopiëren die synoniem zijn aan icu * .dll en ze in de map van de apache-bin te plakken en de services opnieuw te starten).
  5. simplexml PHP-extensie
  6. PDO PHP-extensie
  7. Alle databases uit de gegeven lijst worden op uw machine geïnstalleerd:
  • MySQL (v5.5.3 of hoger)
  • MariaDB (v 5.5 of hoger)
  • PostgreSQL
  • SQLite3
  • Microsoft SQL server (> = versie 2008)

FuelPHP

FuelPHP is een open source framework, snel en compatibel bij PHP 5.4+ versies, de ingebouwde functies zijn hieronder opgesomd -

  1. Het is een MVVM-type framework dat niet alleen beperkt is tot model-view-controller, maar ook een model-view-ViewModel-aanpak heeft. De viewModels worden ook presentatiemodellen genoemd.
  2. FuelPHP ondersteunt een routergebaseerde aanpak waarmee we de URI rechtstreeks kunnen schrijven.
  3. Ondersteunt de CSRF-tokens om vervalsing van cross-site scripting te voorkomen.
  4. Input filtering en query builder helpt bij SQL injectie.
  5. Auth-framework wordt ondersteund voor veilige authenticatie.
  6. FuelPHP biedt een CLI genaamd "olie", ontworpen om de ontwikkeling, het testen van assistentie en debuggen te versnellen. Het helpt ook bij het uitvoeren van databasemigraties.
  7. Sommige basisklassen worden verstrekt aan de controllers en modellen zodat de ontwikkelaars een vliegende start kunnen hebben, dergelijke functies zijn - Controller_Template (voeg eenvoudige pagina-sjabloonfunctionaliteit toe aan de controllers), Controller_Rest (manier voor het maken van RESTful API), Controller_Hybrid (combineer twee functies in een enkele controller), Model_crud (biedt alle methoden voor CRUD-bewerkingen in een enkele tabel).
  8. Lichtgewicht ORM biedt een objectgeoriënteerde manier om met databasegegevens te werken en CRUD uit te voeren, zoals likes-many, many-many zijn er, trapsgewijze opslaan en verwijderen van gerelateerde objecten. Waarnemers zijn er om objectinstanties bij te werken.
  9. Beveiliging omvat Auth-framework en heeft de Opauth-bibliotheek geïntegreerd en biedt verschillende andere functies, zoals Role Based Access Control (RBAC), veilige hashing-functie voor wachtwoorden, OAuth-integratie voor authenticatie van sociale media.
  10. Er zijn sjabloonparsers voor het verbeteren van weergaven van eenvoudige PHP, er zijn veel bibliotheken voor:
    1. Snor
    2. Takje
    3. Haml
    4. Jade
    5. Dawoo
    6. Smarty
    7. Markdown
  • Installatie stappen -

Volg de gegeven stappen voor hetzelfde -

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

Het project kan worden gemaakt met

$ olie creëren

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

Conclusie - PHP Frameworks

In de bovenstaande documentatie hebben we meerdere PHP Frameworks genoemd die worden gebruikt voor het uitvoeren van meerdere functies voor code-ontwikkeling. De analyse van de vereisten en ontwerppatronen die moeten worden gevolgd, wordt eerst besproken voordat een van deze wordt gekozen. De frameworks hadden diversiteit en boden verschillende plug-ins om logging en metrics tracing daar te maken.

Het raamwerk dat Lavel door Laravel wordt genoemd, wordt zeer op prijs gesteld, terwijl wordt gezocht naar de ontwikkeling van microservices, aangezien de architectuur van microservices verschilt van monolithische toepassingen, de logboekmechanismen, databasebehandeling, Auth-beveiliging en implementatie van groot belang zijn vóór codering.

Een ander ding om voor te zorgen bij het kiezen van een framework is het domein waarvoor de applicatie wordt ontworpen, zoals het bank- en financiële diensten, supply chain management, life sciences, retail of sociale netwerken.

Omdat we op basis van deze domeinen plug-ins en ontwerpen moeten inbouwen voor het verzorgen van distributieve tracering, pogingen om de service opnieuw uit te voeren, enz.

Daarom kan een codeerder met elk van de genoemde kaders doorgaan nadat de functies in nauwe samenhang met de toepassing zijn beoordeeld.

Aanbevolen artikelen

Dit is een gids voor PHP Frameworks geweest. Hier hebben we de lijst van PHP-frameworks met hun functies en de installatiestappen besproken. U kunt ook onze andere voorgestelde artikelen doornemen voor meer informatie -

  1. Wat is PHP? Wat zijn de toepassingen?
  2. Gedetailleerde gids over wat is PHP Array?
  3. Voordelen van PHP-programmering
  4. Introductie tot PHP | Volledige zelfstudies
  5. MariaDB vs MySQL | De bovenste database-open bronnen vergelijken
  6. Hashing-functie in PHP | Hoe te werken?