Autore: Riccardo Mel Capitolo 1: Installazione e primi passi

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Autore: Riccardo Mel info@riccardomel.com. Capitolo 1: Installazione e primi passi"

Transcript

1 Guida Laravel 4 Autore: Riccardo Mel Sommario del corso Primi passi e installazione di Laravel Introduzione alle routes per gestire il progetto Guida all uso dei Controller Gestire il layout in Laravel 4: Guida al blade template system Database e migrazioni in Laravel 4 Eloquent User Management System Capitolo 1: Installazione e primi passi Quando si sviluppano applicazioni come CMS, WebApp molto complesse nasce ben presto l'esigenza di avere una serie di controlli e best practices già precompilate e pronte all'uso. Per questo motivo sono nati da molti anni a questa parte una vasta selezione di Framework PHP che possono essere utilizzati a questo scopo. Tengo subito a precisare che ne esistono moltissimi tipi, e ciscuno possiede pregi e difetti. Partite dal presupposto quindi che il framework "perfetto" non esiste, esiste solo quello che fa al caso vostro. Il mio consiglio è partire da uno (se vorrete seguire il mio ciclo di articoli sarà Laravel) e di ampliare la vostra conoscenza anche approfondendone altri. Tenete presente che in linea di massima il funzionamento "logico" dei framework è abbastanza similare, in quanto adottano ormai tutti un pattern di programmazione di tipo MVC (ModelViewController). Ecco una breve lista dei più famosi framework per agevolare lo sviluppo e rendere le nostre applicazioni stabili e sicure. Codeigniter Codeigniter è un ottimo framework php nato per essere facile e veloce. La sua curva di apprendimento è infatti forse la più facile che potete trovare. Yii Framework 1

2 Un ottimo framework non proprio facilissimo per iniziare ma estremamente veloce e sicuro. Zend Un "pilastro" dei framework php molto usato sopratutto da grandi aziende. Ultra-stabile e rodato. Alcune scelte adottate sono discutibili. Curva di apprendimento da rivedere. Symfony Un altro must-have dei framework php, anziano, community attiva ed enorme (vengono organizzati anche dei symfonyday), assolutamente completo e stabile. Contro: il più difficile da imparare sopratutto se siete al vostro primo framework. CakePHP Un framework snello e facile da usare, senza troppe pretese. Onestamente però eviterei di consigliarlo per progetti medio-grandi dati i suoi limiti. Per progetti piccoli può essere una soluzione veloce, ma per questo tipo di progetti esistono altre vie. Ok quindi perchè hai scelto Laravel? Laravel non è forse il più facile framework da cui partire. Inutile negarlo. Tuttavia è stato da subito la mia scelta dopo aver "masticato" un po' di Codeigniter. Questo perchè è estremamente completo, stabile e veloce e ha feature davvero particolari che lo rendono unico e utile in molte occasioni (avrò modo di spiegarvele passo passo in questo corso). La community è in continua crescita (fate conto che fra tutti i framework sopra-citati è il più giovane ) proprio perchè molti developer CI (CodeIgniter) si stanno spostando su Laravel. La licenza è di tipo Open Source MIT. Laravel vi permetterà di creare qualsiasi tipo di progetto dal piccolo al grande,e non vi sentirete mai "costretti" a cambiare perchè vi manca qualcosa. Installazione di Laravel 4 Passiamo ora all'installazione di Laravel. Se non avete mai visto un framework php potrebbe essere abbastanza difficile senza una guida passo-passo. Per vostra fortuna eccola: Step1: Download di Laravel 2

3 Scaricate laravel dal sito ufficiale e copiate il contenuto in una cartella nel vostro server. Per comodità useremo XAMPP come server locale e "laravel" come cartella in cui mettere i file. Step2: Installare COMPOSER Laravel utilizza Composer per gestire le dipendenze, per installarlo quindi dovrete installarlo. Andate sul sito ufficiale di Composer, scaricate e installate. Step3: abilitare ssl nel php ini in caso di errore Nel caso vi apparisse un messaggio di questo tipo: You must enable the openssl extension to download files via https Potrebbe essere necessario abilitare il supporto SSL nel vostro PHP ini. Per farlo aprite il php.ini del vostro server e cercate la stringa: ;extension=php_openssl.dll Per abilitare il supporto ssl vi basterà eliminare il punto e virgola iniziale. Step4: Spostarsi nella directory A questo punto, installato composer, aprite la console di windows (cercate cmd.exe). Dobbiamo spostarci nella directory locale in cui avete posizionato i file nel punto 1 (nel nostro caso "laravel"). Per farlo dobbiamo usare il comando "cd DIRECTORY". cd C:\\xampp\htdocs\laravel Step5: Popolare le dipendenze Una volta dentro la directory scrivete la seguente riga nella console: composer install A questo punto aspettate che vengano create le dipendenze e che tutto venga installato. Variante: Nel caso voleste saltare lo step 1 potete usare il seguente codice per creare automaticamente la directory e scaricare i file necessari di Laravel (ovviamente nello step 4 dovrete posizionarvi nella root del server e non già dentro la cartella del progetto): composer create-project laravel --prefer-dist Variante2: Per installarlo in una sotto-cartella: 3

4 composer create-project laravel/laravel --prefer-dist Step6: Aprire laravel installato Per vedere il vostro sito dovrete digitare "localhost/laravel/public" per vedere il contenuto. Ovviamente per altri progetti sostituite "laravel" con il nome della cartella in cui avete messo i files. Configurazioni essenziali La cartella essenziale per gestire la vostra app è per l'appunto "App". Per prima cosa però configuriamo l'app e il database. Per configurare l'applicazione aprite il file: "config / app.php" Per configurare il database aprite il file:"config / database.php" Laravel usa un invio via SMTP (più sicuro di PHP MAIL), per configurare l' di invio e il server SMTP aprite il file:"config / mail.php" Capire il pattern di programmazione MVC Come vi avevo già preannunciato il pattern logico di programmazione usato da Laravel è di tipo ModelViewController. Il funzionamento basilare da capire è piuttosto semplice. Controller: elabora e "smista" le varie richieste http Model: Set di istruzioni utili a gestire qualcosa (es. aggiunta articoli, modifica articoli etc) View: Template per la visualizzazione a schermo. In questo modo l'html e le funzioni progettuali rimangono "divise". In Laravel è presente altresì un file essenziale, posizionato dentro la cartella app chiamato routes.php. Di base questo file appare così: Route::get('/', function() return View::make('hello'); ); In pratica quando l'utente richiede la root del vostro sito (ovvero localhost/tuosito/public) deve essere elaborata la vista "hello" presente nella cartella view (troverete un file hello.php). Il template system usato da Laravel per le "viste" è chiamato Blade. Scopriremo meglio come creare un layout completo nella prossima lezione, Per ora iniziate a capire il funzionamento della pagina hello iniziale o provate a creare una vostro routes a partire da quelle di esempio. Conclusioni Nella prossima lezione vedremo come usare al meglio le views e creare un template usando il Blade template system. 4

5 Capitolo 2: Le routes Che cosa sono le routes e a cosa servono Come suggerisce il nome, una route è una "strada". Per capire meglio potete pensarle come uno strumento per "smistare" letteralmente le richieste http che vegono effettuate. In un pattern di sviluppo MVC e per rendere più ordinato e logico tutto l'impianto progettuale vi consiglio di evitare di effettuare il controlling direttamente dentro la route ma di passare variabili e informazioni al controller. Il tutto risulterà più ordinato e facile da gestire (sopratutto per grandi progetti). Ma cosa fa di fatto un route? Partiamo dal presupposto che ogni link ha una sua struttura essenziale. Ad esempio per la vista delle categorie potremmo pensare a una struttura simile a questa: Per le pagine invece potremmo usare: Per la vista del solo articolo singolo presente in una categoria invece: Come avete modo di notare, anche se di fatto ogni link "reale" sarà univoco, ha anche una struttura "fissa" a seconda di quale sezione deve puntare. Ovviamente il mio consiglio è quello di pianificare PRIMA di iniziare a stendere la vostra app quale sarà la struttura generale dei vostri link. Di fatto le routes servono proprio a definire quale pattern volete usare per i vostri link e decidere cosa elaborare e visualizzare al visitatore quando digita o segue un link. Routes semplici La route più semplice è già presente quando installate Laravel 4 e permette di renderizzare la home. Ecco la struttura di una routes GET (standard): //Quando il visitatore richiede la root (home) del sito Route::get('/', function() 5

6 //Visualizza Hello World return 'Hello World'; ); Come avete modo di notare la struttura per dichiarare una root è semplice: Route:: -> Dichiarazione standard (fissa) tipo di richiesta -> può essere get, post, any Pattern del link -> Lo decidete voi a seconda delle vostre esigenze e usi. Funzione da renderizzare se il pattern viene identificato -> in questa sezione potete o eseguire una funzione direttamente nella route (sconsigliato) oppure passare i dati ed eseguire un controller (consigliato) che elaborerà la richiesta e passerà il tutto a una view per renderizzare a schermo i risultati. Ecco alcuni esempi di routes utili a capire meglio (leggi i commenti al codice per maggiori informazioni). Route POST Molto utile e usato per elaborare, ad esempio, link o dati passati tramite ajax. //Se il link corrisponde al pattern cat/targetweb e viene passato via POST Route::post('cat/targetweb', function() //Visualizza questo return 'Categoria: TargetWeb'; ); Route Any Any sta a indicare che non ci importa se il link viene passato via POST o GET. In entrambi i casi elabora la richiesta. Route::any('targetweb', function() return 'Targetweb'; ); Route HTTPS Rende sicura via HTTPS la connessione Route::get('targetweb', array('https', function() return 'Must be over HTTPS'; )); 6

7 [lightgrey_box] NOTA: Avrete già capito che ogni pattern - link o richiesta deve necessariamente avere la relativa route per essere "smistato" ed elaborato da Laravel. [/lightgrey_box] In tutti questi esempi abbiamo elaborato la richiesta direttamente dentro la route specificando una function elementare. In generale la route deve però "puntare" a un controller che dovrà poi elaborare i dati (o accedere al database ad esempio). Per fare ciò dovete usare una struttura di questo tipo: //La route punta al controller "HomeController" e all'azione "showwelcome" Route::get('/', Non vi preoccupate, capirete meglio nelle prossime lezioni quando parleremo dei Controllers. Passare variabili alla routes Nella creazione di una webapp avrete bene presto la necessità di dover "passare" dati o variabili per elaborare delle richieste. Laravel ci permette di definire nel pattern delle routes elementi variabili in questo modo: //Esempio: Se digitate cat/5 come url Route::get('cat/id', function($id) //Output: La route visualizzerà: Route dinamica - Cat 5 return 'Route dinamica - Cat'.$id; ); Potete anche fare in modo che la variabile sia opzionale usando questa sintassi: //Se non c'è la variabile ID quet'ultima assume il valore di default nullo Route::get('cat/id?', function($cat= null) return $cat; ); Filtri e cenni sulle routes avanzate Grazie alle routes è possibile anche filtrare e smistare come meglio crediamo il flusso di richieste a seconda di determinate condizioni. Ecco un piccolo esempio introduttivo: //Definizione della route filtrata "old" 7

8 Route::filter('old', function() //Se il valore dell'imput age è < di 200 if (Input::get('age') < 200) //Reindirizza alla Home return Redirect::to('home'); ); Altre routes utili Routes a pattern Route::when('admin/*', 'admin'); In questo esempio comunichiamo alla routes che non ci importa che cosa c'è dopo admin/ Forzare la pagina 404 App::abort(404); Route private (accessibili solo se autenticati) //Rende privata la routes Route::group(array('before' => 'auth'), function() Route::post('targetweb/admin/id', ); 8

9 Capitolo 3: Guida all uso dei Controller Che cosa sono i Controller in Laravel4 Nella precedente lezione abbiamo visto come strutturare la nostra applicazione a seconda del link che viene richiesto dal visitatore. Lo scopo finale di una routes in una programmazione strutturata è quello di passare informazioni a qualcosa di più "complesso" capace di elaborare / filtrare eventuali informazioni per poi visualizzarle all'utente finale. Questo strumento "complesso" prende il nome di Controller. Pensiamo ad esempio ad un blog. Di base avremo bisogno di una lista di articoli da cui scegliere e di una vista singola dove l'articolo viene mostrato in modo esteso con foto/testo etc. Come avrete imparato dal precedente capitolo avremo bisogno quindi di due routes: una per la categoria e una per la single view. Ogni routes dovrà puntare a una funzione differente del controller. Ecco un esempio chiarificatore per la visualizzazione di una categoria del blog: //Routes presente nel file routes.php Route::get('blog', // app/controllers/blogcontroller.php class BlogController extends BaseController public function showcat() return View::make('blog/cat'); //Cat //Class Come avete visto in questo semplice esempio la routes ad una richiesta HTTP di questo tipo: Elabora la funzione showcat presente all'interno di BlogController. Nel nostro caso la funzione showcat consiste nel mostrare una banale vista (ovvero la pagina del blog), ma il vero potenziale dei controller sta nell'elaborazione e gestione del flusso di dati PRIMA di inviarli alla rispettiva view. Con un controller di questo tipo infatti, di fatto non viene inviato nulla alla vista "Blog/Cat" che risulterà pertanto ancora vuota senza nulla di dinamico da visualizzare. 9

10 Passare variabili ai controller ed elaborare il flusso di dati Come abbiamo detto vogliamo finalmente visualizzare qualcosa (dinamico) nella categoria. Come fare? Per prima cosa dobbiamo modificare la routes passando l'id della categoria da visualizzare in questo modo: Route::get('blog/permalink_cat/id_cat', Per ragioni SEO (e non solo) è buona abitudine passare anche il permalink della categoria. A questo punto, quando l'utente farà una richiesta di questo genere: //Oppure //etc etc Verrà elaborato il nostro controller a cui però saranno fornite le seguenti variabili: $permalink_cat $id_cat Cosa ce ne facciamo nello specifico? Bhè useremo l'id per "estrarre" dal database tutti gli articoli presenti in quella categoria e passeremo poi il tutto alla nostra vista. Per estrapolare i dati dal database ci basterà usare questo codice all'interno del nostro controller: class BlogController extends BaseController public function showcat($permalink_cat,$id_cat) //Trovo tutti gli articoli della cat attraverso l'id $articoli = Articoli::find($id_cat); //Visualizzo la pagina della categoria passando l'array articoli //contenente il loop di tutti gli articoli in cat return View::make('blog/cat', array('articoli ' => $articoli )); //Class //Function 10

11 Nota importante: per poter usare la funzionalità FIND($id) dovete aver impostato il relativo Model all'interno della cartella "models". Nel nostro caso specifico andate a creare un file Article.php all'interno della cartella "models" e metteteci dentro questo codice per abilitare le funzionalità offerte da Eloquent ORM: class Article extends Eloquent protected $table = 'articles'; public function author() return $this->belongsto('user'); Nota importante #2: Le variabili che definite nella funzione (ShowCat nel nostro caso) devono avere lo stesso ordine di quelle che avete impostato all'interno della routes. Se avessimo scritto in questo modo ad esempio: public function showcat($id_cat,$permalink_cat) avremmo avuto dei problemi, quindi fate attenzione! Codice completo: Gestione vista blog //File Routes.php Route::get('blog/permalink_cat/id_cat','BlogControl //File models/article.php class Article extends Eloquent protected $table = 'articles'; public function author() return $this->belongsto('user'); //Function //Class //File controller/blogcontroller.php class BlogController extends BaseController public function showcat($permalink_cat,$id_cat) //Trovo tutti gli articoli della cat attraverso l'id $articoli = Articoli::find($id_cat); 11

12 //Visualizzo la pagina della categoria passando l'array articoli //contenente il loop di tutti gli articoli in cat return View::make('blog/cat', array('articoli ' => $articoli )); //Class //Function Conclusioni Grazie al nostro ciclo di guide dedicate a Laravel alla fine di questa lezione dovreste avere imparato: Che cos'è Laravel e perchè usarlo Come installarlo in pochi semplici steps Come gestire le routes (richieste) per i vostri progetti Come elaborare le routes e gestire il flusso di dati (loop etc). Nella prossima lezione andremo a vedere come strutturare le "viste" ovvero come visualizzare a schermo i dati recuperati ed elaborati dal controller. 12

13 Capitolo 4: Gestire il layout in Laravel 4: guida al blade template system Struttura del template Usare il Blade template system risulta da subito piuttosto intuitivo: di fatto abbiamo un file di layout "master" ovvero una matrice. A loro volta le matrici possono poi essere opportunamente rese dinamiche con le varie views sovrascrivendo determinate sezioni precedentemente dichiarate. Poniamo sempre l'esempio del nostro blog in Laravel. Avremo di fatto bisogno di una vista per la home, una per le categorie e una per l'articolo singolo. Per realizzare il tutto ad esempio, procediamo come segue: Create un file master.blade.php all'interno della cartella views/layouts e incollate questo codice: <html> <h1>questo è il <h3>sidebar del <div </body> </html> Come vedete all'interno della matrice vanno definite tutte le "sezioni" da rendere dinamiche. Senza la dichiarazione di sezione non potremo agire successivamente sul contenuto, rendendo di fatto quell'elemento del tema statico. La suddivisione in sezioni è pertanto un'operazione molto importante e deve essere il più accurata possibile. Una volta realizzata la matrice (nel nostro caso un classico blog con sidebar) andiamo a definire le "viste" del nostro tema. Nel nostro esempio, dobbiamo ovviamente aver impostato le relative routes e controller come abbiamo visto nei capitoli precedenti. Ecco uno schema riassuntivo per visualizzare, ad esempio la home: //Esempio riassuntivo per la visualizzazione // della home tramite routes e controller 13

14 //Routes.php Route::get('/', //Controllers/TuoController.php class TuoController extends BaseController public function showwelcome() return View::make('home') //Function //Class Come avete notato per visualizzare una vista abbiamo bisogno di una funzione simile a questa: View::make('nomefileblade'). All'interno di Make dovete inserire il nome del file nome.blade.php corrispondente alla view che volete visualizzare. Se il file si trova all'interno di una cartella dovrete usare questa sintassi: View::make('cartella/nomefileblade'); Nel nostro caso: return View::make('home') Apre il file home.blade.php presente nella root della cartella app/views. Ecco la struttura interna <h1>header del sito </h1> <p>(se definite questa sezione verrà sovrascritto quando messo nel <p>questo è un contenuto dinamico generato per la <p>contenuto della home La prima 14

15 Definisce su quale matrice operare. Laravel permette infatti di specificare diverse matrici. Nel caso del blog ad esempio potrebbe essere necessario specificare la matrice home (con slider o senza sidebar ad esempio) differente da quella delle categorie e vista singola. Le Permettono di effettuare una sovra-scrittura del contenuto "statico" messo all'interno della matrice. Preparare i files e librerie del vostro tema Per preparare la struttura dei vostri files da usare nel tema vi consiglio di creare prima il tutto su carta per definire cartelle e un workflow generale dell'applicazione. IN generale le cartelle images, javascript e stylesheets vanno inserite all'interno della cartella public (non vi preoccupate, vedremo in seguito come rimuovere la cartella public e far visualizzare il sito semplicemente dalla root dello stesso). Per "linkare" le varie librerie e files dell'applicazione usate questa sintassi all'interno della vostra matrice o views del tema: //Stili CSS HTML::style('stylesheets/frontend/bootstrap.min.css') //Librerie o JS HTML::script('javascripts/frontend/theme.js') Nel caso l'applicazione disponga di un backend il mio consiglio è di suddividere ulteriormente ogni cartella in backend e frontend. Ad esempio avremo: /images backend frontend /stylesheets backend frontend e cosi via. In questo modo avrete tutto catalogato nel migliore dei modi. 15

16 Visualizzare dati Come abbiamo visto nella precedente lezione sui controller possiamo passare alla views anche variabili, array o altro. Ma come faccio a gestire la visualizzazione dei vari elementi? Ecco alcuni strumenti pronti all'uso per iniziare a comporre il vostro tema. Visualizzare variabili $variabile Escape delle variabili $variabile Includere una sub-views all'interno della Commenti in Laravel -- I commenti di questo tipo non appaiono nell'html -- Recuperare percorso assoluto all'applicazione per menu ed immagini (o altro) echo URL::to('/');?> Controlli e loop Ovviamente il vero fulcro della dinamicità di un tema Laravel è composto sicuramente dai loop o dai controlli. Nel caso del loop ricordatevi di passare alla vista l'array del contenuto come abbiamo visto nella precedente lezione: return View::make('home')->with('loop', $loop ); Ecco alcuni codici utili: Controlli (count($loop) === 1) <p>hai un solo elemento nel loop da (count($loop) > 1) <p>hai molti elementi da <p>nessun elemento trovato 16

17 Controlli selettivi // Se non sei (Auth::check()) <p> Non sei autenticato. Loop contenuto //Per ciascun elemento del ($loop as $item) <p>item: $item->id </p> <p>item: $item->titolo Cicli ($i = 0; $i < 10; $i++) Valore: Cicli (true) <p>loop infinito Gestione Form Laravel 4 permette un controllo completo sui form, per aprire un nuovo form vi basterà usare questa sintassi: Form::open(array('url' => 'add/nomeroute','method'=>'post')) //Codice form qui Form::close() [lightgrey_box] NOTA: Se il vostro form accetta i files in upload ricordatevi di aggiungere 'files' => true dentro l'array di apertura del form.[/lightgrey_box] Per i vari input invece usate una struttura che possa contenere anche eventuali errori di compilazione: <!--Input type="text" --> <div class="control-group $errors->has('title')? 'error' : '' "> 17

18 Form::label('title', 'Titolo', array('class' => 'control-label')) <div class="controls"> Form::text('title', Input::old('title')) $errors->first('title') <!--Input textarea --> <div class="control-group $errors- >has('description')? 'error' : '' "> Form::label('description', 'Descrizione', array('class' => 'control-label')) <div class="controls"> Form::textarea('description', Input::old('description'), array( 'id' => 'description', 'class'=> 'description', 'rows' => 20, )); $errors->first('description') Per le select la sintassi di codice da usare è la seguente: //Con valori fissi Form::select('status', array('elemento' => 'Elemento', 'Elemento2' => 'Elemento2')) //Con valori in array passati dal controller Form::select('categoria', $categoriesarr) Potete anche impostare un valore di default personalizzato per la select in questo modo: //Elemento2 selezionato di default Form::select('status', array('elemento' => 'Elemento', 'Elemento2' => 'Elemento2'),'Elemento2') Altri elementi utili per i form. 18

19 //Submit con classe personalizzata (utile se usate Bootstrap) Form::submit('Salva', array('class' => 'btn btnprimary')) //Elemento nascosto Form::hidden('name',$name) Helpers molto utili in Laravel Utilità per le parole echo Str::lower('Viva Targetweb'); // viva targetweb echo Str::upper('Viva Targetweb'); // VIVA TARGETWEB. echo Str::title('Viva Targetweb ciao a tutti'); // Viva Targetweb Ciao A Tutti Limitare caratteri echo Str::limit("Lorem ipsum dolor sit amet", 10); // Lorem ipsu... echo Str::limit_exact("Lorem ipsum dolor sit amet", 10); // Lorem i... Generare una stringa random echo Str::random(32); Singolare e plurale echo Str::plural('user'); // users echo Str::singular('users'); // user Creare uno slug/permalink return Str::slug('Titolo del post'); //Output: titolo-del-post 19

20 //Esempio con separatore diverso del classico trattino return Str::slug('Titolo del post', '_'); //Output: titolo_del_post Alla prossima lezione! 20

21 Migrazioni e Database in Laravel 4 Laravel 4 permette diversi modi e strategie per accedere al database ed elaborare i dati. I driver per i database supportati di default sono molto vari e comprendono: Mysql Sql Server PostgreSQL SqlLITE Configurare laravel 4 per la connessione al db La prima cosa da fare per poter usare laravel collegato ad un database è configurare il "puntamento" agendo sul file app/config/database.php 'connections' => array( 'sqlite' => array( 'driver' => 'sqlite', 'database' => DIR.'/../database/production.sqlite', 'prefix' => '', ), 'mysql' => array( 'driver' => 'mysql', 'host' => 'localhost', 'database' => 'database', 'username' => 'root', 'password' => '', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', ), 'pgsql' => array( 'driver' => 'pgsql', 21

22 ), 'host' => 'localhost', 'database' => 'database', 'username' => 'root', 'password' => '', 'charset' => 'utf8', 'prefix' => '', 'schema' => 'public', 'sqlsrv' => array( 'driver' => 'sqlsrv', 'host' => 'localhost', 'database' => 'database', 'username' => 'root', 'password' => '', 'prefix' => '', ), ), A seconda del driver impostato laravel andrà a recuperare il set di informazioni utili alla connessione al database. Ovviamente dovete impostare il driver a questa riga: 'driver' => 'mysql', Gli shortcode da inserire nella riga precedente per richiamare le varie connessioni differenti sono: mysql - MySQL sqlite - SQLite pgsql - PostgreSQL sqlsrv - SQL Server Ricordatevi di impostare altresì una connessione predefinita: 'default' => 'mysql', Le migrazioni Nella creazione di un'applicazione o sito internet, ogni developer ha l'esigenza di effettuare aggiornamenti "mirati" al suo database. Pensiamo ad esempio una task list di questo tipo: Creare tabella articoli con 4 campi base Aggiungere campo "status" ad articoli Rinomina della colonna da "category" a "cat" Aggiungere sistema di votazione articolo 22

23 Come avrete modo di notare da questo semplice esempio un sito è di fatto "vivo" e ha bisogno di continue manutenzioni, modifiche e aggiustamenti. Laravel4 vi consente di aggiungere in modo sequenziale e controllato le vostre modifiche al database tramite l'uso delle migrazioni. E non solo. Vi permette infatti, qualora qualcosa andasse storto, di effettuare un roll-back per annullare l'effetto della migrazione. Questo può sembrare poco utile ma pensate a un sito medio-grande: ogni modifica può compromettere la stabilità del sistema e ogni amministratore deve agire in modo chirurgico in modo tale da poter ripristinare il sistema in pochi istanti qualora vi siano errori. Creare ed eseguire una migration Per agire su laravel aprite la vostra console di sistema (su windows scrivete cmd nella barra di ricerca). Spostatevi nella cartella contenente l'installazione di laravel in questo modo: cd C:\\xampp\htdocs\tuainstallazionelaravel Ovviamente il percorso è puramente indicativo, e varia a seconda di dove avete installato il vostro xampp o easyphp o similari. Una volta dentro la cartella dell'installazione di laravel che volete amministrare create la vostra prima migrazione digitando questo codice: $ php artisan migrate:make create_articoli Di fatto questo codice (da digitare nel terminale!) crea un file all'interno della cartella app/database/migrations. Il nome del file è varibiabile ma al suo interno troverete: use Illuminate\Database\Migrations\Migration; class CreateArticoli extends Migration /** * Run the migrations. * void */ public function up() // /** * Reverse the migrations. 23

24 * void */ public function down() // Come vedete il codice è diviso in due public function up() e down(). Nella sezione UP andremo a mettere cosa deve fare la migrazione, nella parte DOWN andiamo a inserire cosa deve fare laravel qualora facessimo il roll-back. Ecco, nel nostro esempio come agire sul codice: /** * Run the migrations. * void */ public function up() Schema::create('articoli', function($table) $table->increments('id'); $table->text('titolo'); $table->text('descrizione'); $table->timestamps(); ); La funzione UP di questo esempio crea (create) la tabella articoli nel database con i campi: id(auto-increments), titolo (text), descrizione (text), timestamps() crea automaticamente due campi chiamati "created_at" ed "updated_at" che sono davvero molto utili in fase di gestione. Andiamo a vedere il codice della function down() /** * Reverse the migrations. * 24

25 void */ public function down() Schema::drop('articoli'); Nel nostro esempio la funzione down, per effettuare il rollback, dovrà semplicemente eliminare la tabella appena creata dal database. Pertanto conterrà semplicemente il comando drop(nometabella). Una volta che avrete "compilato" i vari metodi up e down siete pronti per effettuare il run della migrazione e rendere effettive le modifiche al database.per farlo aprite il terminale precedentemente aperto e digitate: php artisan migrate Fatto! avete creato la vostra prima tabella "articoli" all'interno del vostro database! Utile tips per la creazione di nuove tabelle tramite migrazioni Se non avete voglia ogni volta di aggiungere la parte di codice up down etc potete digitare da termina il comando: php artisan migrate:make create_articoli --create -- table=articoli che fornirà un codice di migrazione di questo tipo: use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; class CreateUsers extends Migration /** * Run the migrations. * void */ public function up() 25

Autore: Riccardo Mel info@riccardomel.com

Autore: Riccardo Mel info@riccardomel.com Guida Laravel 4 Autore: Riccardo Mel info@riccardomel.com Sommario del corso Primi passi e installazione di Laravel Introduzione alle routes per gestire il progetto Guida all uso dei Controller Gestire

Dettagli

Laravel in pratica. Una guida veloce per realizzare siti web di qualità. Francesco Lettera

Laravel in pratica. Una guida veloce per realizzare siti web di qualità. Francesco Lettera Laravel in pratica Una guida veloce per realizzare siti web di qualità Francesco Lettera This book is for sale at http://leanpub.com/laravel_in_pratica This version was published on 015-08-19 This is a

Dettagli

Laravel 4 Cookbook (IT)

Laravel 4 Cookbook (IT) Laravel 4 Cookbook (IT) Christopher Pitt, Taylor Otwell and Ionut Tanasa This book is for sale at http://leanpubcom/laravel4cookbook-it This version was published on 2015-03-27 This is a Leanpub book Leanpub

Dettagli

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012 Laboratorio Progettazione Web PHP e MySQL - Lezione 9 Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2011/2012 Architettura di una applicazione Web Browser Web HTTP Server Web PHP Dati View Control

Dettagli

L interfaccia a riga di comando di MySql

L interfaccia a riga di comando di MySql L interfaccia a riga di comando di MySql Una volta completata la procedura di installazione possiamo finalmente testare le funzionalità di MySQL. Sia che ci si trovi in ambiente Linux che Windows, l'interfaccia

Dettagli

Laboratorio Progettazione Web PHP e MySQL. Andrea Marchetti IIT-CNR 2013/2014

Laboratorio Progettazione Web PHP e MySQL. Andrea Marchetti IIT-CNR 2013/2014 Laboratorio Progettazione Web PHP e MySQL Andrea Marchetti IIT-CNR 2013/2014 Architettura di una applicazione Web Browser Web HTTP Server Web API Dati Presentation Application Storage PHP e DataBase Quando

Dettagli

COM_HELLOWORLD_PART4

COM_HELLOWORLD_PART4 COM_HELLOWORLD_PART1 Nel manifest la presenza del tag permette di gestire le versioni incrementali di aggiornamento anche grazie all uso del tag . Le installazioni successive del componente

Dettagli

Il linguaggio HTML - Parte 3

Il linguaggio HTML - Parte 3 Corso IFTS Informatica, Modulo 3 Progettazione pagine web statiche (50 ore) Il linguaggio HTML - Parte 3 Dott. Chiara Braghin braghin@dti.unimi.it Addenda Vedi tabella caratteri speciali Vedi file caratteri_speciali.html

Dettagli

2. Costruire un database con Apache, PHP e MySql

2. Costruire un database con Apache, PHP e MySql 2. Costruire un database con Apache, PHP e MySql Lo scopo di questa esercitazione è realizzare un server web e costruire un database accessibile attraverso Internet utilizzando il server Apache, il linguaggio

Dettagli

Modulo 6 Proviamo Wordpress gratuitamente

Modulo 6 Proviamo Wordpress gratuitamente Copyright Andrea Giavara wppratico.com Modulo 6 Proviamo Wordpress gratuitamente 1. Wordpress.com una piattaforma gratuita per il blogging 2. Installare Wordpress in locale 3. Creare un sito gratis con

Dettagli

Esercitazione 8. Basi di dati e web

Esercitazione 8. Basi di dati e web Esercitazione 8 Basi di dati e web Rev. 1 Basi di dati - prof. Silvio Salza - a.a. 2014-2015 E8-1 Basi di dati e web Una modalità tipica di accesso alle basi di dati è tramite interfacce web Esiste una

Dettagli

Bozza Guida ufficiale vs 1.0

Bozza Guida ufficiale vs 1.0 Bozza Guida ufficiale vs 1.0 Caratteristiche del software Videocopen è un software open source di videoconferenza. Sviluppato in php per la parte web e macromedia flash per la videoconferenza, sfrutta

Dettagli

MySQL Command Line Client: operazioni fondamentali

MySQL Command Line Client: operazioni fondamentali MySQL Command Line Client: operazioni fondamentali INTRODUZIONE Il RDBMS MySQL, oltre a fornire un applicazione che abbia un interfaccia user-friendly, ha a disposizione anche un altro client, che svolge

Dettagli

RELAZIONE SCRITTA RELATIVA AL PROGRAMMA DI GESTIONE TABELLA ATTORI

RELAZIONE SCRITTA RELATIVA AL PROGRAMMA DI GESTIONE TABELLA ATTORI Nicoletta Barbaro 4C Mercurio TRACCIA DEL PROBLEMA: RELAZIONE SCRITTA RELATIVA AL PROGRAMMA DI GESTIONE TABELLA ATTORI Un'azienda che distribuisce film in formato dvd chiede ad una software house(4c mercurio)

Dettagli

PHP 5. PHP ed i database. Database e tabelle. Struttura di un DB relazionale. Accesso a database

PHP 5. PHP ed i database. Database e tabelle. Struttura di un DB relazionale. Accesso a database PHP ed i database PHP 5 Accesso a database PHP funziona con molti database relazionale che includono: Oracle Access Postgres SQL Server MySQL Useremo MySQL poiché è semplice da usare, gratuito e molto

Dettagli

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2012/2013

Laboratorio Progettazione Web PHP e MySQL - Lezione 9. Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2012/2013 Laboratorio Progettazione Web PHP e MySQL - Lezione 9 Andrea Marchetti IIT-CNR andrea.marchetti@iit.cnr.ita 2012/2013 Architettura di una applicazione Web Browser Web HTTP Server Web API Dati Presentation

Dettagli

PHP + MySQL. Programmazione lato server. Cosa vediamo. MySQL. MySQL: comandi utili. MySQL: accesso al server. web server.

PHP + MySQL. Programmazione lato server. Cosa vediamo. MySQL. MySQL: comandi utili. MySQL: accesso al server. web server. Cosa vediamo web server Programmazione lato server PHP + MySQL request response web client database server Cosa vediamo MySQL browser Apache PHP engine MySQL server MySQL is a very fast, robust, relational

Dettagli

Archiviare messaggi da Microsoft Exchange 2003

Archiviare messaggi da Microsoft Exchange 2003 Archiviare messaggi da Microsoft Exchange 2003 Nota: Questo tutorial si riferisce specificamente all'archiviazione da Microsoft Exchange 2003. Si dà come presupposto che il lettore abbia già installato

Dettagli

CREARE UNA TAB DI FACEBOOK SULLA PAGINA AZIENDALE

CREARE UNA TAB DI FACEBOOK SULLA PAGINA AZIENDALE CREARE UNA TAB DI FACEBOOK SULLA PAGINA AZIENDALE Autore: KATIA D ORTA (@katiatrew) in collaborazione con MARISA FAUSONE (@Mfausone) 1 Questa guida è liberamente scaricabile sul sito cowinning.it 2 Questa

Dettagli

PHP E MYSQL CREAZIONE DI UN NUOVO DATABASE DAL PHPMYADMIN

PHP E MYSQL CREAZIONE DI UN NUOVO DATABASE DAL PHPMYADMIN PHP E MYSQL CREAZIONE DI UN NUOVO DATABASE DAL PHPMYADMIN Il metodo migliore per creare nuovi DB è quello di usare l interfaccia del PHPMYADMIN (che viene installata automaticamente con il pacchetto easy

Dettagli

Costruzione di Sit Web con PHP e MySQL. Lezione 7 - Esercitazione - Introduzione a MySQL: le tabelle, i tpi di dato, le query

Costruzione di Sit Web con PHP e MySQL. Lezione 7 - Esercitazione - Introduzione a MySQL: le tabelle, i tpi di dato, le query Costruzione di Sit Web con PHP e MySQL Lezione 7 - Esercitazione - Introduzione a MySQL: le tabelle, i tpi di dato, le query Esercitazione In questa lezione si farà insieme una seconda esercitazione che

Dettagli

PHP + MySQL. Programmazione lato server. Cosa vediamo. web server. database server. request. response. web client

PHP + MySQL. Programmazione lato server. Cosa vediamo. web server. database server. request. response. web client Programmazione lato server PHP + MySQL Cosa vediamo web server request response web client database server 1 Cosa vediamo browser Apache PHP engine MySQL server MySQL MySQL is a very fast, robust, relational

Dettagli

Nozioni di base sull utilizzo di PHP e di MySQL

Nozioni di base sull utilizzo di PHP e di MySQL Nozioni di base sull utilizzo di PHP e di MySQL Che cos è PHP? Mi sento in dovere prima di iniziare ad illustrare le nozioni di base di PHP introdurre dicendo PHP che cos è in sostanza; fino a qualche

Dettagli

PHP 5. Accesso a database

PHP 5. Accesso a database PHP 5 Accesso a database PHP ed i database PHP funziona con molti database relazionali che includono: Oracle Access Postgres SQL Server MySQL Useremo MySQL poiché è semplice da usare, gratuito e molto

Dettagli

Guida all installazione e configurazione di Joomla 1.5

Guida all installazione e configurazione di Joomla 1.5 Guida realizzata e rilasciata dallo staff di Joomlaservice.org Joomla 1.5 lascia finalmente la fase beta per la RC1, in attesa di approdare alla versione stabile. Le differenze tra un installazione di

Dettagli

CakePHP - 101 Creare un'applicazione con CakePHP. massimoi@impronta48.it http://impronta48.it

CakePHP - 101 Creare un'applicazione con CakePHP. massimoi@impronta48.it http://impronta48.it CakePHP - 101 Creare un'applicazione con CakePHP massimoi@impronta48.it http://impronta48.it Come Installare cakephp 1.3.x 1) Mi collego a https://github.com/cakephp/cakephp/archives/1.3 2) Salvo il file

Dettagli

OwnCloud 8 su rete lan aziendale (una specie di Gdrive privato)

OwnCloud 8 su rete lan aziendale (una specie di Gdrive privato) Augusto Scatolini (webmaster@comunecampagnano.it) (a.scatolini@linux4campagnano.net) (campagnanorap@gmail.com) Miniguida n. 216 Ver. febbraio 2015 OwnCloud 8 su rete lan aziendale (una specie di Gdrive

Dettagli

Corso di Web Programming

Corso di Web Programming Corso di Web Programming 11. PHP - Complementi Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di Laurea in Informatica Applicata

Dettagli

MYSQL. Avviare MySQL Per avviare il server MySQL basta lanciare il Servizio Mysql presente (aggiunto) tra i servizi di sistema.

MYSQL. Avviare MySQL Per avviare il server MySQL basta lanciare il Servizio Mysql presente (aggiunto) tra i servizi di sistema. Documento creato da Andrea www.ceccherini.net Per informazioni : andrea@ceccherini.net MYSQL MySQL è un database piuttosto popolare, reso ancor più interessante da almeno due fattori: primo, la sua gratuità;

Dettagli

Corso Base. Lezione 6. Maurizio Cozzetto, Francesco Sarasini

Corso Base. Lezione 6. Maurizio Cozzetto, Francesco Sarasini Corso Base Lezione 6 Maurizio Cozzetto, Francesco Sarasini Database SQLite (1/2) Android provides full support for SQLite databases. Any databases you create will be accessible by name to any class in

Dettagli

Clicca sulle immagini di preview qui sotto per aprire e visualizzare alcuni esempi di presentazioni dinamiche create con Focusky:

Clicca sulle immagini di preview qui sotto per aprire e visualizzare alcuni esempi di presentazioni dinamiche create con Focusky: Focusky Focusky è l innovativo e professionale software progettato per creare resentazioni interattive ad alto impatto visivo e ricco di effetti speciali (zoom, transizioni, flash, ecc..). A differenza

Dettagli

INSTALLAZIONE DI JOOMLA! Guida alla installazione di Joomla!

INSTALLAZIONE DI JOOMLA! Guida alla installazione di Joomla! Guida di Virtuemart INSTALLAZIONE DI JOOMLA! Guida alla installazione di Joomla! INDICE INDICE... 1 INTRODUZIONE... 2 DONWLOAD... 2 INSTALLAZIONE... 2 REQUISITI MINIMI... 3 PASSAGGIO 1... 4 PASSAGGIO 2...

Dettagli

WHITE PAPER Per Sql-Injection si intendono comunemente tutti quegli attacchi ad un'applicazione, solitamente Web, in cui il programma esegue query su di un database SQL utilizzando variabili passate dall'utente

Dettagli

GPL4i DMS-WEB. Copyright 2010 2014 JetLab S.r.l. Tutti i diritti riservati

GPL4i DMS-WEB. Copyright 2010 2014 JetLab S.r.l. Tutti i diritti riservati GPL4i DMS-WEB Copyright 2010 2014 JetLab S.r.l. Tutti i diritti riservati Copyright 2014 2015 JetLab S.r.l. Tutti i diritti riservati GPL4i è un marchio di JetLab S.r.l. Microsoft, Windows, Windows NT,

Dettagli

Lezione 1. Joomla 2.5

Lezione 1. Joomla 2.5 Lezione 1 Joomla 2.5 Joomla: introduzione Joomla è un cms (content managemente system) opensource. In pratica è un software che permette di realizzare siti web dinamici (l utente interroga il server, il

Dettagli

INSTALLAZIONE JOOMLA SU SPAZIO WEB FREE ALTERVISTA

INSTALLAZIONE JOOMLA SU SPAZIO WEB FREE ALTERVISTA INSTALLAZIONE JOOMLA SU SPAZIO WEB FREE ALTERVISTA Questa vuole essere una breve tutorial su come installare Joomla su uno spazio Web gratuito, in particolare faremo riferimento ai sottodomini gratuitamente

Dettagli

Infine abbiamo anche effettuato un operazione di traduzione in italiano delle due aree principali di Joomla.

Infine abbiamo anche effettuato un operazione di traduzione in italiano delle due aree principali di Joomla. Joomla dopo l installazione Lezione 2 Joomla dopo l installazione Premessa Abbiamo nella lezione precedente installato offline la piattaforma di Joomla. Ricapitolando abbiamo prima configurato EasyPhp

Dettagli

Il sito della scuola con Joomla

Il sito della scuola con Joomla sabato 26 ottobre 2013 LINUX DAY 2013 E OPEN SPACE SCUOLA Il sito della scuola con Joomla a cura di Gianluigi Pelizzari gianpelizzari@yahoo.it Il sito della scuola con Joomla Joomla è un progetto nato

Dettagli

The world s most advanced class on PostgreSQL o quasi! 4 Marzo 8 Aprile 2015. L'Antipasto 11 Marzo

The world s most advanced class on PostgreSQL o quasi! 4 Marzo 8 Aprile 2015. L'Antipasto 11 Marzo The world s most advanced class on PostgreSQL o quasi! 4 Marzo 8 Aprile 2015 L'Antipasto 11 Marzo Riepilogo della puntata precedente ##################### Avviamo la macchina virtuale #####################

Dettagli

Indice generale. Il BACK-END...3 COME CONFIGURARE JOOMLA...4 Sito...4 Locale...5 Contenuti...5

Indice generale. Il BACK-END...3 COME CONFIGURARE JOOMLA...4 Sito...4 Locale...5 Contenuti...5 Guida a Joomla Indice generale Il BACK-END...3 COME CONFIGURARE JOOMLA...4 Sito...4 Locale...5 Contenuti...5 Il BACK-END La gestione di un sito Joomla ha luogo attraverso il pannello di amministrazione

Dettagli

Archiviare messaggi da Microsoft Office 365

Archiviare messaggi da Microsoft Office 365 Archiviare messaggi da Microsoft Office 365 Nota: Questo tutorial si riferisce specificamente all'archiviazione da Microsoft Office 365. Si dà come presupposto che il lettore abbia già installato MailStore

Dettagli

Tecnologie e Programmazione Web

Tecnologie e Programmazione Web Presentazione 1 Tecnologie e Programmazione Web Html, JavaScript e PHP RgLUG Ragusa Linux Users Group SOftware LIbero RAgusa http://www.solira.org - Nunzio Brugaletta (ennebi) - Reti 2 Scopi di una rete

Dettagli

By E.M. note sull'uso di GAMBAS

By E.M. note sull'uso di GAMBAS By E.M. note sull'uso di GAMBAS GAMBAS viene installato sotto Xubuntu nella directory: /usr/share/gambas2 link problema su uso dell'esempio SerialPort http://gambasrad.org/zforum/view_topic?topic_id=1057

Dettagli

GEODROP APPLICATIONS. Developer. Public. Private. Reseller

GEODROP APPLICATIONS. Developer. Public. Private. Reseller GEODROP APPLICATIONS Public Developer Reseller Private Le Applicazioni di Geodrop Guida per Developer alle Applicazioni Guida alle applicazioni v1.1-it, 21 Dicembre 2012 Indice Indice...2 Cronologia delle

Dettagli

Lavorare con MySQL Parte Prima.

Lavorare con MySQL Parte Prima. Lavorare con MySQL Parte Prima. Data la particolarità dell argomento, ho deciso di dividerlo in due lezioni. Nella prima, si parlerà diffusamente di MySQL, cos è un DBMS, cos è l SQL, i campi supportati

Dettagli

MODULO 1 PARTE 3. Programmazione (scripting) server-side con PHP 3.b Interazione con un database (MySQL Server)

MODULO 1 PARTE 3. Programmazione (scripting) server-side con PHP 3.b Interazione con un database (MySQL Server) MODULO 1 PARTE 3 Programmazione (scripting) server-side con PHP 3.b Interazione con un database (MySQL Server) Goy - a.a. 2009/2010 Programmazione Web 1 Informazione persistente Se vogliamo tener traccia

Dettagli

Remote SQL Command Execution

Remote SQL Command Execution Remote SQL Command Execution Spesso si ha a che fare con SQL Injection se ci si trova nel campo della sicurezza informatica, ma non sempre si è a conoscenza di quanto una vulnerabilità del genere può essere

Dettagli

GUIDA ALLA PRIMA INSTALLAZIONE DI LIDRASHOP v 1.6.X

GUIDA ALLA PRIMA INSTALLAZIONE DI LIDRASHOP v 1.6.X GUIDA ALLA PRIMA INSTALLAZIONE DI LIDRASHOP v 1.6.X In questa guida saranno analizzati i semplici passaggi per la messa in opera del motore di e-commerce LIDRASHOP. Prima però ecco alcuni accorgimenti

Dettagli

PC Crash Course: OBIETTIVI

PC Crash Course: OBIETTIVI PC Crash Course: OBIETTIVI 1. PC: uno strumento 2. Microsoft Windows XP: alcuni concetti chiave della interfaccia grafica 3. File System: file, direttori, link, 4. Il prompt dei comandi 5. Un occhiata

Dettagli

COSA FARE APPENA ACQUISTATA UNA SMARTBOARD TM

COSA FARE APPENA ACQUISTATA UNA SMARTBOARD TM COSA FARE APPENA ACQUISTATA UNA SMARTBOARD TM Una volta acquistata una Lavagna Interattiva Multimediale SMARTBoard TM, è necessario effettuare una procedura di registrazione al fine di:. Estendere la garanzia

Dettagli

Guida a PhpMyAdmin. Introduzione

Guida a PhpMyAdmin. Introduzione Guida a PhpMyAdmin Introduzione Non è detto che, per installare uno script, si debba necessariamente conoscere il Php. I puristi della programmazione inorridiranno certamente leggendo questa frase ma è

Dettagli

[HOW-TO] Installazione e configurazione DBMS

[HOW-TO] Installazione e configurazione DBMS [HOW-TO] Installazione e configurazione DBMS Ai fini del corso sarà fondamentale possedere le capacità di installare e configurare correttamente almeno un DBMS sul proprio calcolatore. Vedremo in dettaglio

Dettagli

INDICE. DATEX il manuale edizione aprile 2011

INDICE. DATEX il manuale edizione aprile 2011 DATEX MANUALE INDICE INDICE... 1 INTRODUZIONE... 2 PRINCIPALI CARATTERISTICHE... 3 IL PRIMO COLLEGAMENTO... 4 INTERFACCIA... 5 DEFINIZIONE DELLE OPERAZIONI E DEI PROFILI... 6 INGRESSO CON PASSWORD NEL

Dettagli

Portale Materiali Grafiche Tamburini. Grafiche Tamburini Materials Portal

Portale Materiali Grafiche Tamburini. Grafiche Tamburini Materials Portal Portale Materiali Grafiche Tamburini Documentazione utente italiano pag. 2 Grafiche Tamburini Materials Portal English user guide page 6 pag. 1 Introduzione Il Portale Materiali è il Sistema Web di Grafiche

Dettagli

2. Creazione di moduli per Drupal: un tutorial.

2. Creazione di moduli per Drupal: un tutorial. Pubblicato da Drupal Italia (www.drupalitalia.org) per gentile concessione di Antonio Santomarco Capitolo 2. 2. Creazione di moduli per Drupal: un tutorial. 2.1. Introduzione. Come detto in precedenza,

Dettagli

Metodi per la Gestione dei Dati (lezioni di laboratorio)

Metodi per la Gestione dei Dati (lezioni di laboratorio) Università degli Studi di Modena e Reggio Emilia Facoltà di Scienze della Comunicazione e dell Economia Corso di Laurea in Comunicazione e Marketing Titolare del corso: ing. Stefano SETTI Lezioni di laboratorio

Dettagli

DNNCenter. Installazione standard di DotNetNuke 5. per Windows Vista. Installazione Standard DotNetNuke 5 per Windows Vista

DNNCenter. Installazione standard di DotNetNuke 5. per Windows Vista. Installazione Standard DotNetNuke 5 per Windows Vista DNNCenter Installazione standard di DotNetNuke 5 per Windows Vista Copyright OPSI Srl www.opsi.it Pag. 1 of 28 INDICE 1. INTRODUZIONE... 3 1.1. Pre-requisiti... 3 2. DOWNLOAD DOTNETNUKE... 4 2.1. Download

Dettagli

CMS (Content Management System) della categoria Open Source

CMS (Content Management System) della categoria Open Source Una panoramica sui CMS (Content Management System) CMS (Content Management System) della categoria Open Source Per la piattaforma PHP/MYSQL e considerata l esigenza sempre più ricorrente di realizzare

Dettagli

GNred Ver1.5 Manuale utenti

GNred Ver1.5 Manuale utenti GNred Ver1.5 Manuale utenti [ultima modifica 09.06.06] 1 Introduzione... 2 1.1 Cos è un CMS?... 2 1.2 Il CMS GNred... 2 1.2.1 Concetti di base del CMS GNred... 3 1.2.2 Workflow... 3 1.2.3 Moduli di base...

Dettagli

CONTENUTI 1. INTRODUZIONE...3 2. CONCETTI BASICI SU EQUINOX CMS XPRESS...5 3. ACCESSO A EQUINOX CMS XPRESS...9 4. PAGINA D INIZIO...

CONTENUTI 1. INTRODUZIONE...3 2. CONCETTI BASICI SU EQUINOX CMS XPRESS...5 3. ACCESSO A EQUINOX CMS XPRESS...9 4. PAGINA D INIZIO... CONTENUTI 1. INTRODUZIONE...3 DEFINIZIONE...3 ELEMENTI DEL SERVIZIO...3 TECNOLOGIA E OPERAZIONE...3 WORKFLOW E GRAFICO DI PROCESSI...4 2. CONCETTI BASICI SU EQUINOX CMS XPRESS...5 STRUTTURA...5 OGGETTI...5

Dettagli

Single Sign-On su USG

Single Sign-On su USG NEXT-GEN USG Single Sign-On su USG Windows Server 2008 e superiori Client SSO ZyXEL, scaricabile da ftp://ftp.zyxel.com/sso_agent/software/sso%20agent_1.0.3.zip già installato sul server Struttura Active

Dettagli

Vi ricordiamo che per qualsiasi problema tecnico o informazione potete contattare info@eduitalia.org oppure Francesco al 3357761103.

Vi ricordiamo che per qualsiasi problema tecnico o informazione potete contattare info@eduitalia.org oppure Francesco al 3357761103. Gentili Associati, in questi ultimi tempi abbiamo lavorato per sviluppare un software capace di far gestire direttamente alle scuole la propria presenza sul sito di Eduitalia. Tramite la registrazione

Dettagli

MySQL Database Management System

MySQL Database Management System MySQL Database Management System http://www.mysql.com/ DATABASE RELAZIONALI Un database è una collezione strutturata di informazioni. I database sono delle strutture nelle quali è possibile memorizzare

Dettagli

Form Editor. Dove NomeProfilo è personalizzabile.

Form Editor. Dove NomeProfilo è personalizzabile. Form Editor Il tema permette di generare automaticamente dei moduli per la raccolta di dati in tre semplici step: 1. Si crea una tabella nel database per la raccolta dei dati. Per la creazione si parte

Dettagli

RELAZIONE SCRITTA RELATIVA AL PROGRAMMA DI GESTIONE CISALFA

RELAZIONE SCRITTA RELATIVA AL PROGRAMMA DI GESTIONE CISALFA Bianca Pasetti TRACCIA DEL PROBLEMA: RELAZIONE SCRITTA RELATIVA AL PROGRAMMA DI GESTIONE CISALFA Il negozio Cisalfa vuole tener traccia dei prodotti acquistati dai clienti. Di ogni cliente si vuole conoscere

Dettagli

Il sito della scuola con

Il sito della scuola con Incontro in aula virtuale del 24 gennaio 2013 Il sito della scuola con La sicurezza di un sito Joomla Il Pacchetto Joomla pasw quickstart versione 2.0. a cura di Gianluigi Pelizzari IIS Fantoni Clusone

Dettagli

Modulo 4 Il pannello amministrativo dell'hosting e il database per Wordpress

Modulo 4 Il pannello amministrativo dell'hosting e il database per Wordpress Copyright Andrea Giavara wppratico.com Modulo 4 Il pannello amministrativo dell'hosting e il database per Wordpress 1. Il pannello amministrativo 2. I dati importanti 3. Creare il database - Cpanel - Plesk

Dettagli

Manuale Super Responder

Manuale Super Responder Manuale Super Responder Questo programma viene distribuito gratuitamente in allegato al Manuale Co m e fare l email Marketing co n l AutoRe s p o n d e r 1 Caratteristiche principali di Super Responder:

Dettagli

DUAL BOOT WINDOWS-LINUX.

DUAL BOOT WINDOWS-LINUX. DUAL BOOT WINDOWS-LINUX. Realizzato da Jona Lelmi Nickname PyLinx Iniziato il giorno 5 Luglio 2010 - terminato il giorno 8 Luglio 2010 email autore: jona.jona@ymail.com Canale Youtube http://www.youtube.com/user/pylinx

Dettagli

FileMaker Pro 12. Guida di FileMaker Server

FileMaker Pro 12. Guida di FileMaker Server FileMaker Pro 12 Guida di FileMaker Server 2007 2012 FileMaker, Inc. Tutti i diritti riservati. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker è un marchio di FileMaker,

Dettagli

MySQL Controllare gli accessi alla base di dati A cura di Silvio Bonechi per http://www.pctrio.com

MySQL Controllare gli accessi alla base di dati A cura di Silvio Bonechi per http://www.pctrio.com MySQL Controllare gli accessi alla base di dati A cura di Silvio Bonechi per http://www.pctrio.com 15.03.2006 Ver. 1.0 Scarica la versione pdf ( MBytes) Nessuno si spaventi! Non voglio fare né un manuale

Dettagli

Archiviare messaggi da Microsoft Exchange 2007

Archiviare messaggi da Microsoft Exchange 2007 Archiviare messaggi da Microsoft Exchange 2007 Nota: Questo tutorial si riferisce specificamente all'archiviazione da Microsoft Exchange 2007. Si dà come presupposto che il lettore abbia già installato

Dettagli

Pannello controllo Web www.smsdaweb.com. Il Manuale

Pannello controllo Web www.smsdaweb.com. Il Manuale Pannello controllo Web www.smsdaweb.com Il Manuale Accesso alla piattaforma Accesso all area di spedizione del programma smsdaweb.com avviene tramite ingresso nel sistema via web come se una qualsiasi

Dettagli

Let's start! File > New Project > Ruby > Ruby on Rails Application (events)

Let's start! File > New Project > Ruby > Ruby on Rails Application (events) La nuova versione di Netbeans 6 consente di lavorare con Ruby On Rails, un potente e nuovissimo framework per lo sviluppo e la prototipazione di applicazioni web, che fa uso del design-pattern MVC (Model-View-Controller,

Dettagli

MANUALE ESSENZIALE MYSQL

MANUALE ESSENZIALE MYSQL Autore: Classe: Luciano Viviani TERZA INFORMATICA SERALE (3IS) Anno scolastico: 2003/2004 Scuola: Itis Euganeo MANUALE ESSENZIALE MYSQL Manuale La dispensa vuole fornire agli studenti delle classi quinte

Dettagli

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER L architettura CLIENT SERVER è l architettura standard dei sistemi di rete, dove i computer detti SERVER forniscono servizi, e computer detti CLIENT, richiedono

Dettagli

Introduzione a Wordpress. Vincenzo Bianculli

Introduzione a Wordpress. Vincenzo Bianculli Introduzione a Wordpress Vincenzo Bianculli A chi rivolgere il proprio sito/blog? Da cosa partire - Conoscere e padroneggiare l argomento - La conoscenza del materiale già presente su internet - Essere

Dettagli

Guida rapida all installazione di NX7 per Windows

Guida rapida all installazione di NX7 per Windows Guida rapida all installazione di NX7 per Windows Lo scopo di questo documento é di fornire una guida sintetica all installazione della versione NX7 di Unigraphics. Alla fine di questo documento, potete

Dettagli

Lezione nr. 5. Per creare un modulo è necessario avere delle conoscenze di base del linguaggio HTML. Niente di difficile ovviamente!

Lezione nr. 5. Per creare un modulo è necessario avere delle conoscenze di base del linguaggio HTML. Niente di difficile ovviamente! Lezione nr. 5 >> Come creare un modulo Web I moduli web sono delle strutture fondamentali per ogni sito web e la loro conoscenza ti permetterà di risolvere almeno il 60% delle problematiche di gestione

Dettagli

4 Pubblicare i dati MySQL

4 Pubblicare i dati MySQL 4 Pubblicare i dati MySQL sul Web Eccoci: questo è ciò che probabilmente vi interessava di più! In questo capitolo imparerete le procedure per prendere delle informazioni contenute in un database per poi

Dettagli

PHP: Hypertext Preprocessor

PHP: Hypertext Preprocessor Corso di Laurea Specialistica in Ingegneria Informatica Corso di Linguaggi e Tecnologie Web A. A. 2011 - PHP: Hypertext Preprocessor Caratteristiche avanzate Eufemia Tinelli 1 Contenuti PHP ad oggetti

Dettagli

Nautilus Installazione Aggiornato a versione 2.4.1092

Nautilus Installazione Aggiornato a versione 2.4.1092 Nautilus Installazione Aggiornato a versione 2.4.1092 IMPORTANTE: NON INSERIRE LA CHIAVE USB DI LICENZA FINO A QUANDO RICHIESTO NOTA: se sul vostro computer è già installato Nautilus 2.4, è consigliabile

Dettagli

www.spaghettibrain.com Manuale di Installazione PHPNuke in Italiano Edizione Visuale By CLA (webmaster@spaghettibrain.com)

www.spaghettibrain.com Manuale di Installazione PHPNuke in Italiano Edizione Visuale By CLA (webmaster@spaghettibrain.com) www.spaghettibrain.com Manuale di Installazione PHPNuke in Italiano Edizione Visuale By CLA (webmaster@spaghettibrain.com) Cosa è PHPNuke Perché Spaghettibrain Cosa Serve per installarlo Installazione

Dettagli

PHP Survival Kit (Ovvero gestire un database MySQL tramite PHP)

PHP Survival Kit (Ovvero gestire un database MySQL tramite PHP) PHP Survival Kit (Ovvero gestire un database MySQL tramite PHP) Augusto Scatolini (webmaster@comunecampagnano.it) (a.scatolini@linux4campagnano.net) Miniguida n. 183 Ver. 1.0 aprile 2013 La prima guida

Dettagli

Corso di Informatica. Prerequisiti. Modulo T3 B3 Programmazione lato server. Architettura client/server Conoscenze generali sui database

Corso di Informatica. Prerequisiti. Modulo T3 B3 Programmazione lato server. Architettura client/server Conoscenze generali sui database Corso di Informatica Modulo T3 B3 Programmazione lato server 1 Prerequisiti Architettura client/server Conoscenze generali sui database 2 1 Introduzione Lo scopo di questa Unità è descrivere gli strumenti

Dettagli

Laboratorio di Sistemi Programmare in Php con NetBeans Php. Programmare in Php con Xampp e NetBeans IDE

Laboratorio di Sistemi Programmare in Php con NetBeans Php. Programmare in Php con Xampp e NetBeans IDE Programmare in Php con Xampp e NetBeans IDE NetBeans è un IDE ben noto ai programmatori Java. Con esso si possono infatti costruire applicazioni desktop professionali dotate di interfaccia grafica, applicazioni

Dettagli

Benvenuti. Luca Biffi, Direttore Tecnico di Achab supporto@achab.it. Achab techjam Archive Server for MDaemon

Benvenuti. Luca Biffi, Direttore Tecnico di Achab supporto@achab.it. Achab techjam Archive Server for MDaemon Benvenuti Luca Biffi, Direttore Tecnico di Achab supporto@achab.it Achab techjam Archive Server for MDaemon Usare Archive Server for MDaemon al 100%: guida alle funzionalità "nascoste" Achab 2 Agenda Come

Dettagli

BIOCASE: Funzionamento di base

BIOCASE: Funzionamento di base BIOCASE: Funzionamento di base Descrizione completa dell'installazione al link: http://ww3.bgbm.org/bps2/installation http://wiki.bgbm.org/bps/index.php/installation Lavorare con biocase Una volta completata

Dettagli

Posta elettronica per gli studenti Email for the students

Posta elettronica per gli studenti Email for the students http://www.uninettunouniverstiy.net Posta elettronica per gli studenti Email for the students Ver. 1.0 Ultimo aggiornamento (last update): 10/09/2008 13.47 Informazioni sul Documento / Information on the

Dettagli

Se c'è un problema con la configurazione di PHP, il risultato del comando darà alcuni consigli su cosa sistemare e su come farlo.

Se c'è un problema con la configurazione di PHP, il risultato del comando darà alcuni consigli su cosa sistemare e su come farlo. Introduzione CELIA (Corpus Elettronico delle Lingue dell Italia Antica) è un software open source per la gestione dell epigrafia dei corpus di lingue antiche. È scritto in PHP grazie al framework symfony

Dettagli

Manuale Utente. Contents. Your journey, Our technology. 6. Come aggiornare le mappe 6. 1. Introduzione 2. 2. Installazione di Geosat Suite 2

Manuale Utente. Contents. Your journey, Our technology. 6. Come aggiornare le mappe 6. 1. Introduzione 2. 2. Installazione di Geosat Suite 2 Manuale Utente Contents 1. Introduzione 2 2. Installazione di Geosat Suite 2 3. Prima connessione 2 4. Operazioni Base 3 4.1 Come avviare la Suite 3 4.2 Come chiudere la Suite 4 4.3 Come cambiare la lingua

Dettagli

Appunti di MySql. Evoluzione di un tutorial di base di mysql, scritto da Etel Sverdlov.

Appunti di MySql. Evoluzione di un tutorial di base di mysql, scritto da Etel Sverdlov. Appunti di MySql Evoluzione di un tutorial di base di mysql, scritto da Etel Sverdlov. Indice generale avviare la shell mysql...2 comandi SQL per la gestione del database (DDL)...2 visualizzare l'elenco

Dettagli

Gestione di un Forum

Gestione di un Forum Indice generale Gestione di un Forum Analisi... 1 Schema ER... 2 Dizionario dei dati... 3 Schema logico... 3 Scelte implementative... 4 DataBase utilizzato... 8 SQL... 11 Manuale d'uso... 12 Analisi Problema

Dettagli

Esercitazione: Il DBMS MySQL

Esercitazione: Il DBMS MySQL Laurea in Ingegneria Informatica SAPIENZA Università di Roma Insegnamento di Basi di Dati Esercitazione: Il DBMS MySQL Marco Console Aspetti Organizzativi Marco Console Sito: www.dis.uniroma1.it/~console

Dettagli

La principale particolarità del web dinamico è la possibilità di variare i contenuti delle pagine in base alle richieste degli utenti.

La principale particolarità del web dinamico è la possibilità di variare i contenuti delle pagine in base alle richieste degli utenti. La principale particolarità del web dinamico è la possibilità di variare i contenuti delle pagine in base alle richieste degli utenti. Questa possibilità si materializza attraverso i meccanismi che permettono

Dettagli

1 - MANUALE INSTALLAZIONE ED USO DEL SOFTWARE Di Sergio Capretta

1 - MANUALE INSTALLAZIONE ED USO DEL SOFTWARE Di Sergio Capretta 1 - MANUALE INSTALLAZIONE ED USO DEL SOFTWARE Di Sergio Capretta Indice generale INSTALLAZIONE DEL SOFTWARE...3 Preparazione del server...3 Installazione...3 Intestazione pagine di Stampa...3 Link esterni,

Dettagli

BASI DI DATI http://www.diee.unica.it/~giacinto/bd. Cos è il PHP. Cos è il PHP. Esercitazione su PHP & MySQL

BASI DI DATI http://www.diee.unica.it/~giacinto/bd. Cos è il PHP. Cos è il PHP. Esercitazione su PHP & MySQL Università degli Studi di Cagliari Corso di Laurea in Ingegneria Elettronica Contatti BASI DI DATI http://www.diee.unica.it/~giacinto/bd Esercitazione su PHP & MySQL! Roberto Tronci! e-mail: roberto.tronci@diee.unica.it!

Dettagli

Procedura di Aggiornamento TO.M.M.YS. SQL 2005 e 2008

Procedura di Aggiornamento TO.M.M.YS. SQL 2005 e 2008 Questa procedura illustra passo passo gli step da compiere per aggiornare il programma TO.M.M.YS. che è stato installato con il supporto di Microsoft SQL 2005. ATTENZIONE: La presente procedura DEVE essere

Dettagli

INSTALLAZIONE JOOMLA

INSTALLAZIONE JOOMLA INSTALLAZIONE JOOMLA Moltissime volta mi capita (e penso capiti anche a voi) di dover prima di pubblicare un sito farlo vedere al cliente per l ok finale, o magari doverlo fare vedere, ma non avere ancora

Dettagli