Partying with PHP (…and the Microsoft Platform)


Published on

Learn how to spice up PHP using the unique features of the Microsoft platform. PHP is the center of attention as you learn to build and run a PHP application on Microsoft Internet Information Services 7, and also mingle with the Microsoft AJAX library.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Partying with PHP (…and the Microsoft Platform)

  1. 1. MIX 07 Partying with PHP on Windows Joe Stagner Opinionated Misfit Geek Microsoft Corporation
  2. 2. I write REAL PHP Every Day. In my personal life I run PHP Websites. My sites get millions of visitors. I've been the MSPHP guy for 6 years.
  3. 3. Microsoft is NOT Anti Open Source Sometimes it's business competition Often it's not. Microsoft is not a fan of the GPL And I (personally) think ….. Microsoft DOES REAL Open Source We do it where YOU tell us it matters And where it fits our business model.
  4. 4. What’s the difference between PHP and Linux? How did PHP get popular ? Why people use PHP. Why people might use PHP on Windows !
  5. 5. The PHP Ecosystem Applications, Applications, Applications…… Open source designs Loose and Wild The PHP community contributes to a variety of defacto standard facilities to connect everything Zend and the PHP community are invested in Windows Specific PHP technology.
  6. 6. Some Favorite PHP Applications PHP-Nuke PostNuke RunCMS Mambo Xoops MyPHPAdmin PHPBB2 VBulletin VBPortal cPanel Drupal e107 MD-Pro MyPHPNuke PHPWebSite TikiWiki Typo3 Xaraya b2Evolution bBlog Serendipity WordPress TextPattern OSCommerce OSCNuke Zen Cart eGroupWare phpGroupWare Site@School ATutor Moodle Segue Coppermine QwikiWikki SugarCRM WebCalendar
  7. 7. Windows Ecosystem Over 600,000 partners in the Microsoft Ecosystem. Microsoft makes MUCH more than Windows Microsoft is making huge investments interoperability standards and technologies. (WS-I, etc.) Microsoft provides …. a complete turn-key infrastructure …. Individual best-of-breed applications for you to choose from FUTURE TECHNOLOGIES
  8. 8. Software Options from Microsoft Identity MS Access MS Outlook BizTalk SQL Server MS LCS Integration Server Business MS Excel PowerPoint SharePoint SQL RS ISA Server Manager MS FrontPage MS Project MS CMS SQL AS Virtual Earth Data Analyzer Small Business Exchange MS InfoPath SQL NS Messenger MS Mobile Accounting Server Commerce Live Meeting MS Visio Project Server MapPoint Tablet PC Server MS Starter MS OneNote MS Word MS CRM MOM App Center Kits
  9. 9. More Software Options from Microsoft Active IIS 6/7 Axapta Navision Info Bridge Media Center Directory Retail ADAM MSMQ Great Plains WSH Info Card Management Small Windows Authorization Windows Business Unix DirectX WinFX Manager Server 2003 Manager Services Operations Windows Windows MS Solomon VBA / VSA ActiveX Manager Mobile Workflow MS Presentation XML-WS Application MSN Hosted Enterprise Foundation WSE Center Search Controls Reporting (Avalon) Windows System Windows Host Windows Vista Media Management Index Integration Embedded Longhorn Server Server Server Server
  10. 10. More Software Options from Microsoft Silverlight MS AJAX Live Services Local / Virtual Earth
  11. 11. There are some things you just can't do. We don't all want to be systems developers. We need to plan for growth and success. But we don't want feature needs to drive choice.
  12. 12. PHP Developers work on Windows machines anyway. PHP is PHP is PHP. (Sort-of) Other 3rd parties offer……. Phalanger = Managed Code PHP JCX.Software VS.PHP Zend’s Windows Work Continues
  13. 13. What’s the problem anyway. CGI on Windows ? The PHP ISAPI Extension Will it get fixed ?
  14. 14. Component Creation Calling binary .DLLs Simplifying Interoperability Remote Instancing Application Multithreading Asynchronous Dependencies Multi Phase Transactions Aggregating Multi-Interfaced Objects Type Encapsulation & Abstraction Object Scope Promotion Static Instance Access
  15. 15. FASTCGI ! PHP on IIS 6 PHP Versions…. Why choose ? PHP on IIS 7 New application context ?
  16. 16. More Options Managed Code (.NET) PHP Phalanger Windows Applications NuSphere PHPDoc WinBinnder PHP-Gtk
  17. 17. IIS CGI, ISAPI Winabler FastCGI Zend Platform Phalanger .NET Bridge
  18. 18. The Windows File System SMTP X.500 WDDX MS-SQL Server, ADO, ODBC What about the new auth provider? What about database’d session state XML LDAP
  19. 19. Sockets RSS XML-RPC XML Web Services / SOAP PHP Extensibility Mechanisms
  20. 20. HTTP Form Tricks They can be Open They can be Hidden They can be Encrypted Cookie Tricks They can also be encrypted Finally some ADVANTAGE to HTTP’s stateless protocol.
  21. 21. Build your own. PHP on Windows built with VC++ (6) PECL Extensions PHP is Open Source
  22. 22. Office
  23. 23. WinDNA / COM Microsoft .NET
  24. 24. What’s COM ? PHP doesn’t REALLY speak COM. COM is the Lingua Franca of Windows VB C++ (Ours and many others) Delphi Python Perl Cobol Fortran
  25. 25. <?php $myCOMObject =new COM(quot;COMObject.COMClassquot;); $myCOMObject->someMethod(“Some Argument”); ?>
  26. 26. … VB C++ C# J# Common Language Specification Visual Studio .NET ASP .NET Windows Web Forms Web Services Forms Mobile Internet Toolkit ADO .NET and XML Base Class Library Common Language Runtime Operating System
  27. 27. VS.NET System.Web (ASP.NET) System.WinForms UI SessionState C# Design ComponentModel HtmlControls Caching JScript Security WebControls System.Drawing Configuration VB Simple Web Services VC/MC++ Drawing2D Printing Protocols Imaging Text Debugger Discovery Description Designers System.Data (ADO.NET) System.Xml ADO SQL XSLT Serialization SDK Tools Design Adapters XPath CorDBG System ECMA CLI ILAsm Collections IO Security Runtime InteropServices Configuration Net ServiceProcess ILDbDump Remoting Diagnostics Reflection Text SN Serialization Globalization Resources Threading ILDAsm Common Language Runtime MetaInfo JIT GC App Domain Loader PEVerify MSIL Common Type System Class Loader Platform Adaptation Layer Networking Boot Loader Threads Sync Timers Filesystem
  28. 28. System.Web System.Windows.Forms Services UI Design ComponentModel Description HtmlControls Discovery WebControls Protocols System.Drawing Caching Security Drawing2D Printing Configuration SessionState Imaging Text System.Data System.Xml OleDb SqlClient XSLT Serialization Common SQLTypes XPath System Collections IO Security Runtime InteropServices Configuration Net ServiceProcess Remoting Diagnostics Reflection Text Serialization Globalization Resources Threading
  29. 29. COM Callable Wrapper Runtime Callable Wrapper PHP Restrictions OLE 2 Parameterless Constructors
  30. 30. NuSOAP PHP 5 – Native SOAP Extension ezSOAP PEAR::SOAP
  31. 31. Intergrated with ASP.NET Server Complealty Independent Client Framework Server Implementation Samples for Non-MS Completely Free Completely Open Source
  32. 32. Most are Free Most are Platform Independent Most are Ad Free
  33. 33. CLIENT ! Cross Platform Rich Media You're hearing all about it !!!
  34. 34. A native Active Directory API PHP An AzMan API for PHP A PHP Bridge to ADAM An ASP.NET 2.0 Authentication Provider for PHP A seamless session state bridge. A CDO / Exchange Bridge for PHP PHP-Nuke, Mambo, etc. etc. On Microsoft SQL Optionally in Phalanger Optionally using AD
  35. 35. •Get your FREE Visual Studio •Understand what products Microsoft makes. •Email •Read me at
  36. 36. •Andrew Stopford •Michael Pham •NuSphere
  37. 37. Q&A THANKS ! © 2007 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
  38. 38. © 2007 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.