
Dal sito ufficiale visitando la pagina http://www.easyphp.org/ EasyPhp è un cosiddetto WAMP, cioè una piattaforma di sviluppo web per sistemi operativi Windows che permette di far funzionare un server web direttamente sul proprio computer locale. EasyPhp andrà ad installare sul nostro computer tutti i componenti fondamentali per poter fare in modo che il nostro computer svolga il lavoro di un server web, ovvero gestire le richieste, da parte di un client (solitamente un browser), di trasferimento di pagine web tramite il protocollo HTTP(S). Detto in parole semplici, ogni volta che con il nostro browser clicchiamo un link, bottone o digitiamo una URL, stiamo inviando una richiesta ad un server web remoto (su un computer che non è il nostro). Questi elaborerà la richiesta inviando la pagina web al nostro browser tramite protocollo HTTP(S). Il server web è un software ed è solo uno dei componenti che EasyPhp ci permette di installare sul nostro computer.
Sarà anche incluso un interprete PHP che tradurrà il codice PHP che noi andremo a scrivere in linguaggio HTML “comprensibile” per un browser. Infatti solo il server web è capace di leggere tale linguaggio e prima di restituire ad un browser una pagina scritta in PHP deve tradurla in una pagina in linguaggio HTML che il browser può comprendere.
Avremo in fine incluso in EasyPhp un Database Management System (DBMS) MySQL. Si tratta di un software progettato per consentire la creazione, manipolazione e interrogazione di database. I database sono fondamentali per memorizzare i dati del nostro sito web. Grazie all'applicazione phpMyAdmin inclusa nell'installazione possiamo gestire tutte le operazioni sul database direttamente dal nostro browser utilizzando una comoda interfaccia grafica.
Dal sito ufficiale http://www.joomla.it/download/joomla-3.html
Un CMS è un software installato su un server web. Questo software ha lo scopo di fornire uno scheletro del nostro sito web, implementando tutte quelle funzionalità comuni a tutti i siti web. In questo modo molte delle funzionalità di base (e non solo…) di un sito web potranno essere gestite utilizzando un software già scritto da team di sviluppatori professionisti e, per i CMS più famosi, testato da una grande community di utenti.
Installando un CMS sul nostro server web avremo, in pochissimi secondi, già creato un nostro sito web personale fornito delle funzionalità fondamentali e largamente specializzabile installando delle estensioni. Infatti Joomla! e tutti gli altri famosi CMS esistenti, hanno la possibilità di implementare le funzionalità più disparate installando estensioni scritte da sviluppatori di terze parti o scritte da noi stessi.
Puoi vedere Joomla! come un grande insieme di file PHP molto ben strutturato, il cui codice può essere liberamente consultato, modificato e riutilizzato essendo un software open source.
Joomla! addirittura, implementa un proprio framework ovvero un grande insieme di funzioni PHP che possiamo utilizzare per sviluppare un sito web in modo più veloce ed efficiente.
E' importante tener presente che al giorno d'oggi praticamente la totalità degli sviluppatori web che si rispettino, utilizzano dei framework di sviluppo e non i semplici linguaggi nudi e crudi.
Grazie a Joomla! riusciamo a combinare la possibilità di avere funzionalità già pronte e ben funzionanti alla possibilità di utilizzare un potente framework open source per poter scrivere i nostri componenti web personalizzati al 100%!
Considera in fine che i vari framework PHP più famosi, tra i quali Joomla!, in linea di massima sono molto simili tra loro, infatti la maggior parte di essi implementa il cosiddetto pattern MVC, cioè delle linee guida di sviluppo per creare codice ordinato e logicamente ben strutturato. In questo modo imparare a sviluppare con un framework specifico sarà un modo per imparare a conoscere anche framework diversi e ti accorgerai in futuro di quanto sarà semplice passare da un framework all'altro.
Considera in fine che i vari framework PHP più famosi, tra i quali Joomla!, in linea di massima sono molto simili tra loro, infatti la maggior parte di essi implementa il cosiddetto pattern MVC, cioè delle linee guida di sviluppo per creare codice ordinato e logicamente ben strutturato. In questo modo imparare a sviluppare con un framework specifico sarà un modo per imparare a conoscere anche framework diversi e ti accorgerai in futuro di quanto sarà semplice passare da un framework all'altro.
L'installazione di Joomla! potrebbe bloccarsi al momento della creazione delle tabelle di Database. Questo è dovuto generalmente all'impostazione max_execution_time nel file di configurazione php.ini. Puoi trovare questo file nella cartella C:\EasyPHP-DevServer-14.1VC11\binaries\php\php_runningversion. Cambia il valore dell'impostazione dal valore di default (generalmente 30) ad un valore più alto (prova 300). Riavvia EasyPHP
Se questa soluzione non dovesse funzionare prova a cercare il file Joomla.sql nella cartella C:\EasyPHP-DevServer-14.1VC11\data\localweb\Joomla_3.4.3_ita-Stable-v2\installation\sql\mysql e sostituire ogni occorrenza di ENGINE=InnoDB con ENGINE=MyIsam.
Dal sito ufficiale https://eclipse.org/
Eclipse è uno dei più famosi Integrated Development Environment IDE. Un IDE è un software che aiuta i programmatori in fase di scrittura del codice sorgente. Può essere visto come un editor di testo avanzato e circondato da preziose funzionalità fondamentali per uno sviluppatore. In teoria potremmo tranquillamente scrivere il nostro codice su un semplice blocco note, ma ti accorgerai che le funzionalità avanzate di un IDE come Eclipse sono irrinunciabili. Eclipse ha varie versioni, ciascuna per ogni tipo di linguaggio, quindi fai attenzione a scaricare la versione specifica per il linguaggio PHP.
Nei sistemi operativi Windows spesso è impossibile vedere l'estensione di molti file. Consiglio di impostare la possibilità di vedere tali estensioni come descritto qui: http://windows.microsoft.com/it-it/windows/show-hide-file-name-extensions#show-hide-file-name-extensions=windows-7
Puoi installare anche il comodo Notepad++... un must have per uno sviluppatore in ambiente Windows. Notepad++

Dal sito ufficiale https://eclipse.org/
Eclipse è uno dei più famosi Integrated Development Environment IDE. Un IDE è un software che aiuta i programmatori in fase di scrittura del codice sorgente. Può essere visto come un editor di testo avanzato e circondato da preziose funzionalità fondamentali per uno sviluppatore. In teoria potremmo tranquillamente scrivere il nostro codice su un semplice blocco note, ma ti accorgerai che le funzionalità avanzate di un IDE come Eclipse sono irrinunciabili. Eclipse ha varie versioni, ciascuna per ogni tipo di linguaggio, quindi fai attenzione a scaricare la versione specifica per il linguaggio PHP.
Dal sito ufficiale Oracle
Il Java Development Kit è necessario affinche Eclipse possa funzionare. E' probabile che tu abbia già installato Java sul tuo computer. Puoi controllarlo subito digitando java -version sul prompt dei comandi.
Installiamo il tutto nel modo in cui ti mostro nel video! Ricorda che le versioni dei vari software che installiamo sono in continuo aggiornamento e può darsi che tali procedure di installazione debbano variare leggermente per poter funzionare alla perfezione. Quindi se qualcosa non funziona non demordere. Tutto si risolve! La configurazione iniziale è sempre uno dei momenti più difficili nello sviluppo di un software, anche i professionisti spesso ci perdono molto tempo. E' normale, non credere di non essere portato per farlo o che il tuo computer non vada bene per sviluppare codice!
Se qualcosa non va prova per prima cosa a controllare o chiedere sul gruppo segreto di Facebook se qualcuno ha avuto il tuo stesso problema e se proprio non trovi nulla ricorda che noi siamo sempre disponibili a darti una mano.
Ricordati di settare la variabile PATH tra le variabili d'ambiente del computer dopo aver installato Java. Puoi trovare le variabili d'ambiente di Windows andando su Pannello di controllo>Sistema e Sicurezza>Sistema>Impostazioni di sistema avanzate>Avanzate>Variabili d'ambiente. Modifica poi nella sezione Variabili di sistema la variabile PATH.
Aggiungi a questa variabile il percorso in cui è installato Java.
Solitamente il percorso è: C:\ProgramData\Oracle\Java\javapath\java.exe. Se non sei certo che questo sia il percorso giusto, puoi ottenerlo digitando sul prompt dei comandi: for %i in (java.exe) do @echo. %~$PATH:i

Come detto nella precedente lezione, Joomla! è un CMS e quindi una web application che fornisce tutte le funzionalità di base di un sito web.
Per fornire il nostro sito web di funzionalità avanzate è necessario aggiungere delle estensioni alla nostra installazione di base di Joomla!
Le estensioni di Joomla! già esistenti possono essere scaricate dal sito http://extensions.joomla.org/ e facilmente installate.
Tuttavia capita spesso che una web application debba fornire delle funzionalità così specifiche che non è possibile trovare un'estensione già esistente che faccia al caso proprio. In tal caso è indispensabile essere in grado di costruire da se un'estensione.
Sviluppare da soli le funzionalità del proprio sito web è l'obiettivo principale di questo videocorso.
In Joomla! troviamo vari tipi di estensioni: componenti, moduli, plugin e template. Considera che anche le funzionalità di base di Joomla! sono fornite da un insieme di queste estensioni che però sono già incluse nell'installazione di base del CMS. Questi vari tipi di estensioni molto spesso collaborano tra di loro per fornire delle funzionalità avanzate. I componenti sono di sicuro il tipo di estensione più importante e centrale nello sviluppo di una web application, per questo motivo partiremo proprio da essi con lo sviluppo. Per cominciare creeremo un classico tipo di progetto di base, il progetto Hello World!
Se non vuoi sorbirti tutte le mie chiacchiere iniziali e hai gia un po' di dimestichezza con Joomla!
Puoi andare direttamente al minuto 4:00 del video e partire subito con lo sviluppo.
Come detto, in questo corso non andremo a vedere come utilizzare il software Joomla!, quindi ti consiglio di provare ad utilizzarlo un po' da solo, vedrai che è molto semplice. Comunque sia, se vuoi imparare a conoscerlo come le tue tasche, puoi trovare nel web un'infinità di guide che spiegano il suo funzionamento.

Nella scorsa lezione abbiamo cominciato a creare il nostro progetto che rappresenterà, una volta zippato, il file di installazione del nostro primo componente.
Per fare in modo che Joomla! possa riconoscere in modo corretto il nostro componente dovremo aggiungere un file di configurazione. Molto spesso i file di configurazione hanno il formato .xml, come nel caso del nostro file Manifest
XML è un linguaggio progettato per immagazzinare e trasportare dati ed è di facile lettura sia per i computer che per gli umani. La sua sintassi è molto semplice, se vuoi farti un'idea approfondita sul funzionamento puoi documentarti sul web, per esempio troviamo un'ottima guida alla pagina http://www.w3schools.com/xml/ .
Joomla! prevede un file Manifest che sia strutturato e composto in un certo modo. Per vedere come comporre questo documento, possiamo consultare la documentazione all'indirizzo https://docs.joomla.org/Manifest_files/ .
Una volta completato questo file non ci resta che racchiudere il nostro progetto in un archivio in formato zip, installarlo nell'apposita sezione nel lato admin di Joomla! e testare il nostro nuovo semplice componente.

In informatica un pattern architetturale rappresenta l'organizzazione strutturale secondo la quale un software viene sviluppato. Il software viene solitamente diviso in più livelli o sottosistemi ognuno dei quali ha un compito ben preciso ed è in relazione con gli altri livelli o sottosistemi secondo una logica ben precisa.
In questo modo è possibile suddividere un progetto in vari sottoinsiemi funzionali, con il vantaggio di rendere il codice più ordinato, leggibile e, rendendo metodico lo sviluppo, più veloce e semplice da scrivere.
Model-View-Controller (MVC) è uno dei pattern architetturali più utilizzati in ingegneria del software. Trova applicazione in vari framework, utilizzati solitamente sul lato server, sviluppati in linguaggi diversi che vanno da Swing e JSF sviluppati in Java a Django sviluppato in Python, ma è sicuramente nei framework PHP che troviamo vasto impiego.
Laravel, Symfony, Zend Framework, CakePHP sono soltanto alcuni dei più famosi framework PHP che ne fanno uso e ovviamente anche il framework Joomla! non poteva essere da meno.
Scopriamo subito in questo video come funziona e ricorda che una volta capito il funzionamento del pattern MVC conoscerai già le basi teoriche dello sviluppo tramite i framework più utilizzati al mondo!

In una web application l'entry point rappresenta il file con il quale interfacciarsi per comunicare con essa.
L'intero CMS Joomla! ha due entry point principali:
Gli entry point di Joomla! sono i file a cui il client (browser) invia le sue request.
In base alla request, l'entry point di Joomla! richiama l'entry point del componente richiesto.
L'entry point del componente richiama a sua volta il controller opportuno per soddisfare la request del client.
Sappiamo già dalla scorsa lezione a cosa serve un controller.
In questo video vediamo come implementare il controller di default del nostro component.
In Joomla! un controller è una classe che estende la classe JControllerLegacy.
Secondo la convenzione e le regole del framework di Joomla! il nome della classe di un controller deve essere composto dal nome del controller seguido dalla parola Controller.
Es. HelloWorldController
Il controller può avere varie funzioni che dal punto di vista del client e dell'utente sono dei cosiddetti task da poter richiamare.
Il task richiamato di default su un controller è il task display.
Quando un componente viene installato, i file all'interno della cartella site vengono inseriti all'interno della cartellaradice_joomla/components/com_nomeComponente, mentre i file all'interno della cartella admin e il file manifest vengono inseriti inradice_joomla/administrator/components/com_nomeComponente.

Come già visto nella lezione sul Pattern MVC, le views sono degli insiemi di file che compongono l'omonimo livello View.
Una view rappresenta un contenuto che viene mostrato all'utente, che sia una pagina web o una parte di essa. Generalmente la view rappresenta il main content (contenuto principale) di una pagina web ed è "circondata" da tutti quegli elementi definiti dal template o da altre estensioni secondarie.
Quindi per semplificare possiamo scrivere l'equazione view=pagina web.
Ogni view del nostro componente verrà inserita all'interno della cartella views.
Una view è a sua volta composta da vari file che saranno contenuti all'interno di una cartella che avrà il nome della view stessa; nel nostro caso la view greetings avrà tutti i suoi file all'interno di una cartella con tale nome.
Una view è composta, salvo casi particolari, da:
Joomla! ci permette di inserire, dove vogliamo nei menù del nostro sito, dei link alle views del nostro componente. Per fare in modo che tale funzionalità sia utilizzabile dovremmo creare all'interno della cartella tmpl il file default.xml nella maniera mostrata nel video.

Il livello Model contiene la cosiddetta logica di business dell'intera applicazione web. Infatti in questo livello è possibile reperire i dati persistenti memorizzati sul database ed elaborarli. Questa elaborazione dei dati è necessaria sia per rendere i dati utilizzabili per il livello view e quindi presentabili per l'utente, che per trasformare gli input ricevuti dall'utente in dati memorizzabili nel database.
Quindi un file model esporrà una serie di metodi getter che verranno utilizzati principalmente dal livello view per ricavare dei dati e una serie di metodi per il salvataggio, modifica e cancellazione dei dati permanenti richiamati dal livello controller.
La suddivisione logica del livello Model in vari file è a discrezione dello sviluppatore, generalmente ogni file model si occupa di una macro-funzionalità (non necessariamente di una singola tabella di database come si potrebbe pensare).

- Ecco il Nuovo Progetto: Partirai dal precedente "Hello Word" e andremo avanti!
Grazie per essere salito a bordo, l'avventura vera inizia adesso!! :-)
- Ti consiglio di seguire passo-passo questa VideoRipetizione perché serve per avere configurato a puntino il nuovo progetto che andremo a sviluppare insieme da ora in poi.
- Vedrai pure il Primo trucco: come puoi cambiare le istruzioni del tuo componente senza doverlo disinstallare e reinstallare ogni volta.
- Lo strumento più importante per uno Sviluppatore: il Debug del tuo software.
- A cosa serve il debug e come funziona.
- 2:18 Apportiamo delle modifiche al nostro workspace: crea anche te la cartella Joomla Extension Workspace
- 2:44 Guarda come si cambia Workspace su Eclipse: switch workspace
- 3:11 Importiamo il nostro progetto Hello Word della Lezione 08 dal "vecchio workspace" al nuovo appena creato.
- 3:25 Guarda l'opzione "Copy Project into Workspace" perché potrebbe farti comodo in futuro! ;-)
- 3:50 Chiama il tuo nuovo progetto Ads (che sta per "Inserzioni" dall'inglese).
- 4:20 Crea la "cartella radice" del nostro componente: com_ads
- 4:36 Copia gli elementi del progetto precendente dentro Ads e guarda quali piccole modifiche devi apportare.
- 5:00 Nella cartella com-ads rinomina helloword.php in ads.php sia nella sottocartella admin che site: guarda sul video come e dove interventire.
- 5:38 Fai refresh del tuo Workspace: vedi tutte le modifiche appena apportate?
- 5:47 Crea il solito file manifest nella cartella radice: chiamiamolo ###em
- 6:40 Andiamo a cambiare anche i contenuti del nostro Entry Point e Controller: ecco le modifiche che devi fare.
- 7:15 Cancella pure il vecchio messaggio Hello Word!
- 7:30 Guarda dove è e come modificare la stringa che dice all' Entry Point quale Controller andare a cercare (da helloword a ads).
- Facciamo la stessa operazione sia lato site che admin.
- 8:15 Installiamo il nuovo componente come hai già visto nelle VideoRipetizioni precedenti.
- 8:30 Ecco il Primo Trucco, come promesso: come fai a modificare il componente direttamente da Eclipse?
- 8:50 Guarda: come si fa a creare un nuovo Server o modificare quello già esistente? Il tutto da dentro Eclipse? Segui passo passo.
- 9:20 Le impostazioni del Server.
- 10:00 Crea un nuovo progetto: inserisci lo stesso nome della cartella di installazione di Joomla!
N.B. Le versioni di Joomla (o del CMS che stai usando come "base" per il tuo progetto Web) cambiano sicuramente nel tempo. Presta attenzione a utilizzare lo stesso nome.
- 10:50 Abilita il JavaScript: ecco la spunta che devi fare.
- 11:00 In questo modo l'intera cartella di Installazione di Joomla! è il tuo progetto! Ti piace come idea? :-)
- 11:20 Perché non provi a "esplodere" le cartelle del progetto da Eclipse? Ecco tutte le cartelle del CMS Joomla, compresa la cartella Components, con all'interno il nostro com_ads.
- 11:40 Come si installa il nostro Debugger? Utilizziamo XDebug: come si fa? Guarda tutte le semplici configurazioni.
- 12:34 Inserisci il file che verrà lanciato di default quando lancerai il debug del tuo progetto web: il file index.php
- 13:12 Guarde altre piccole configurazioni da fare su XDebug.
- 13:30 Ora su Eclipse (lato Client) il debugger è configurato correttamente. Andiamo a vedere insieme se è lo stesso anche lato Server: come si fa? Dove si va a guardare?
- 13:57 Cerca xdebug dentro il tuo file php.ini: ecco la sezione completa per le impostazioni di xDebug.
- 14:20 Ecco la pagina ufficiale con tutti i settaggi e la documentazione di xDebug: la trovi ###a href="https://xdebug.org/docs/all_settings" target="_blank" title="">Qui.
- 14:28 Guarda "al volo" ciò che ci interessa e cosa devi andare a controllare senza perdere ore di tempo dentro al tuo file php.ini!
- 14:55 Controlla se esiste il file DLL, se XDebug è abilitato (impostato a 1) e se la porta remota è 9000 ( la stessa di Eclipse).
- 14:40 Come devi fare se devi apportare modifiche a php.ini? Cosa devi riavviare?
- 16:10 Come fai a modificare il tuo Browser preferito da usare per il tuo progetto? Ecco, guarda come si fa!
- N.B. Per essere allineati ti consiglio di impostare Chrome come browser predefinito. Ciò non toglie che, in qualsiasi momento tu possa collaudare il progetto web su qualsiasi altro browser.
- 17:00 Come fai a controllare se hai impostato correttamente il tuo browser preferito?
- 18:20 Guarda come iniziare a utilizzare il Debug.
- 18:40 Cosa è un breakpoint e come si inserisce nelle linee di codice? Guarda tutto "il giro" del codice.
- 19:50 Andiamo a richiamare il nostro componente sul browser: guarda come, grazie al breakpoint ###/emfondamentale?
- 20:20 Dove trovi i valori attuali delle variabili, al momento del breackpoint? Guarda dove si trovano!
- 20:50 Guarda i bottoni e le funzioni veloci per sfruttare al meglio il debug con i breakpoint all'interno del codice! Adesso sembra una cavolata, ma fidati, più avanti e nel lavoro ti sarà vitale questa funzionalità!
- 22:35 Nel prossimo Video vedrai come usare il DataBase, passo passo...

- Qualsiasi progetto web, sito internet, portale dinamico utilizza una base dati, o data base. Iniziamo a vedere insieme come si utilizza il DataBase. Non lo hai mai visto o sei "cintura nera" di DB? Non importa: segui passo passo e fammi sapere, nel gruppo segreto: come ti stai trovando? Ci tengo!
- 0:14 Avvia EasyPHP se ancora non lo hai fatto e, su una pagina del browser scrivi: localhost e premi invio.
- 0:20 Clicca su Home, l'icona con la "casetta".
- 0:34 Clicca su Open PHPMyAdmin.
- 0:40 Ecco la pagina di Amministrazione del nostro DataBase, ovvero, PHPMyAdmin.
- 1:00 Alla tua sinistra puoi vedere tutti i DB esistenti. Dalla prima VideoRipetizione avevamo creato il DB helloword ed eccolo qua infatti!
- 1:20 Il nome del DB non è importante perché non verrà mai usato a livello di codice PHP, lo possiamo lasciare anche così oppure cambiarlo.
- 1:30 Prova a "esplodere" il DB: che cosa vedi? :-)
- N.B. Tutte le tabelle del DB hanno il prefisso davanti joomla_ proprio perchè lo avevamo scelto nella prima VideoRipetizione.
- 2:30 Guarda come si crea una nuova tabella nel nostro DB su PHPMyAdmin.
- 2:50 Ecco il naming per creare una tabella: joomla_ads_ad
- 3:00 Come si definiscono, creano le colonne di una tabella?
- 3:30 Ecco i tipi di dato: int, varchar, etc.
- 4:30 Come si salva una tabella? Guarda dove la trovi dopo averla salvata sul DataBase.
- 4:40 Iniziamo a inserire una nuova inserzione nella nostra tabella direttamenta da PHPMyAdmin. Come si fa? Clicca sul nome della tabella e spingi il bottone: Inserisci.
- 5:20 Dopo aver inserito i valori (ricordati che ID è chiave autoincrementante, quindi non va valorizzato!) guarda come si fa a salvare i valori e a visualizzarli.
- 5:43 Guarda come usare i dati appena inseriti sul DB con il nostro componente Ads.
- 6:30 Crea la nuova classe ad.php correlata alla tabella appena creata sul DB.
N.B. Ti consiglio di non utilizzare lo stesso prefisso della tabella joomla_ads_ad perché questa classe ad.php la potrai ri-usare anche su altri progetti, volendo.
- 7:00 Copia pure il nuovo model dalla precedente classe greatings.php alla nuova classe ad.php. Il software, se fatto bene, va sempre riutilizzato! ;-)
- 7:28 Guarda le modifiche da apportare alla classe ad.php
- 7:50 Iniziamo a scrivere una funzione nella classe ad.php che restituisca una inserzione inserita dall'utente. Guarda le modifiche da fare al codice e cosa puoi cancellare perché non ci serve più.
- 9:20 Quale è l'oggetto Joomla che ci fornisce un riferimento al nostro DataBase? Ecco la classe JFactory del framework Joomla!
- 9:50 Ci hai fatto caso? Da quando hai iniziato a sviluppare il framework Joomla! direttamente da Eclipse, man mano che scrivi codice ti appaiono utili suggerimenti per aiutarti a vedere, per esempio, tutte le funzioni presenti nella classe JFactory del framework Joomla!
Per ogni funzione puoi leggere affianco tutta la sua documentazione, proprio come questa funzione getDbo()
- 10:30 Come si scrive una query da eseguire sul nostro DataBase? Che cosa è una query sul DB? guardalo al minuto 10:30 del video!
- 10:40 Come puoi fare per recuperare un'inserzione in modo dinamico? Cioè con ID pari all'ID contenuto nella variabile richiesta dall'utente?
- 11:00 Ecco la query sulla nostra tabella joomla_ads_ad guarda come si scrive e cosa significa.
- 11:25 Trucchetto: visto che il modulo Joomla che stiamo sviluppando dovrà essere universale, cioè installabile e usabile facilmente su qualsiasi sito, portale web, come si fa a scrivere la query senza dover nominare il prefisso della tabella? Perché la nostra tabella joomla_ads_ad sul tuo sito potrebbe avere un prefisso totalmente diverso e la query darebbe errore! Ecco il trucco.
- 12:00 #_ a cosa servono e come li interpreta il Framework Joomla?
- 12:38 Guarda come gestire la sicurezza per le query in Joomla: il Cast per evitare SQLInjection e altre operazioni "malevoli". Come si fa il Cast?
- 13:55 Come si fa a lanciare sul DB la query appena realizzata?
- 14:20 La funzione setQuery() e i parametri che devi passarci dentro.
- 14:40 Come si esegue la query? Come funziona "tutto il giro"? Guarda le istruzioni che puoi usare e le differenze, vantaggi e svantaggi per ognuna. Quale è la migliore istruzione?
- 16:00 Facciamo un esempio pratico e guarda come funziona "tutto il giro". Hai capito come funziona ora, giusto? Se hai dubbi scrivi sul Gruppo Segreto, ti risponderò in giornata! ;-)
- 17:00 L'istruzione return; nella prossima VideoRipetizione andremo avanti facendoti vedere, dopo la query, come verrà mostrata l'inserzione sul sito internet.
- 17:38 IMPORTANTE 1: facciamo in breve riepilogo? Guarda al volo i concetti da ricordare in modo da iniziare in discesa le prossime VideoRipetizioni!
- 18:30 IMPORTANTE 2: quali sono i vantaggi di sviluppare con Eclipse direttamente dentro alla cartella del Framework Joomla?
- 19:20 IMPORTANTE 3: perchè devi utilizzare l'istruzione $db = JFactoty::getDbo(); e perché (e come) fare il Cast per evitare le SQLInjection e altre schifezze malevole che girano online?

- 0:15 Guarda come mostrare i dati estratti dal DataBase su una View, cioè come richiamare il Model appena costruito su una View che creeremo.
- 0:30 Piccole correzioni da fare al tuo codice sorgente per andare avanti senza errori.
- 1:13 Dentro la cartella views crea una nuova cartella a chiamala ad, con lo stesso nome del Model: è un particolare che fa la differenza!
- 2:00 Dopo aver copiato il "vecchio" file view.html.php vediamo cosa possiamo mantenere e cosa dobbiamo andare a modificare.
- 2:27 Invece della variabile di classe abbiamo bisogno di un'altra variabile che memorizza l'inserzione che andremo a ricavare dal DataBase.
- 3:30 Costruiamo il file Template per visualizzare su una pagina web i dati estratti dal DB con un ID dell'inserzione.
- Guarda tutte le modifiche da fare al codice PHP.
- 4:40 Guarda la corrispondenza tra classi, funzioni, variabili PHP e la tabella sul DataBase con i nomi di colonna. Questo è un aspetto importante perché con il giusto naming, anche a distanza di anni, il codice sorgente del tuo Sito Web è gestibile, modificabile e intuibile con facilità. ;-)
- Guarda l'oggetto adObject, le sue proprietà e i valori che dovrà avere al suo interno, con la corrispondenza sul DB.
- 5:00 Come si fa a prendere una proprietà da un oggetto PHP? Guarda la sintassi, davvero semplice, non credi? ;-)
- 5:45 La sintassi per tirare fuori la variabile Titolo e la variabile Descrizione dall'oggetto PHP adObject.
- 6:00 Guarda come fare a richiamare il componente lato Pannello di Amministrazione Joomla, dal backend per capirci.
- 6:40 Ecco il titolo e la descrizione dell'esempio di Annuncio, contenuto nel DB e pubblicato sul tuo Sito Internet. Ora non fare caso alla grafica, semplicemente schifosa, piuttosto concentrati sul funzionamento software. Per la grafica ci saranno VideoRipetizioni dedicate più avanti.
- 7:00 Ma che succede se interroghiamo il DataBase con un ID di un annuncio che non esiste? Cosa ci verrà risposto? Come si comporterà il software? Guardalo al minuto 7:00
- 7:22 Cosa significa l'errore che si riceve? Si sta provando ad accedere ad una proprietà di un non-oggetto?
- 7:50 Guarda come si scrive un controllo sulle proprietà degli oggetti in modo da non far vedere a schermo agli utenti brutti errori tipo questo di pochi secondi fa...
- 10:02 Dopo aver visto il perché dell'errore, grazie al debug del codice passo passo, guarda come si può scrivere un controllo per risolvere l'errore.
- 10:50 Se l'oggetto che ritorna la query su DataBase è null, cioè non esiste: come si fa a far apparire un nuovo template rispetto a quello già utilizzato, che mostri l'errore? Guarda in 1 solo minuto la soluzione!
- 11:00 Cos'è il file default_error.php ? Perché devi scegliere proprio questo nome?
- 12:00 Come si scrive nella nostra View che, se la query non genera risultati, dobbiamo visualizzare default_error.php? Guarda come si fa e ricordati di disattivare il debug.
- 13:01 Rimettiamo in debug e andiamo a vedere, passo passo, tutto il giro del codice e come è stato possibile visualizzare a schermo correttamente questo errore?
- 13:50 Guarda dove è la variabile tpl utilizzata per passare il messaggio di errore.
- 14:20 Adesso hai capito perché è consigliato scegliere il prefisso default_ in questi casi? ;-)
- 14:50 Anche in questo caso è ben chiara la logica del pattern MVC: guarda (e ascolta) le considerazioni pratiche.
- 15:00 Ecco nella logica MVC i compiti di View e Model: ci avevi fatto caso quanto la pratica rispetta anche la teoria?
- 15:30 Cosa imparerai nelle prossime VideoRipetizioni? Una cosa fondamentale: invece che andarci a scrivere a mano i dati all'interno del DB, dalle prossime VideoRipetizioni vedrai come interagire col DataBase direttamente dalla parte front end, cioè, senza usare paroloni, direttamente dal sito internet!

Come continuare a lavorare con il DataBase in modo professionale?
- 0:30 Torniamo sul nostro Model ad.php
- 0:40 Come puoi costruire una funzione PHP che, quando chiamata, ti restituisca tutte le inserzioni presenti sul DataBase? Vista più in generale: come si può scrivere una funzione PHP che ritorni tutti i valori di una determinata tabella, in base a delle condizioni scelte dall'utente?
- 1:00 La funzione getAllAds() : cosa fa rispetto alla funzione vista in precedenza? Cosa cambia nella query in confronto alla query precedente sul DataBase di Joomla?
- 2:10 Guarda al volo la Differenza tra le funzioni PHP loadRowList() e loadObjectList()
Fa attenzione alla parola List, in realtà non è molto appropriato perché qui parliamo o di Array di Array (una matrice) o di un Array di Oggetti, non di Liste ;-) Fai prima a guardare il video perché è più facile a farlo che a spiegarlo, fidati.
- 3:10 Cosa deve far ritornare, cosa deve restituire nel return la funzione PHP scelta al passo precedente?
- 4:00 Occhio al naming delle classi, delle variabili, etc. Guarda cosa cambiare! Lo so, non è vitale rispetto al buon funzionamento del progetto software, del tuo sito web professionale ma a lungo termine questi 30 secondi oggi potrebbero significare 30 ore di imprecazioni evitate domani! Bisogna sforzarzi nel ragionare in maniera pulita e in ottica di lungo termine.
- 4:50 Costruisci il nuovo template per mostrare una lista di inserzioni: come si fa? Guarda come scrivere un ciclo for
- 7:00 Guarda il ciclo for each organizzato per i tag HTML (per righe e colonne in questo caso).
- 8:24 Aggiungi anche qualche semplice attributo CSS
- 9:00 Guarda qual'è l'errore che, al 99% delle volte riceverai con questa valida tecnica e la soluzione per risolverlo in 2 minuto!
- 9:48 Analizza l'errore con il debug.
- 11:00 Perché in Joomla avviene questo errore? Come ragiona il Framework Joomla e come si risolve?
- 11:50 Cos'è che Joomla non assegna in automatico e come si riesce a uscire da questo errore?
- 12:30 Ecco il codice da aggiungere, guarda: cosa fa? A cosa serve?
- 13:50 Cosa fa lo switch sul viewName?
- 15:40 Dopo le correzioni e le spiegazioni proviamo se ora funziona il codice. Guarda se funziona e cosa restituisce.
- 16:55 Perché non prova a inserire più righe sul DB?
- Occhio: Cosa devi fare se noti lentezze lato DB? Il debug spesso rallenta il db. SOLUZIONE: utilizza un altro browser per testare il software, non usare lo stesso browser attualmente occupato già dal debug di Eclipse. ;-)
- 18:20 Ecco un breve riepilogo della VideoRipetizione appena vista: che ne pensi? Facci sapere nel Gruppo VIP Segreto!
- Nella prossima VideoRipetizione vedrai come fare altre fondamentali operazioni su DataBase.

Ecco la Soluzione definitiva per creare siti Internet Professionali e Programmare in Php!
Perché limitarti? Oltre a diventare un Professionista nello sviluppo e programmazione PHP con database MySql
Qui diventerai anche un creatore di Plugin, Moduli, Template per Joomla.
Perché CMS potenti come Joomla o Wordpress vengono sfruttati al 100% solo da pochissimi esperti del settore?
Inizia oggi stesso a far parte di questa piccola ma potente cerchia ristretta di professionisti.
Sarai poi libero di vendere i tuoi plugin o rilasciarli gratis nella community Joomla.
Capirai la logica di sviluppo MVC (Model View Control) che è alla base di qualsiasi software sviluppato bene e durevole nel tempo.
I concetti che stai per apprendere in questo corso, che usa il Framework Joomla come base di partenza, sono applicabili anche con tutti gli altri CMS che adottano la stessa logica MVC:
Laravel, Symfony, Zend Framework, CakePHP sono soltanto alcuni dei più famosi framework PHP che ne fanno uso.
Scoprirai subito, dopo pochi video, come funziona e ricorda che una volta capito il funzionamento del pattern MVC conoscerai già le basi teoriche dello sviluppo tramite i framework più utilizzati al mondo!
Tutto il codice prodotto dal vivo nel corso delle lezioni, commentato passo passo, è a tua completa disposizione: lo puoi scaricare per esercitarti e il per il tuo lavoro personale.
Come costruire Siti Web Professionali partendo da Zero?
Accedi Adesso Al Sistema Realizzato Da Uno Dei Migliori Professionisti Del Settore!
Si perché Video Lezioni di durata breve, costruite su misura per non farti annoiare, ti spiegano come costruire Siti Web Professionali in PHP, partendo da Zero!
Basta Errori in Rosso, Fallimenti e ParolaccePerché Partiamo da Zero, Passo Passo!
Brucia la Montagna di Materiale Inutile che hai accumulato Finora sul PHP!
Dio Del PHP è la soluzione definitiva per creare siti internet e programmare in Php!
Accedi a Dritte, Trucchi e Scorciatoie per Imparare uno dei Lavori Più Richiesti.
Accedi Adesso a Tecniche quasi Illegali e smetterai di Maledire Eclipse!
Segui le Lezioni Online Quando Vuoi, anche alle 3 di Notte! Da PC, Smartphone o Tablet
Scarica i Sorgenti, Testa il Codice e Fai Esperienza Concreta!
Sviluppa Un Portale Web Professionale in 9 Giorni!
Scopri i Meccanismi Segreti che Nessuno ti Dice e Scrivi Codice come Dio Comanda!
Il corso è particolarmente indicato per i web designer che vogliono aggiungere nuove competenze tecniche e introdursi in modo professionale nel mondo dello sviluppo web back end.
Che aspetti? Ci vediamo dall'altra parte?
Iscriviti e Sviluppa da subito Siti Internet Professionali (già solo con i primi 2 Video sei operativo!)
-------------------------------------------------------------------------------------------------------------------------------------
Aggiungi al Carrello senza troppi pensieri perché, grazie alla garanzia
Udemy Soddisfatto/a o Rimborsato/a entro 30 giorni, non corri nessun rischio
e puoi goderti il corso al 100% da adesso, perchè non diventi Cintura Nera di PHP?
con un click...
Ti aspetto dall'altra parte Iscriviti Adesso! :-)