Introduzione ai framework PHP

Prima di avere una visione approfondita di PHP Frameworks parliamo del perché abbiamo bisogno di framework e di come semplificano la vita di uno sviluppatore?

Ogni volta che cerchiamo di sviluppare un sito Web, molte cose nell'architettura devono essere allineate prima di procedere con la linea effettiva come decidere come una chiamata basata sul Web si farà strada dal lato client al lato server, che senza perdita di generalità incorpora verifica del tipo di richiesta (Get, Post o Put), registrazione della pista di controllo, gestione degli intercettori, ecc.

Se stai cercando di adottare un approccio alla vaniglia senza incorporare alcun framework, probabilmente dalla gestione delle chiamate alla sicurezza (come lo scripting cross-site), devi gestire tutte le istanze, quindi probabilmente assumere più sviluppatori per lo stesso e che purtroppo aumenterà il costo dello sviluppo dell'applicazione.

Ora entriamo nel tipo di framework che abbiamo per lo sviluppo di PHP e scegliamo quello migliore che si adatta alla nostra applicazione da sviluppare (tenendo presente il dominio aziendale per il quale viene svolto lo sviluppo e quanto rigorose sono le regole aziendali).

Elenco di quadri PHP

Ecco un elenco dei migliori framework PHP, basato sulla popolarità e sulla capacità di facilitare lo sviluppo di applicazioni.

laravel

È un framework open source, seguendo l'architettura basata su controller vista modello. Le varie funzionalità fornite sono:

  1. Composer è disponibile da quando è arrivato Laravel 4 e funge da gestore delle dipendenze per aggiungere un quadro indipendente.
  2. ORM eloquente, ovvero un'implementazione del modello di record attiva.
  3. Query Builder fornisce un set di classi.
  4. Laravel ispira codice estremamente pulito e leggibile, mantenendo così facile la vita degli sviluppatori.
  5. Laravel offre una solida sicurezza delle applicazioni Web in quanto include hashing delle password, crittografia, verifica della posta elettronica e autenticazione API.
  6. Il routing protetto e sicuro è garantito, tutte le rotte Laravel sono definite nella directory delle rotte e questi file vengono scaricati automaticamente dal framework.
  7. Il token CSRF viene aggiunto agli URL per impedire la falsificazione tra siti.
  8. Nel frontend, il framework offre funzionalità come template Blade (motore di template), localizzazione, JavaScript e CSS Scaffolding.
  9. Supporta Redis (archivio valori-chiave), impaginazione, migrazioni (condivisione dello schema del database), seeding del database,
  • Requisiti del server prima di lavorare con Laravel.

È meglio usare la macchina virtuale Laravel Homestead, quindi si consiglia vivamente di utilizzarlo come ambiente di sviluppo Laravel locale.

Se non si utilizza Homestead, è necessario quanto segue:

  • PHP> = 7.1.3
  • Estensione OpenSSL PHP
  • Estensione PHP DOP
  • Estensione PHP di Mbstring
  • Estensione PHP tokenizzatore
  • Estensione XML PHP
  • Estensione PHP Ctype
  • Estensione JSON PHP
  • Estensione BCMath PHP

Installazione di Laravel

Laravel utilizza il compositore per gestire le sue dipendenze, quindi il requisito principale è che il compositore sia preinstallato.

Quindi scaricare il programma di installazione di Laravel usando il compositore come indicato di seguito.

Composer Global richiede Laravel / programma di installazione.

  • Creazione di un progetto tramite compositore

Compositore crea-progetto - preferisci il blog Laravel / Laravel dist

  • Server di sviluppo locale

servizio artigianale php

CodeIgniter

CodeIgniter è un framework di sviluppo open source, di seguito sono riportate le funzionalità fornite da esso:

  1. Non richiede una rigorosa implementazione del controller vista modello, il controller è obbligatorio, il modello e la vista sono opzionali.
  2. Le funzioni di supporto sono presenti, come gli Assistenti URL che aiutano la creazione di collegamenti, gli Assistenti modulo sono lì, gli Assistenti testo sono lì per formattare il testo e gli Assistenti cookie sono lì per impostare e leggere i cookie.
  3. È possibile creare nuove librerie, sostituire e rimuovere librerie native.
  4. La funzione Hooks fornisce un mezzo per attingere e modificare il funzionamento interno del framework senza compromettere i file core.
  5. È disponibile la funzione di caricamento automatico che consente di inizializzare automaticamente librerie, helper e modelli ogni volta che il sistema viene eseguito.
  6. CodeIgniter offre funzionalità di memorizzazione nella cache della pagina migliorando così le prestazioni.
  7. CodeIgniter ha una classe di registrazione degli errori che consente di salvare i messaggi di errore e di debug come file di testo.
  8. Il routing URI è presente, la stringa URL è mappata in modo univoco sul controller.
  9. L'hash della password è disponibile per la versione PHP> 5.5
  10. Nella parte del database, varie funzionalità fornite sono QueryBuilder, QueryCaching, Transactions, ecc.
  11. Le variabili di ambiente possono essere impostate per decidere da dove deve essere eseguita l'applicazione, ovvero con l'ambiente di sviluppo o la produzione.
  • Come installare CodeIgniter -
  1. Scarica CodeIgniter da Clicca qui
  2. Decomprimi il pacchetto.
  3. Carica le cartelle e i file CodeIgniter sul tuo server. Normalmente il file index.php sarà alla radice.
  4. Apri il file application / config / config.php con un editor di testo e imposta l'URL di base. Se si intende utilizzare la crittografia o le sessioni, impostare la chiave di crittografia.
  5. Se si intende utilizzare un database, aprire il file application / config / database.php con un editor di testo e configurare le impostazioni del database.

symfony

Symfony è un software open source, i componenti di Symfony sono un insieme di librerie PHP disaccoppiate e riutilizzabili. Mira allo sviluppo di solide applicazioni aziendali e mira a fornire agli sviluppatori il pieno controllo della configurazione da directory a librerie straniere e può essere personalizzato.

Symfony è incorporato con le seguenti funzionalità:

  1. Viene fornito il routing localizzato (i18n), pertanto i percorsi possono essere localizzati per fornire percorsi univoci per locale. Con Symfony questi percorsi possono essere scritti senza duplicazione, sono supportati anche i caratteri jolly.
  2. I modelli di ramoscello sono lì, sono semplici e non elaborano i tag PHP, il ramoscello può eseguire l'escaping HTML automatico, l'escaping manuale dell'output contestuale e l'inclusione di alcuni filtri.
  3. La memorizzazione nella cache dei modelli di Twig velocizza il processo poiché i modelli vengono compilati in una classe PHP nativa e memorizzati nella cache.
  4. Il componente di asset è disponibile per la generazione di URL e il versioning di CSS, JS e immagini.
  5. Il componente BrowserKit è lì per simulare il comportamento del browser Web, consentendo di effettuare richieste, fare clic sui collegamenti e inviare moduli a livello di codice.
  6. C'è il componente di iniezione di dipendenza che implementa un contenitore di servizi compatibile PSR-11 che consente la standardizzazione e la centralizzazione degli oggetti nell'applicazione.
  7. Il componente DOMCrawler è lì per facilitare la navigazione DOM per documenti HTML e XML.
  8. Il componente Dotenv è lì per rendere le variabili di ambiente memorizzate nelle variabili .env.
  9. Event Dispatcher è lì in modo che i componenti possano comunicare tramite l'invio di eventi e ascoltarli.
  10. Il componente LDAP è già presente per comunicare con il server LDAP.
  11. Il componente ExpressionLanguage fornisce un motore in grado di compilare e valutare espressioni.
  12. Il componente Polyfill / APCu fornisce le funzioni apcu_ * e la classe ACPUIterator agli utenti dell'estensione APC legacy.
  13. Il componente Serializer è lì per trasformare oggetti in formati come JSON, XML o YAML.
  • Passaggi di installazione

Utilizzare i seguenti passaggi per i download, il compositore deve essere preinstallato nel sistema -

Il compositore richiede sinfonia / risorsa

Per il download dei singoli componenti come indicato sopra, visitare -

https://symfony.com/components

CakePHP

CakePHP è una piattaforma open source che rende la creazione di applicazioni Web semplice e veloce, richiede meno codice. CakePHP ha le seguenti caratteristiche:

  1. Fornisce ponteggi per costruire rapidamente prototipi.
  2. Esiste una classe cache in CakePHP che supporta la memorizzazione nella cache e fornisce l'interfaccia statica e l'API uniforme per interagire con varie implementazioni della cache.
  3. La classe hash fornisce utility statiche che rendono corretta la gestione dell'array, ottimizzando così il codice.
  4. La classe di inflector viene fornita per manipolare le stringhe fornite e gestire le variazioni di parole come la pluralizzazione e la cammellatura.
  5. La registrazione è semplice in CakePHP, la funzione log () è fornita da LogTrait.
  6. Il modo più veloce per iniziare a funzionare con REST è aggiungere poche righe per impostare percorsi di risorse in config / route.php
  7. Il pacchetto di validazione in CakePHP offre funzionalità per costruire validatori in grado di validare facilmente array arbitrari di dati.
  8. Vari plug-in sono supportati per l'uso in combinazione con CakePHP e sono Chronos (fornisce una raccolta di estensioni zero dell'oggetto DateTime), DebugKit (ha una barra degli strumenti di debug e strumenti di debug migliorati), ElasticSearch (fornisce un ORM come l'astrazione su parte superiore di elasticsearch, semplifica i test e l'indicizzazione dei documenti).
  9. Phinx e CakePHP, phinx consente agli sviluppatori di alterare e manipolare i database in modo chiaro. Non è necessario scrivere a mano SQL, piuttosto phinx fornisce potenti API per la creazione di migrazioni utilizzando il codice PHP.
  10. La console di cottura viene fornita per eseguire CakePHP più velocemente, la console di cottura può creare modelli, viste, comportamenti, casi di test, dispositivi e plugin.

Phinx può essere semplicemente installato da:

compositore php. phar richiede robmorgan / phinx

Il supporto per il middleware è disponibile in modo tale da poter avvolgere la nostra applicazione in livelli riutilizzabili e compostabili di gestione delle richieste o costruzione della risposta.

  • Installazione e pre-requisiti:

Descriviamo alcuni prerequisiti che devono essere soddisfatti prima di iniziare l'installazione:

  1. Server HTTP (Apache, Nginx o Microsoft IIS)
  2. PHP 7.3
  3. estensione PHP mbstring
  4. estensione PHP intl (se si utilizza XAMPP, è necessario includere l'estensione intl ma assicurarsi di decommentare l'estensione = php_intl.dll in Php.ini e riavviare il server XAMPP tramite il pannello di controllo, nel caso in cui si utilizzi WAMP, l'estensione intl è attivata per impostazione predefinita, devi solo andare nella cartella php e copiare tutti i file anche in icu * .dll e incollarli nella directory bin di apache, quindi riavviare i servizi).
  5. estensione PHP simplexml
  6. Estensione PHP DOP
  7. Tutti i database tra quelli indicati devono essere installati sul tuo computer:
  • MySQL (v5.5.3 o successiva)
  • MariaDB (v 5.5 o successive)
  • PostgreSQL
  • SQLite3
  • Microsoft SQL server (> = versione 2008)

FuelPHP

FuelPHP è un framework open source, veloce e compatibile con le versioni PHP 5.4+, le funzioni incorporate sono elencate di seguito -

  1. È un tipo di framework MVVM che non si limita solo al modello-view-controller ma porta anche l'approccio model-view-ViewModel. I viewModels sono anche chiamati modelli di presentazione.
  2. FuelPHP supporta un approccio basato su router che ci consente di scrivere direttamente l'URI.
  3. Supporta i token CSRF per prevenire la falsificazione di script tra siti.
  4. Il filtro di input e il generatore di query aiutano nell'iniezione SQL.
  5. Il framework Auth è supportato per scopi di autenticazione sicura.
  6. FuelPHP fornisce una CLI denominata "olio", progettata per accelerare lo sviluppo, l'assistenza ai test e il debug. Aiuta anche a eseguire migrazioni di database.
  7. Alcune classi di base sono fornite ai controller e ai modelli in modo che gli sviluppatori possano avere un inizio di volo, tali funzionalità sono - Controller_Template (aggiungi semplici funzionalità di template della pagina ai controller), Controller_Rest (modo per la creazione dell'API RESTful), Controller_Hybrid (combina due funzionalità in un singolo controller), Model_crud (fornisce tutti i metodi per le operazioni CRUD in una singola tabella).
  8. L'ORM leggero offre un modo orientato agli oggetti di lavorare con i dati del database e di eseguire CRUD, relazioni come ha molti, molti molti sono lì, salvataggi a cascata ed eliminazioni per oggetti correlati. Gli osservatori sono lì per aggiornare le istanze degli oggetti.
  9. La sicurezza incorpora il framework Auth e ha integrato la libreria Opauth e offre varie altre funzionalità come il controllo degli accessi in base al ruolo (RBAC), la funzione di hashing sicuro per le password, l'integrazione OAuth per l'autenticazione dei social media.
  10. Ci sono parser di template per migliorare le viste da PHP semplice, numerose librerie sono lì per questo:
    1. Baffi
    2. Ramoscello
    3. Haml
    4. Giada
    5. Dawoo
    6. Smarty
    7. riduione di prezzo
  • Passaggi di installazione -

Seguire i passaggi indicati per lo stesso -

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

Il progetto può essere creato usando

$ oil create

$ composer crea-progetto fuel / fuel –prefer-dist

Conclusione - Frame PHP

Nella documentazione di cui sopra, abbiamo citato più Framework PHP usati per trasportare più funzionalità per lo sviluppo del codice. L'analisi dei requisiti e dei modelli di progettazione da seguire deve essere discussa prima di scegliere uno di questi. I framework presentavano diversità e fornivano vari plug-in per rendere disponibili la registrazione e la traccia delle metriche.

Il framework chiamato Lumen di Laravel è molto apprezzato quando si cerca lo sviluppo di microservizi poiché l'architettura dei microservizi è diversa dalle applicazioni monolitiche, i meccanismi di registrazione, la gestione del database, la sicurezza Auth e l'implementazione sono di primaria importanza prima della codifica.

Un'altra cosa di cui occuparsi mentre si opta per un framework è il dominio per il quale l'applicazione viene progettata come sia i servizi bancari e finanziari, la gestione delle catene di approvvigionamento, le scienze della vita, la vendita al dettaglio o i social network.

Perché sulla base di questi domini dobbiamo incorporare plug-in e progetti per curare la traccia distributiva, i tentativi di riprovare il servizio, ecc.

Quindi un programmatore può procedere con uno qualsiasi dei framework citati dopo aver valutato le funzionalità in stretta collaborazione con l'applicazione.

Articoli consigliati

Questa è stata una guida a PHP Frameworks. Qui abbiamo discusso l'elenco dei framework PHP con le loro caratteristiche e le fasi di installazione. Puoi anche consultare i nostri altri articoli suggeriti per saperne di più -

  1. Che cos'è PHP? Quali sono gli usi?
  2. Guida dettagliata su Cos'è l'array PHP?
  3. Vantaggi della programmazione PHP
  4. Introduzione a PHP | Tutorial completi
  5. MariaDB vs MySQL | Confronto tra le principali fonti di apertura del database
  6. Funzione di hashing in PHP | Come lavorare?

Categoria: