SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Template designed by
PHP for ASP.NET Developers
Emanuele Bartolesi
emanuele@smartcoretech.com
www.emanuelebartolesi.com - @kasuken
Emanuele Bartolesi
Chi sono
•Microsoft MVP ASP.NET since 2014
•Founder of SmartCore Tech
•DotNetToscana Staff Member & Speaker
•Speaker for various events
•Trainer
•SharePoint addicted from 2007
•Enthusiast ASP.NET Developer
•NopCommerce Contributor
•MCPD Web applications, MCTS BING Applications, MCTS Silverlight, MCTS HTML5 &
CSS3
•Italian blog: www.emanuelebartolesi.com
•English blog: www.emanuelebartolesi.com/en
•Twitter enthusiast: @kasuken
•Email: emanueleb@outlook.com
Cosa è PHP?
Perché PHP?
Basi di Linux
Prepararazione dell'ambiente di sviluppo
Basi PHP
CakePHP, ovvero ASP.NET MVC per PHP
Demo
PHP e Azure
Agenda
lPHP è l'acronimo di HyperText Preprocessor
lE' uno dei linguaggi più usati sul web (Facebook e Wordpress!)
lUn file PHP può contenere HTML, CSS, Javascript e codice PHP
lIl codice PHP viene eseguito sul server e restituisce al browser
codice HTML
Cosa è PHP?
Perché PHP?
l“Gira” su tutte le piattaforme (Windows, Linux, Mac OS X)
lSupporta molti database (MySQL, SQL Server, SQLite, ecc.)
lE' facile da imparare
lE' free
lE' facile trovare sviluppatori
Basi di Linux
lI comandi di base da sapere:
lsudo (per eseguire comandi come super utente)
lapt-get update (per aggiornare la lista dei packages)
lapt-get install [programma] (installa un package)
lapt-get install update (aggiorna i packages)
lls (equivalente del “dir”) :)
lcd /folder/folder/ (per navigare nelle cartelle)
lmkdir (per creare una cartella)
Preparazione ambiente di sviluppo
lCosa serve?
luna “macchina” con Linux
lUn server Apache
lUn database MySQL
La risposta è
XAMPP
Preparazione ambiente di sviluppo
lInstallazione di XAMPP
lwget
http://sourceforge.net/projects/xampp/files/XAMPP%20Linux/5.6.8/xa
mpp-linux-x64-5.6.8-0-installer.run
lsudo chmod +x xampp-linux-x64-5.6.8-0-installer.run
lsudo ./xampp-linux-x64-5.6.8-0-installer.run
Preparazione ambiente di sviluppo
lConfigurazione di XAMPP
lsudo chmod -R 777 /opt/lampp/htdocs
lsudo ./lampp start
Preparazione ambiente di sviluppo
lEditor PHP
lBrackets – editor cross platform con intellisense:
www.brackets.io
lBluefish Editor – editor di pagine html per Linux
lVisual Studio Code – versione cross platform di
Visual Studio con supporto a diversi linguaggi, tra
cui PHP: code.visualstudio.com
Basi di PHP
lLa prima pagina
<!DOCTYPE html>
<html>
<body>
<?php
echo "My first PHP script!";
?>
</body>
</html>
Basi di PHP
lVariabili e commenti
<!DOCTYPE html>
<html>
<body>
<?php
// This is a single-line comment
# This is also a single-line comment
/*
This is a multiple-lines comment block
that spans over multiple
lines
*/
// You can also use comments to leave out parts of a code line
$x = 5 /* + 15 */ + 5;
echo $x;
?>
</body>
CakePHP
lE' un framework MVC per PHP
lMette a disposizione una struttura e i file di base per per iniziare
a lavorare con il pattern MVC
CakePHP – ciclo di vita delle richieste
Installazione di CakePHP
lManuale – scaricabile dal sito (non consigliato)
lComposer
lcurl -s https://getcomposer.org/installer | php
lphp composer.phar create-project --prefer-dist cakephp/app
nomeapp
Creazione e configurazione del database
demo
CakePHP
demo
PHP e Azure
Grazie a tutti per la partecipazione
Riceverete il link per il download a slide e demo via email nei
prossimi giorni
Per contattarmi
emanuele@smartcoretech.com
www.emanuelebartolesi.com
@kasuken
Grazie

Weitere ähnliche Inhalte

Was ist angesagt?

Slide typescript - xe dotnet - Codemotion Rome 2015
Slide typescript - xe dotnet - Codemotion Rome 2015Slide typescript - xe dotnet - Codemotion Rome 2015
Slide typescript - xe dotnet - Codemotion Rome 2015
Codemotion
 
Sviluppo Web Agile con Castle Monorail
Sviluppo Web Agile con Castle MonorailSviluppo Web Agile con Castle Monorail
Sviluppo Web Agile con Castle Monorail
DotNetMarche
 
Be01 web devclientvsserver
Be01   web devclientvsserverBe01   web devclientvsserver
Be01 web devclientvsserver
DotNetCampus
 

Was ist angesagt? (20)

Vaadin7
Vaadin7Vaadin7
Vaadin7
 
Angular and beyond
Angular and beyondAngular and beyond
Angular and beyond
 
Slide typescript - xe dotnet - Codemotion Rome 2015
Slide typescript - xe dotnet - Codemotion Rome 2015Slide typescript - xe dotnet - Codemotion Rome 2015
Slide typescript - xe dotnet - Codemotion Rome 2015
 
Single Page web Application
Single Page web ApplicationSingle Page web Application
Single Page web Application
 
Keynote del phpday 2010
Keynote del phpday 2010Keynote del phpday 2010
Keynote del phpday 2010
 
WordPress REST API
WordPress REST APIWordPress REST API
WordPress REST API
 
Sviluppo Web Agile con Castle Monorail
Sviluppo Web Agile con Castle MonorailSviluppo Web Agile con Castle Monorail
Sviluppo Web Agile con Castle Monorail
 
Wp talk
Wp talkWp talk
Wp talk
 
Continuous Integration con Visual Studio Online
Continuous Integration con Visual Studio OnlineContinuous Integration con Visual Studio Online
Continuous Integration con Visual Studio Online
 
Crea servizi REST per la tua App con ASP.NET 5
Crea servizi REST per la tua App con ASP.NET 5Crea servizi REST per la tua App con ASP.NET 5
Crea servizi REST per la tua App con ASP.NET 5
 
Universal app ma universal per davvero
Universal app ma universal per davveroUniversal app ma universal per davvero
Universal app ma universal per davvero
 
Realizzare applicazioni desktop con Electron e Angular
Realizzare applicazioni desktop con Electron e AngularRealizzare applicazioni desktop con Electron e Angular
Realizzare applicazioni desktop con Electron e Angular
 
ALM Revolutions - What's new in visual studio ALM 11
ALM Revolutions - What's new in visual studio ALM 11ALM Revolutions - What's new in visual studio ALM 11
ALM Revolutions - What's new in visual studio ALM 11
 
DevOps by examples - Agile O'Day 2017
DevOps by examples - Agile O'Day 2017DevOps by examples - Agile O'Day 2017
DevOps by examples - Agile O'Day 2017
 
Be01 web devclientvsserver
Be01   web devclientvsserverBe01   web devclientvsserver
Be01 web devclientvsserver
 
Quick intro sul Source Control su SQL Server
Quick intro sul Source Control su SQL ServerQuick intro sul Source Control su SQL Server
Quick intro sul Source Control su SQL Server
 
Ottimizzare WordPress su Windows/IIS
Ottimizzare WordPress su Windows/IISOttimizzare WordPress su Windows/IIS
Ottimizzare WordPress su Windows/IIS
 
WordCamp Catania 2019 PWA e TWA
WordCamp Catania 2019 PWA e TWAWordCamp Catania 2019 PWA e TWA
WordCamp Catania 2019 PWA e TWA
 
Blazor per uno sviluppatore Web Form
Blazor per uno sviluppatore Web FormBlazor per uno sviluppatore Web Form
Blazor per uno sviluppatore Web Form
 
Branching & Merging strategies (with TFS)
Branching & Merging strategies (with TFS)Branching & Merging strategies (with TFS)
Branching & Merging strategies (with TFS)
 

Andere mochten auch

Andere mochten auch (8)

Intelligent Power Meter using GSM network and Android Application
Intelligent Power Meter using GSM  network and Android ApplicationIntelligent Power Meter using GSM  network and Android Application
Intelligent Power Meter using GSM network and Android Application
 
Rapyuta:Cloud robotics Platform - by shan
Rapyuta:Cloud robotics Platform - by shanRapyuta:Cloud robotics Platform - by shan
Rapyuta:Cloud robotics Platform - by shan
 
Introduction to asp.net
Introduction to asp.netIntroduction to asp.net
Introduction to asp.net
 
Be project ppt asp.net
Be project ppt asp.netBe project ppt asp.net
Be project ppt asp.net
 
Introduction to ASP.NET
Introduction to ASP.NETIntroduction to ASP.NET
Introduction to ASP.NET
 
Introduction to asp.net
Introduction to asp.netIntroduction to asp.net
Introduction to asp.net
 
Online voting system ppt by anoop
Online voting system ppt by anoopOnline voting system ppt by anoop
Online voting system ppt by anoop
 
32 Ways a Digital Marketing Consultant Can Help Grow Your Business
32 Ways a Digital Marketing Consultant Can Help Grow Your Business32 Ways a Digital Marketing Consultant Can Help Grow Your Business
32 Ways a Digital Marketing Consultant Can Help Grow Your Business
 

Ähnlich wie Php for ASP.NET Developers

Pietro Brambati: PHP e la piattaforma Microsoft
Pietro Brambati: PHP e la piattaforma MicrosoftPietro Brambati: PHP e la piattaforma Microsoft
Pietro Brambati: PHP e la piattaforma Microsoft
Francesco Fullone
 
Gaetano Giunta: introduzione agli eZ components
Gaetano Giunta: introduzione agli eZ componentsGaetano Giunta: introduzione agli eZ components
Gaetano Giunta: introduzione agli eZ components
Francesco Fullone
 
JAMP DAY 2010 - ROMA (1)
JAMP DAY 2010 - ROMA (1)JAMP DAY 2010 - ROMA (1)
JAMP DAY 2010 - ROMA (1)
jampslide
 

Ähnlich wie Php for ASP.NET Developers (20)

Link. php [santi caltabiano]
  Link. php [santi caltabiano]  Link. php [santi caltabiano]
Link. php [santi caltabiano]
 
Web frameworks
Web frameworksWeb frameworks
Web frameworks
 
The road to php7
The road to php7The road to php7
The road to php7
 
Introduzione al PHP
Introduzione al PHPIntroduzione al PHP
Introduzione al PHP
 
Pietro Brambati: PHP e la piattaforma Microsoft
Pietro Brambati: PHP e la piattaforma MicrosoftPietro Brambati: PHP e la piattaforma Microsoft
Pietro Brambati: PHP e la piattaforma Microsoft
 
Gaetano Giunta: introduzione agli eZ components
Gaetano Giunta: introduzione agli eZ componentsGaetano Giunta: introduzione agli eZ components
Gaetano Giunta: introduzione agli eZ components
 
Lezione WordPress Università degli Studi di Milano: Installazione e Gestione
Lezione WordPress Università degli Studi di Milano: Installazione e GestioneLezione WordPress Università degli Studi di Milano: Installazione e Gestione
Lezione WordPress Università degli Studi di Milano: Installazione e Gestione
 
php day 2008 - Introduzione agli ez components
php day 2008 - Introduzione agli ez componentsphp day 2008 - Introduzione agli ez components
php day 2008 - Introduzione agli ez components
 
Continous Delivery & HQ Code
Continous Delivery & HQ CodeContinous Delivery & HQ Code
Continous Delivery & HQ Code
 
Javascript - 1 | WebMaster & WebDesigner
Javascript - 1 | WebMaster & WebDesignerJavascript - 1 | WebMaster & WebDesigner
Javascript - 1 | WebMaster & WebDesigner
 
Continuous Integration e High Quality Code
Continuous Integration e High Quality CodeContinuous Integration e High Quality Code
Continuous Integration e High Quality Code
 
JAMP DAY 2010 - ROMA (1)
JAMP DAY 2010 - ROMA (1)JAMP DAY 2010 - ROMA (1)
JAMP DAY 2010 - ROMA (1)
 
PHP, non lo stesso vecchio linguaggio
PHP, non lo stesso vecchio linguaggioPHP, non lo stesso vecchio linguaggio
PHP, non lo stesso vecchio linguaggio
 
Introduzione alla localizzazione web
Introduzione alla localizzazione webIntroduzione alla localizzazione web
Introduzione alla localizzazione web
 
Real world Visual Studio Code
Real world Visual Studio CodeReal world Visual Studio Code
Real world Visual Studio Code
 
Javascript - 1 | WebMaster & WebDesigner
Javascript - 1 | WebMaster & WebDesignerJavascript - 1 | WebMaster & WebDesigner
Javascript - 1 | WebMaster & WebDesigner
 
DbUp - A real case of database migration
DbUp - A real case of database migrationDbUp - A real case of database migration
DbUp - A real case of database migration
 
Web frameworks
Web frameworksWeb frameworks
Web frameworks
 
2014.04.04 Sviluppare applicazioni web (completamente) on line con Visual Stu...
2014.04.04 Sviluppare applicazioni web (completamente) on line con Visual Stu...2014.04.04 Sviluppare applicazioni web (completamente) on line con Visual Stu...
2014.04.04 Sviluppare applicazioni web (completamente) on line con Visual Stu...
 
Come sviluppo le applicazioni web
Come sviluppo le applicazioni webCome sviluppo le applicazioni web
Come sviluppo le applicazioni web
 

Mehr von Emanuele Bartolesi

Provarsi i vestiti con il kinect
Provarsi i vestiti con il kinectProvarsi i vestiti con il kinect
Provarsi i vestiti con il kinect
Emanuele Bartolesi
 
In-app purchase in Windows Phone 8
In-app purchase in Windows Phone 8In-app purchase in Windows Phone 8
In-app purchase in Windows Phone 8
Emanuele Bartolesi
 

Mehr von Emanuele Bartolesi (18)

Creare PWA con Angular 5 e Visual Studio Code
Creare PWA con Angular 5 e Visual Studio CodeCreare PWA con Angular 5 e Visual Studio Code
Creare PWA con Angular 5 e Visual Studio Code
 
Asp.Net Core in Real World
Asp.Net Core in Real WorldAsp.Net Core in Real World
Asp.Net Core in Real World
 
ASP.NET Core 2.0 - Best Practices per le Web API
ASP.NET Core 2.0 - Best Practices per le Web APIASP.NET Core 2.0 - Best Practices per le Web API
ASP.NET Core 2.0 - Best Practices per le Web API
 
Visual Studio 2017 Saturday - Key note
Visual Studio 2017 Saturday - Key noteVisual Studio 2017 Saturday - Key note
Visual Studio 2017 Saturday - Key note
 
Build a daemon with ASP.NET and Graph API
Build a daemon with ASP.NET and Graph APIBuild a daemon with ASP.NET and Graph API
Build a daemon with ASP.NET and Graph API
 
Global Azure Bootcamp - ASP.NET Core & Azure in Real World
Global Azure Bootcamp - ASP.NET Core & Azure in Real WorldGlobal Azure Bootcamp - ASP.NET Core & Azure in Real World
Global Azure Bootcamp - ASP.NET Core & Azure in Real World
 
Works with ASP.NET Core on Linux and Mac
Works with ASP.NET Core on Linux and MacWorks with ASP.NET Core on Linux and Mac
Works with ASP.NET Core on Linux and Mac
 
DotNetCampus - Analizzare le performance di un'applicazione asp.net con Glimpse
DotNetCampus - Analizzare le performance di un'applicazione asp.net con GlimpseDotNetCampus - Analizzare le performance di un'applicazione asp.net con Glimpse
DotNetCampus - Analizzare le performance di un'applicazione asp.net con Glimpse
 
Analizzare le performance di un'applicazione ASP.NET con Glimpse
Analizzare le performance di un'applicazione ASP.NET con GlimpseAnalizzare le performance di un'applicazione ASP.NET con Glimpse
Analizzare le performance di un'applicazione ASP.NET con Glimpse
 
Azure Media Services & Azure Search
Azure Media Services & Azure SearchAzure Media Services & Azure Search
Azure Media Services & Azure Search
 
NTTsight Academy - App for Office 365 and SharePoint 2013
NTTsight Academy - App for Office 365 and SharePoint 2013NTTsight Academy - App for Office 365 and SharePoint 2013
NTTsight Academy - App for Office 365 and SharePoint 2013
 
Provarsi i vestiti con il kinect
Provarsi i vestiti con il kinectProvarsi i vestiti con il kinect
Provarsi i vestiti con il kinect
 
In-app purchase in Windows Phone 8
In-app purchase in Windows Phone 8In-app purchase in Windows Phone 8
In-app purchase in Windows Phone 8
 
WebAPI 2.0
WebAPI 2.0WebAPI 2.0
WebAPI 2.0
 
SignalR 2.0
SignalR 2.0SignalR 2.0
SignalR 2.0
 
Asp.Net MVC 5
Asp.Net MVC 5Asp.Net MVC 5
Asp.Net MVC 5
 
SQLite - Overview
SQLite - OverviewSQLite - Overview
SQLite - Overview
 
Visual Studio 2010 shortcut keys
Visual Studio 2010 shortcut keysVisual Studio 2010 shortcut keys
Visual Studio 2010 shortcut keys
 

Php for ASP.NET Developers

  • 1. Template designed by PHP for ASP.NET Developers Emanuele Bartolesi emanuele@smartcoretech.com www.emanuelebartolesi.com - @kasuken
  • 2. Emanuele Bartolesi Chi sono •Microsoft MVP ASP.NET since 2014 •Founder of SmartCore Tech •DotNetToscana Staff Member & Speaker •Speaker for various events •Trainer •SharePoint addicted from 2007 •Enthusiast ASP.NET Developer •NopCommerce Contributor •MCPD Web applications, MCTS BING Applications, MCTS Silverlight, MCTS HTML5 & CSS3 •Italian blog: www.emanuelebartolesi.com •English blog: www.emanuelebartolesi.com/en •Twitter enthusiast: @kasuken •Email: emanueleb@outlook.com
  • 3. Cosa è PHP? Perché PHP? Basi di Linux Prepararazione dell'ambiente di sviluppo Basi PHP CakePHP, ovvero ASP.NET MVC per PHP Demo PHP e Azure Agenda
  • 4. lPHP è l'acronimo di HyperText Preprocessor lE' uno dei linguaggi più usati sul web (Facebook e Wordpress!) lUn file PHP può contenere HTML, CSS, Javascript e codice PHP lIl codice PHP viene eseguito sul server e restituisce al browser codice HTML Cosa è PHP?
  • 5. Perché PHP? l“Gira” su tutte le piattaforme (Windows, Linux, Mac OS X) lSupporta molti database (MySQL, SQL Server, SQLite, ecc.) lE' facile da imparare lE' free lE' facile trovare sviluppatori
  • 6. Basi di Linux lI comandi di base da sapere: lsudo (per eseguire comandi come super utente) lapt-get update (per aggiornare la lista dei packages) lapt-get install [programma] (installa un package) lapt-get install update (aggiorna i packages) lls (equivalente del “dir”) :) lcd /folder/folder/ (per navigare nelle cartelle) lmkdir (per creare una cartella)
  • 7. Preparazione ambiente di sviluppo lCosa serve? luna “macchina” con Linux lUn server Apache lUn database MySQL La risposta è XAMPP
  • 8. Preparazione ambiente di sviluppo lInstallazione di XAMPP lwget http://sourceforge.net/projects/xampp/files/XAMPP%20Linux/5.6.8/xa mpp-linux-x64-5.6.8-0-installer.run lsudo chmod +x xampp-linux-x64-5.6.8-0-installer.run lsudo ./xampp-linux-x64-5.6.8-0-installer.run
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14. Preparazione ambiente di sviluppo lConfigurazione di XAMPP lsudo chmod -R 777 /opt/lampp/htdocs lsudo ./lampp start
  • 15.
  • 16. Preparazione ambiente di sviluppo lEditor PHP lBrackets – editor cross platform con intellisense: www.brackets.io lBluefish Editor – editor di pagine html per Linux lVisual Studio Code – versione cross platform di Visual Studio con supporto a diversi linguaggi, tra cui PHP: code.visualstudio.com
  • 17. Basi di PHP lLa prima pagina <!DOCTYPE html> <html> <body> <?php echo "My first PHP script!"; ?> </body> </html>
  • 18. Basi di PHP lVariabili e commenti <!DOCTYPE html> <html> <body> <?php // This is a single-line comment # This is also a single-line comment /* This is a multiple-lines comment block that spans over multiple lines */ // You can also use comments to leave out parts of a code line $x = 5 /* + 15 */ + 5; echo $x; ?> </body>
  • 19. CakePHP lE' un framework MVC per PHP lMette a disposizione una struttura e i file di base per per iniziare a lavorare con il pattern MVC
  • 20. CakePHP – ciclo di vita delle richieste
  • 21. Installazione di CakePHP lManuale – scaricabile dal sito (non consigliato) lComposer lcurl -s https://getcomposer.org/installer | php lphp composer.phar create-project --prefer-dist cakephp/app nomeapp
  • 25. Grazie a tutti per la partecipazione Riceverete il link per il download a slide e demo via email nei prossimi giorni Per contattarmi emanuele@smartcoretech.com www.emanuelebartolesi.com @kasuken Grazie