Microsoft has made deep commitments to interoperability, the Open Source community and PHP Developers. By making Open Source a strategic initiative, Microsoft has created several sites, services, contributions and product extensions. PHP developers can benefit from the huge community bases of ASP.NET, PHP, Microsoft Partners, and other communities.
MICROSOFT AND OPEN SOURCE
Microsoft engineers have worked with other companies such as Zend, the commercial PHP company, and the PHP community to ensure Windows Server and other Microsoft products are great platforms for PHP applications and the Open Source PHP development language.
SOURCE PHP DEVELOPMENT LANGUAGE.OPEN SOURCE TECHNOLOGY CENTER
The Open Source Technology Center is intended to provide information about Microsoft and open source in one place, serving as a gateway for information about open source engagements and activities across Microsoft.
TRANSITION WITHIN THE OPEN SOURCE COMMUNITY
It would not be a stretch to say that Microsoft needed to come a long way in working with the Open Source community, given the general vociferous nature of criticisms. Before, there were no PHP core developers; Windows was a 2nd class platform lacking focus – lack of quality control, artifacts and build processes. Now, there is a dedicated Windows internal team, synchronized source and build releases, core testing and dedicated communications channels – Windows is not a primary platform.
CONTRIBUTIONS TO OSS
ADOdb is a data access layer for PHP and is the very first LGPL Open Source project Microsoft contributed by developing a set of drivers for the MSSQL Native Extension for PHP.
More than just a DAL, ADOdb is an extensible database abstraction with a mature lineage and good community backing. It is performance oriented both in terms of production but also in the development as it is ADO-like, reducing learning curves. ADOdb also contains enterprise features such as session management, notifications, and performance monitoring.
MICROSOFT WEB PLATFORM
The Microsoft Web Platform supports interoperability of PHP applications and solutions built on Windows. Many PHP developers currently use Windows for their development environment of choice and now can choose from numerous PHP applications and solutions that run well on Windows.
The Web Platform Installer 2.0 (Web PI) is a free tool that makes getting the latest components of the Microsoft Web Platform, including Internet Information Services (IIS), SQL Server Express, .NET Framework and Visual Web Developer easy. The Web PI also makes it easy to install and run the most popular free web applications for blogging, content management and more with the built-in Windows Web Application Gallery.
The Web Platform Installer was built to make it simple for developers and web server administrators to get start designing, developing, deploying and running web applications on Windows. The Web PI provides a single tool to install all of Microsoft’s latest free web frameworks, server, database and tools such as ASP.NET, IIS Web Server and Visual Web Developer Express for both the server and client. Web PI runs on Windows XP, Windows Vista, Windows Server 2003 and Windows Server 2008.
In short, it’s all you need to build and run a web app on Windows.
MICROSOFT PRODUCTS WITH PHP SUPPORT
PHP DESIGN AND DEVELOPMENT - EXPRESSION WEB 3
For PHP, Microsoft Expression provides features for the PHP developer, some of the specialized:
|PHP Snippets||Insert the most common PHP functions, superglobals, language constructs and control structures by using PHP snippets. Select Insert > PHP to access the snippets.|
|Byte-Order Mark (BOM) aware||Will default to not inserting a BOM when saving to a PHP, as some web servers processing PHP documents do not handle well.|
|Design View Integration||WYSIWYG – in view mode, will pull all your includes in so that page can be viewed correctly in design mode.|
|PHP Aware Editor||A text editor that understands and color codes PHP language constructs.|
|Intellisense||Context sensitive menu of PHP functions.|
|SuperGlobals||PHP provides a set of predefined arrays containing a few different types of variables such as session variables, environment variables, server variables, form variables, URL variables, and so on. These are accessible via Intellisense.|
|PHP Development Server||Run your code locally!|
DATABASE - SQL SERVER
The SQL Server Driver for PHP is designed to enable reliable, scalable integration with SQL Server for PHP applications deployed on the Windows platform. The Driver for PHP is a PHP 5 extension that allows the reading and writing of SQL Server data from within PHP scripts. It provides a procedural interface for accessing data in all editions of SQL Server (including Express Editions), and provides support for many features including Windows authentication, transactions, parameter binding, streaming, metadata access, connection pooling, and error handling. The SQL Server Driver for PHP relies on the Microsoft SQL Server Native Client to communicate with SQL Server. Source code for the driver is available.
SQL Server Driver for PHP 1.1 CTP will include:
- Support for SQL Azure
- Support for PHP version 5.3
- Support for UTF-8
- Support for Scrollable results, row countMigration to SQL Server 2008 Native Client framework that provides for performance enhancements.
PHP APPLICATION HOSTING - IIS
IIS is Microsoft’s Internet Application Services platform for hosting web based applications and services. Microsoft IIS 7.0 for Windows now includes a built-in FastCGI component. PHP developers will be able to get dramatically better architectural qualities when running on Windows (sometimes as much as 25x faster than the old PHP CGI module for IIS) as well as getting plug-and-play integration between asp.net and PHP. For example, a developer might use the ASP.Net membership and role management while still building the pages using PHP. Easily deploy ASP.NET and PHP applications on the same server.
Also with IIS, specifically for PHP, is the Windows Cache Extension for PHP. Windows Cache Extension for PHP is a PHP accelerator that is used to increase the speed of PHP applications running on Windows and Windows Server. Once the Windows Cache Extension for PHP is enabled and loaded by the PHP engine, PHP applications can take advantage of the functionality without any code modifications.
Windows Server 2008 R2 and Windows 7 include additional improvements to FastCGI.
VIRTUALIZATION - AZURE
The Windows® Azure™ Platform (Azure) is an internet-scale cloud services platform hosted in Microsoft data centers, which provides an operating system and a set of developer services that can be used individually or together. Azure’s interoperable platform can be used to build new applications to run from the cloud or enhance existing applications with cloud-based capabilities. Its open architecture gives developers the choice to build web applications, applications running on connected devices, PCs, servers, or hybrid solutions offering the best of online and on-premises.
Millions of developers worldwide already use the .NET Framework and the Visual Studio development environment. Those same skills can be utilized to create cloud-enabled applications written, tested, and deployed all from Visual Studio. Developers will be able to deploy applications written on PHP as well.
Figure 1: Services offered on Azure
An application built using Windows Azure SDK for PHP can access Windows Azure's features, no matter if it is hosted on the Windows Azure platform or on an in-premise web server.
Figure 2: Deployment Scenarios for PHP with Azure
Microsoft has aligned itself to embrace the Open Source community and is reflected in the investments made to extend many of the Microsoft Services a PHP Developer may opt to use. From extensive PHP support in IIS, SQL Server and Open Source initiatives, to the rich developer community, open source project management and open source web gallery, Microsoft is integrating itself to bring additional options and valuable choices to PHP Developers. Have a look around, follow the reference links below and see what we have to offer.
- ADODB REFERENCES
- WEB PI REFERENCES
- MICROSOFT OPEN SOURCE REFERENCES
- EXPRESSION WEB REFERENCES
- PHP FOR SQL SERVER REFERENCES
- PHP ON IIS REFERENCES
- AZURE REFERENCES