Developing PHP applications on Microsoft platformTautvydas Dagys (Microsoft Lithuania)
What will we cover?Web stack the Microsoft wayPHP on WindowsTools, practices et al.
Microsoft web stackA powerful set of tools, servers and technologies optimized for building and hosting next generation web applicationsMicrosoft.com/web
Included is…Windows Server (W)IIS 7.x (I)SQL Server 2008 R2 (S)PHP?? (P).NET (N)
Back to PHP…PHP has beenaround on Windows	for a decadeWindows has been usedas a main	development environment
We worked with...The community 	who provided valuable feedbackand shaped development.welcomedour efforts very enthusiastically			brought vast experienceand guidance.
PHP on Windows - History
This is Now…Microsoft / Zend partnership	(October ’06)FastCGI	(September ’07)SQL Server PHP Driver	(October ’07)Contribution to ADOdb†	(July ‘08)Web Platform Installer	(December ‘08)Web Application Gallery	(March ‘09)Virtual Earth Integration Kit	(May ’09)PHP 5.3 release	(June ‘09)Windows Azure SDK	(July ‘09)Windows Cache Extension	(November ‘09)Zend Framework supports Azure	(January ‘10)† Microsoft’s first LGPL contribution ever
PHP 5.3 – new releaseCompletely rewritten from the ground upWith Visual C++ 9.0That means more optimized codeCode rewritten to be a good “Windows citizen”98%+ test now pass on WindowsNew work in the installerInstaller is being rebuilt for WindowsWindows is now a first-class platform in PHP world
Does Anybody out there even Care?5.3 Final – Released June 2009Was Downloaded in the period of July 2009 to August 31, 640.000
Running PHP on WindowsPHP can be run on Windows in 3 modes| CGI| FastCGI| ISAPI
CGI vsFastCGI(CGI on Windows) == SLOW !!!New PHP process per requestFastCGI == (CGI on steroids)Re-use PHP processes in a process poolSingle-threaded execution environmentUse the non-thread-safe PHP builds with IIS FastCGIQ: What about PHP ISAPI?A: Do not use it! Use FastCGI instead.
Targeting SQL ServerThe SQL Server Driver for PHP is designed to enable reliable, scalable integration with SQL Server for PHP applications deployed on the Windows platform.Native PHP 5 extensionReading and writing of SQL Server data from within PHP scripts. Compatible with all editions of SQL Server 2005 and SQL Server 2008 (including Express editions).
How about Cloud Computing?Microsoft Cloud platform – Windows AzurePHP is a first class citizen on Windows AzureYou can deploy:PHP + MySQL appsPHP + SQL Azure AppsPHP  + Cloud Storage appsWordpress is working on Windows Azure deployments
Developing with PHP
#1: set up the dev boxWeb platform installer to help youDownload from microsoft.com/webAllows easy install of major compontents and tools
#1: set up the dev boxhttp://www.microsoft.com/web/platform#2: hit the ZoneEither use Visual Studio with add-on from JCX SoftwareExpression Web 2.x and above support PHPIntellisense		Local web server			Color-coded syntax				Integrated FTP clientSuperPreview
Expression Web Photoshop import
Expression Web – PHP Syntax highlighting
Expression Web PHP IntelliSense
Expression Web SuperPreview
#3: utilize the platformIIS has a number of addins to make your life easierDatabase Manager		SEO Toolkit			URL RewriterWeb deployment tool is not just for .NET apps!
#4: utilize the ecosystemMicrosoft has a rich ecosystem of apps in its Web Application GalleryTo which you can contribute	by packing your apps as for webPI
Interop and PHPSeveral projects under “Interoperability bridges” initiativeProjects used to provide a bridge between technologies in Windows and PHP worldAnd this is:oData SDK for PHPSQL Server Reporting Services SDK for PHPSilverlight samplesSQL Server CRUD app generatorAccelerators and Web slices for PHPVirtual Earth PHP toolkit
Get the tools and the platform for free!3 Spark’s for your success:Microsoft DreamSpark – for StudentsMicrosoft WebsiteSpark – for Web-agencies up to 10 EmployeesMicrosoft BizSpark – for Startupswww.dreamspark.comwww.websitespark.comwww.bizspark.com
Demo: PHP Development on WindowsShow me some staff
So what can you get from Windows Web platform?Quick PHP Dev platform setup for Windows via WebPIProfessional tools: Visual Studio + JCX or Expression WebIIS Server with FastCGI and bunch of extensionsSQL Server and SQL Server driverPHP interoperability bridgesPHP Deployment on Windows AzureGrowing community support
Hang on! You got those links?PHP on Windows:php.iis.net Php 5.3 Builds:	windows.php.netIRC channel:	irc.freenode.net/#php-dev-winPHP Windows Training Kit:	http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=c8498c9b-a85a-4afa-90c0-593d0e4850cbPHP Windows Azure Training Kit:http://www.microsoft.com/azure/trainingkit.mspxNative SQL Driver for PHP:	codeplex.com/sql2k5phpWindows SDK:	tinyurl.com/6z57rvPHP + Windows Azure:phpazure.codeplex.comPHP + ADO.NET Data Services:phpdataservices.codeplex.com PHP + Wirtual Earth Services:http://virtualearthphpkit.codeplex.com/
Konkursai programuotojamsArba kaip nemokamai nukeliauti į Las Vegą?
European WinPHP Challengehttp://www.eurowinphp.com/This year registration is closed on April 1The rules:The application must be build in PHP.The application must be deployed on Windows.You can start coding at April 1st the judging starts at 1st of June.You have to write a weekly blogpost about your experiences of building your application.
Euro WinPHP’09 Challenge Winner-JuozasKaziukėnas
Palaikykimeryšį:tdagys@microsoft.comTwitter: tdagyshttp://blogs.msdn.com/tdagys
PHP konferencija - Microsoft

PHP konferencija - Microsoft

  • 1.
    Developing PHP applicationson Microsoft platformTautvydas Dagys (Microsoft Lithuania)
  • 2.
    What will wecover?Web stack the Microsoft wayPHP on WindowsTools, practices et al.
  • 3.
    Microsoft web stackApowerful set of tools, servers and technologies optimized for building and hosting next generation web applicationsMicrosoft.com/web
  • 4.
    Included is…Windows Server(W)IIS 7.x (I)SQL Server 2008 R2 (S)PHP?? (P).NET (N)
  • 5.
    Back to PHP…PHPhas beenaround on Windows for a decadeWindows has been usedas a main development environment
  • 6.
    We worked with...Thecommunity who provided valuable feedbackand shaped development.welcomedour efforts very enthusiastically brought vast experienceand guidance.
  • 7.
  • 8.
    This is Now…Microsoft/ Zend partnership (October ’06)FastCGI (September ’07)SQL Server PHP Driver (October ’07)Contribution to ADOdb† (July ‘08)Web Platform Installer (December ‘08)Web Application Gallery (March ‘09)Virtual Earth Integration Kit (May ’09)PHP 5.3 release (June ‘09)Windows Azure SDK (July ‘09)Windows Cache Extension (November ‘09)Zend Framework supports Azure (January ‘10)† Microsoft’s first LGPL contribution ever
  • 9.
    PHP 5.3 –new releaseCompletely rewritten from the ground upWith Visual C++ 9.0That means more optimized codeCode rewritten to be a good “Windows citizen”98%+ test now pass on WindowsNew work in the installerInstaller is being rebuilt for WindowsWindows is now a first-class platform in PHP world
  • 10.
    Does Anybody outthere even Care?5.3 Final – Released June 2009Was Downloaded in the period of July 2009 to August 31, 640.000
  • 11.
    Running PHP onWindowsPHP can be run on Windows in 3 modes| CGI| FastCGI| ISAPI
  • 12.
    CGI vsFastCGI(CGI onWindows) == SLOW !!!New PHP process per requestFastCGI == (CGI on steroids)Re-use PHP processes in a process poolSingle-threaded execution environmentUse the non-thread-safe PHP builds with IIS FastCGIQ: What about PHP ISAPI?A: Do not use it! Use FastCGI instead.
  • 13.
    Targeting SQL ServerTheSQL Server Driver for PHP is designed to enable reliable, scalable integration with SQL Server for PHP applications deployed on the Windows platform.Native PHP 5 extensionReading and writing of SQL Server data from within PHP scripts. Compatible with all editions of SQL Server 2005 and SQL Server 2008 (including Express editions).
  • 14.
    How about CloudComputing?Microsoft Cloud platform – Windows AzurePHP is a first class citizen on Windows AzureYou can deploy:PHP + MySQL appsPHP + SQL Azure AppsPHP + Cloud Storage appsWordpress is working on Windows Azure deployments
  • 15.
  • 16.
    #1: set upthe dev boxWeb platform installer to help youDownload from microsoft.com/webAllows easy install of major compontents and tools
  • 17.
    #1: set upthe dev boxhttp://www.microsoft.com/web/platform#2: hit the ZoneEither use Visual Studio with add-on from JCX SoftwareExpression Web 2.x and above support PHPIntellisense Local web server Color-coded syntax Integrated FTP clientSuperPreview
  • 18.
  • 19.
    Expression Web –PHP Syntax highlighting
  • 20.
    Expression Web PHPIntelliSense
  • 21.
  • 22.
    #3: utilize theplatformIIS has a number of addins to make your life easierDatabase Manager SEO Toolkit URL RewriterWeb deployment tool is not just for .NET apps!
  • 23.
    #4: utilize theecosystemMicrosoft has a rich ecosystem of apps in its Web Application GalleryTo which you can contribute by packing your apps as for webPI
  • 24.
    Interop and PHPSeveralprojects under “Interoperability bridges” initiativeProjects used to provide a bridge between technologies in Windows and PHP worldAnd this is:oData SDK for PHPSQL Server Reporting Services SDK for PHPSilverlight samplesSQL Server CRUD app generatorAccelerators and Web slices for PHPVirtual Earth PHP toolkit
  • 25.
    Get the toolsand the platform for free!3 Spark’s for your success:Microsoft DreamSpark – for StudentsMicrosoft WebsiteSpark – for Web-agencies up to 10 EmployeesMicrosoft BizSpark – for Startupswww.dreamspark.comwww.websitespark.comwww.bizspark.com
  • 26.
    Demo: PHP Developmenton WindowsShow me some staff
  • 27.
    So what canyou get from Windows Web platform?Quick PHP Dev platform setup for Windows via WebPIProfessional tools: Visual Studio + JCX or Expression WebIIS Server with FastCGI and bunch of extensionsSQL Server and SQL Server driverPHP interoperability bridgesPHP Deployment on Windows AzureGrowing community support
  • 28.
    Hang on! Yougot those links?PHP on Windows:php.iis.net Php 5.3 Builds: windows.php.netIRC channel: irc.freenode.net/#php-dev-winPHP Windows Training Kit: http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=c8498c9b-a85a-4afa-90c0-593d0e4850cbPHP Windows Azure Training Kit:http://www.microsoft.com/azure/trainingkit.mspxNative SQL Driver for PHP: codeplex.com/sql2k5phpWindows SDK: tinyurl.com/6z57rvPHP + Windows Azure:phpazure.codeplex.comPHP + ADO.NET Data Services:phpdataservices.codeplex.com PHP + Wirtual Earth Services:http://virtualearthphpkit.codeplex.com/
  • 29.
    Konkursai programuotojamsArba kaipnemokamai nukeliauti į Las Vegą?
  • 30.
    European WinPHP Challengehttp://www.eurowinphp.com/Thisyear registration is closed on April 1The rules:The application must be build in PHP.The application must be deployed on Windows.You can start coding at April 1st the judging starts at 1st of June.You have to write a weekly blogpost about your experiences of building your application.
  • 31.
    Euro WinPHP’09 ChallengeWinner-JuozasKaziukėnas
  • 33.

Editor's Notes

  • #13 PHP 5.3 does not have ISAPI support