Appunti su Laravel: Composer, Controller, Routing e altri concetti chiave

Documento dall'Università su Laravel. Il Pdf, un insieme di appunti di Informatica per l'Università, esplora concetti fondamentali del framework PHP Laravel come Composer, Controller, Routing, Viste, Middleware e Migration, fornendo definizioni ed esempi di codice.

Mostra di più

9 pagine

LARAVEL
1. Laravel è un framework php che si interfaccia con i database
2. In Laravel, e in php, il COMPOSER è uno standard che gestisce le dipendenze
php
3. In Laravel, il CONTROLLER è una classe che presenta diversi metodi pubblici da
associare all’URL tramite rotte
4. In Laravel, il ROUTING è un sistema di mapping tra URL e funzionalità offerte
dall’applicazione
5. Le VISTE rappresentano il componente di Laravel che si occupa di definire la
struttura della pagina HTML
6. I MIDDLEWARE rappresentano i componenti dell’applicazione web che
fungono da filtri e per le chiamate http
7. MIGRATION è il versioning del data base, ovvero la raccolta di tutte le versioni
del db
8. ELOQUENT è un ORM che favorisce l’integrazione di sistemi software aderenti
al paradigma della programmazione orientata agli oggetti con sistemi RDBMS
9. Il PATTERN FACADE di Laravel facilita la creazione del facade object che
fornisce un API semplificata per una porzione di codice di grandi dimensioni
10. L’APPLICATION KEY rappresenta la chiave di criptazione di sessioni e altri dati
sensibili
11. INVERSION OF CONTROL prevede un’inversione rispetto al classico modelle
delle librerie e dipendenze usabili da un particolare componente, non è più il
componente globale a livello applicativo che fornirà le dipendenze.
12. DIPENDENCY INJECTION implementazione dell’inversion of control, prevede il
passaggio attraverso i costrutti delle classi o tramite metodi setter dedicati
13. L’oggetto illuminate/http/request$request consente il passaggio dei
parametri dal client al server
*se fosse stato response$response, sarebbe stato dal server al client
14. I SEEDER permettono la creazione di file fittizi all’interno del db temporanei
15. I MODEL FACTORY creano oggetti in poco tempo: riempimento database con
valori fittizi
16. BLADE è il motore di template php di Laravel, definisce le viste per visualizzare
variabili all’interno del template blade: {{$nomeVariabile}}
17. Return view (‘user.detail’, [‘username’ ‘abc’, ‘email’ ’ab@gmail.com’]);
Istruzione definita all’interno di un controller che richiama il metodo detail
della view user e gli passa come parametri username=abc e
email=ab@gmail.com
18. MODEL è il componente designato a comunicare con i dati, riceve le richieste
da parte del controller e restituisce i dati.
19. Commentare il seguente model: class Studenti extend Model {}
In questo model viene creata la classe studenti che estende il model di base di
nome model. All’interno delle graffe è possibile inserire le caratteristiche
richieste.
20. Che tipo di relazione è la seguente?
Class User extends Model {
Public function address () {
Return $this has One (‘App\Address’); }}
RELAZIONE UNO AD UNO
*Altri tipi di relazioni!!!
1:N HAS MANY BELONG TO
N:N HAS MANY BELONG TO MANY
N:_N INDIRETTE HAS MANY THROUGH BELONG TO MANY
POLIFORMICHE MORPH TO MANY MORPH MANY
POLIFORMICHE N:N MORPH TO MANY MORPH TO MANY*

Visualizza gratis il Pdf completo

Registrati per accedere all’intero documento e trasformarlo con l’AI.

Anteprima

Laravel

  1. Laravel è un framework php che si interfaccia con i database
  2. In Laravel, e in php, il COMPOSER è uno standard che gestisce le dipendenze php
  3. In Laravel, il CONTROLLER è una classe che presenta diversi metodi pubblici da associare all'URL tramite rotte
  4. In Laravel, il ROUTING è un sistema di mapping tra URL e funzionalità offerte dall'applicazione
  5. Le VISTE rappresentano il componente di Laravel che si occupa di definire la struttura della pagina HTML
  6. I MIDDLEWARE rappresentano i componenti dell'applicazione web che fungono da filtri e per le chiamate http
  7. MIGRATION è il versioning del data base, ovvero la raccolta di tutte le versioni del db
  8. ELOQUENT è un ORM che favorisce l'integrazione di sistemi software aderenti al paradigma della programmazione orientata agli oggetti con sistemi RDBMS
  9. Il PATTERN FACADE di Laravel facilita la creazione del facade object che fornisce un API semplificata per una porzione di codice di grandi dimensioni
  10. L'APPLICATION KEY rappresenta la chiave di criptazione di sessioni e altri dati sensibili
  11. INVERSION OF CONTROL prevede un'inversione rispetto al classico modelle delle librerie e dipendenze usabili da un particolare componente, non è più il componente globale a livello applicativo che fornirà le dipendenze.
  12. DIPENDENCY INJECTION implementazione dell'inversion of control, prevede il passaggio attraverso i costrutti delle classi o tramite metodi setter dedicati
  13. L'oggetto illuminate/http/request$request consente il passaggio dei parametri dal client al server *se fosse stato response$response, sarebbe stato dal server al client
  14. I SEEDER permettono la creazione di file fittizi all'interno del db temporanei
  15. I MODEL FACTORY creano oggetti in poco tempo: riempimento database con valori fittizi
  16. BLADE è il motore di template php di Laravel, definisce le viste per visualizzare variabili all'interno del template blade: {{$nomeVariabile}}
  17. Return view ('user.detail', ['username'-> 'abc', 'email' >'ab@gmail.com']); Istruzione definita all'interno di un controller che richiama il metodo detail della view user e gli passa come parametri username=abc e email=ab@gmail.com
  18. MODEL è il componente designato a comunicare con i dati, riceve le richieste da parte del controller e restituisce i dati.
  19. Commentare il seguente model: class Studenti extend Model {} In questo model viene creata la classe studenti che estende il model di base di nome model. All'interno delle graffe è possibile inserire le caratteristiche richieste.
  20. Che tipo di relazione è la seguente? Class User extends Model { Public function address () { Return $this > has One ('App\Address'); }} RELAZIONE UNO AD UNO *Altri tipi di relazioni !!! 1:N HAS MANY -> BELONG TO N:N HAS MANY -> BELONG TO MANY N: N INDIRETTE HAS MANY THROUGH -> BELONG TO MANY POLIFORMICHE MORPH TO MANY -> MORPH MANY POLIFORMICHE N:N MORPH TO MANY -> MORPH TO MANY
  21. Commentare il seguente codice: Class UserController extends Controller {public function index () {$user = user :: all () Return view ('user', ['user'>$user]) VIENE CREATA LA CLASSE USER CHE ESTENDE IL CONTROLLER DI BASE, VIENE CREATA UNA FUNZIONE PUBBLICA CHIAMATA INDEX SENZA PARAMETRI IN INPUT, L'OGGETTO USERS CONTERRA' TUTTI I VALORI ASSOCIATI AGLI USER TRAMITE IL METODO ALL DEL CONTROLLER USER, RITORNA LA VIEW USER PASSANDO IN INPUT ALLA VIEW IL CONTENUTO DI $USERS
  22. Assumendo l'esistenza di un model studente, l'istruzione $studente=studente :: find(cognome) utilizzata in un controller: recupera il valore COGNOME di uno STUDENTE
  23. Commenta: Introduzione: I template definiti con blade sfruttano l'ereditarietà dei linguaggi orientati agli oggetti; è possibile, infatti, definire LAYOUT PADRI astratti e LAYOUT FIGLI che li estendono (con YELD e SECTION) inizio file html apertura sezione head @yeld ('title') inizializzo lo @yeld 'title' chiusura sezione head apertura sezione body
    apertura del div con classe "sidebar" @yeld ('sidebar') assegno l'alias sidebar al tag yeld
    chiusura div, body e html Questo file rappresenta un layout, una sorta di scheletro astratto con tre sezioni configurabili : title, sidebar e content, definite tramite costrutto @yeld. commento che indica che abbiamo cambiato file @extends ('layout.master') @section ('title', 'page title') collego il blade al lavout padre (le section successive si estende il contenuto dello yeld title e assegna PageTitle come titolo di pagina @section ('sidebar') estende il contenuto dello yeld sidebar

    Menu laterale

    inserisce la stringa 'Menu laterale' come paragrafo @end section chiusura della sezione @section ('content') estende il contenuto dello yeld content

    Contenuto principale

    inserisce la stringa 'Contenuto principale' come paragrafo @end section chiusura della sezione Questo file rappresenta una view concentrata che estende il precedente layout e ne definisce le sezioni tramite @section
  24. Le WEB ROUTES sono usate per identificare URL e metodo che porta l'utente a scatenare una funzione
  25. Rotta che richiama l'apertura di una pagina che mappi: url /listastudent con METODO trova tutti studenti del CONTROLLER Gestione Studenti: Route :: get ('/listaStudenti', 'GestioneStudenti@trovatuttiStudenti');
  26. Esempio di controller chiamato GestioneStudenti avente 2 metodi: 1 trovaTuttiStudenti e 2 TrovaStudente Il secondo metodo deve essere parametrico e deve ricevere l'id dello studente da cercare: Class GestioneStudenti extends Base Controller Public function trovaTuttiStudenti () {Return listaStudenti }; PRIMO METODO Public function trovaStudente ($id) { Return 'dati studente'.$id} SECONDO METODO (ESSENDO PARAMETRICO, TRA LE PARENTESI, DEVE ESSERE SPECIFICATO IL PARAMETRO CHE VIENE PASSATO)
  27. Commenta la seguente rotta: Route := get('user','UserController@get List'); DICHIARAZIONE DI UNA ROTTA DI TIPO GET RELATIVA ALL'URL/USER E CHE RICHIAMA IL METOOD GETLIST SUL CONTROLLER USERCONTROLLER
  28. Descrivere il funzionamento della seguente rotta specificando il ruolo della parola chiave Get Route :: get ('/iscritti, ['post Detail', function (){ Return 'Hello World';}]) Quando viene richiamato l'url/iscritto, viene richiamata la route Post Detail, infine viene visualizzato 'Hello World'. GET è il metodo di richiesta effettuata e serve a prelevare dati dal server
  29. Commenta un codice all'interno di un ipotetico controller $video->new Video; creazione di un video $video-> titolo = "Trono di Spade"; inserimento titolo $video-> regista = "David Nutter"; inserimento regista $video-> save (); salva il video con i dati inseriti $video-> Video :: find (1); ricerca video $video->regista = "David Benioff"; inserimento regista $video-> save (); salva il video/aggiorna i dati del video

PHP, JAVASCRIPT, HTML

  1. JAVASCRIPT è un linguaggio CLIENT SIDE
  2. Quali sono i super vettori per eseguire le richieste: _ GET e_POST
  3. La funzione di callback è UNA FUNZIONE CHE VIENE PASSATA AD UN PARAMETRO AD UNA FUNZIONE CHIAMANTE Esempio: Function print (callback) { Call back ();}
  4. In html, il tag IMG viene utilizzato per mostrare immagini e l'attributo SRC al suo interno per definire l'url dell'immagine da mostrare
  5. In html, l'attributo REQUIRED costringe l'utente ad inserire un valore prima di sottomettere un form
  6. Nel css, quale identificatore serve a chiamare un id? '#'
  7. Tipi di selettori:
  8. Selettori di elemento e nome elemento, di id e "#" di classe "." Combinato (selettore di elemento+ di classe) , posso raggruppare gli stili, selettori di attributo.
  9. Linguaggio html è un linguaggio INTERPRETATO
  10. Tag HEADER gestisce l'intestazione di un documento
  11. Il comando css MARGIN distanzia il contenuto rispetto al bordo
  12. Commenta il seguente codice css p.student { padding: 25px 50px 75px;font: "Times New Roman", Times, serif;} Richiama l'elemento student, il padding definisce un riempimento esterno attorno al contenuto e avrà dimensioni 25px superiori, 50px laterali, 75px inferiori. Il carattere sarà di tipo Times New Roman
  13. Nella progettazione di un sistema interattivo, l'architettura informatica rappresenta la SCALETTA LOGICA DEI CONTENUTI
  14. Cosa visualizzerà il browser se viene eseguito il seguente script e l'utente ne immette 5 in entrambe le richieste? Per effettuare la somma fra interi, i numeri devono essere parserizzati con ROUTE INT. "55"
  15. Dato il seguente codice, spiegare cosa è il bubbling, cosa comporterebbe nel seguente codice e come poterlo arrestare: Il bubbling consiste nella propagazione degli eventi fino al nodo radice. Si può arrestare con StopPropagation

Teoria

Prototipazione

Inizio Requisiti Rilascio Proget- tazione Test tipo": tazione di un un sistema, parte, che, Jalche modo sere utilizzata alutazione 3407)

Prototi- pazione - Verifica (make the things right) - Convalida (make the right thing)

Pro

  • Il prodotto si vede, anche se in modo parziale, fin dall'inizio e viene perfezionato in modo incrementale
  • le scelte effettuate possono essere sperimentate subito e si possono scartare quelle sbagliate
  • è il modello concettualmente corretto per la realizzazione di sistemi complessi

Contro

  • difficoltà di stima dei costi a preventivo
  • si rischia di far divergere il processo, per troppe richieste di modifiche
  • la fluidità delle specifiche rende più difficile la comunicazione fra le persone coinvolte

Road Map

1 Definizione dei requisiti 2 Prototipo di navigazione Avviamento del progetto Web design Prototipo di comunicazione Tutti navigabili Visual design Prototipo funzionale sottoposti ad attività di verifica e validazione specifiche Sviluppo del sito Prototipo editoriale Redazione del contenuti Sito finale Consolidamento progressivo 7 Pubblicazione

FASE 1 OUTPUT: DOC. DEI REQUISITI BASATO SU UN MODELLO DI QUALITA' PER SITI WEB

Tecniche per la raccolta dei requisiti

TecnicaServer perVantaggiSvantaggi
QuestionariRispondere a domande specificheSi possono raggiungere molte persone con poco sforzoVanno progettati con grande accuratezza, in caso contrario le risposte potrebbero risultare poco informative. Il tasso di risposta può essere basso.
Interviste individualiEsplorare determinati aspetti del problema e determinati punti di vistaL'intervistatore può controllare il corso dell'intervista, orientandola verso quei temi sui quali l'intervistato è in grado di fornire i contributi più utiliRichiedono molto tempo Gli intervistati potrebbero evitare di esprimersi con franchezza su alcuni aspetti delicati
Focus groupMettere a fuoco un determinato argomento, sui quali possono esserci diversi punti di vistaFanno emergere le aree di consenso e di conflitto Possono far emergere soluzioni condivise dal gruppoLa loro conduzione richiede esperienza Possono emergere figure dominanti che monopolizzano la discussione
Osservazioni sul campoComprendere il contesto delle attività dell'utentePermettono di ottenere una consapevolezza sull'uso reale del prodotto che le altre tecniche non dannoPossono essere difficili da effettuare e richiedere molto tempo e risorse
Suggerimenti spontanei dell'utenteIndividuare specifiche necessità di miglioramento di un prodottoHanno bassi costi di raccoltaHanno normalmente carattere episodico
Analisi della concorrenza e delle best practicesIndividuare le soluzioni migliori adottate nel settore di interesseEvitare di "reinventare la ruota" e ottenere un vantaggio competitivoL'analisi di solito è costosa (tempo e risorse)

FASE 2 OUTPUT: DOC. DEL PIANO DI QUALITA'

FASE 3 OUTPUT: MAPPA DEL SITO (DIAGRAMMA CHE RAPPRESENTA LE PAGINE DEL SITO E I PERCORSI DI NAVIGAZIONE PRINCIPALI TRA ESSE), GABBIA LOGICA DELLE PAGINE (MOSTRANO SOLO MENU, SPAZI E INGOMBRI DI MASSIMA DI CIASCUNA PAGINA, SENZA FORNIRE ALCUNA INDICAZIONE PRECISA SULLA GRAFICA), PROTOTIPO DI NAVIG (PROTOTIPO RUDIMENTALE, NON VIENE CONSERVATO NELLE FASI SUCCESSIVE, SVILUPPATO IN HTML, COMPLETAMENTE NAVIGABILE, LE PAGINE SONO COSTITUITE SOLO DA GABBIA LOGICA SENZA GRAFICA.

FASE 4 OUTPUT: GUIDA DI STILE (ELENCO DI TUTTI I LAYOUT GRAFICI DEL SITO), TEMPLATE HTML, PROTOTIPO DI COMUNICAZIONE (RAFFINA E COMPLETA IL PROTOTIPO DI NAVIG., PERMETTE DI SPERIMENTARE I MECCANISMI DI NAVIG. NEL CONTESTO VISUALE DEFINITIVO)

FASE 5 OUTPUT: DIAGR. DI NAVIG E FORM PER LE FUNZIONI, DIAGR. ENTITA'- RELAZIONI PER LA BASE DI DATI, PROTOTIPO FUNZIONALE (TEST FUNZIONALI E TEST DI USABILITA') Possono essere molto specifici

Non hai trovato quello che cercavi?

Esplora altri argomenti nella Algor library o crea direttamente i tuoi materiali con l’AI.