Microsoft wypuścił drugą wersję sterownika SQL Server przeznaczonego dla języka PHP. W nowej wersji dodano przede wszystkim wsparcie dla PDO. Dodanie wsparcia dla PDO nie oznacza, że przestaną działać dotychczasowe rozwiązania. Wydanie drugiej wersji sterownika było dobrą okazją do przepisania biblioteki odpowiedzialnej za łączność z bazą danych SQL Server. Nowa wersja została tak napisana, aby wszystkie wspóle elementy wydzielić do osobnej warstwy, z której korzystają różne mechanizmy do łączenia się z bazę.

Jak widać na powyższym obrazku (źródło: Microsoft SQL Server Driver for PHP Team Blog) w drugiej wersji sterownika można korzystać z dwóch sposobów łącznia się bazą, co w przypadku kod będzie wyglądało nastęująco.
<?php
// SQLSRV driver:
$serverName = "(local)\sqlexpress";
$connectionOptions = array( "Database"=>"AdventureWorks" );
/* Connect to SQL Server using Windows Authentication. */
$conn = sqlsrv_connect( $serverName, $connectionOptions );
/* Get products by querying against the product name.*/
$tsql = "SELECT ProductID, Name, Color, Size, ListPrice FROM Production.Product";
/* Execute the query. */
$getProducts = sqlsrv_query( $conn, $tsql );
/* Loop thru recordset and display each record. */
while( $row = sqlsrv_fetch_array( $getProducts, SQLSRV_FETCH_ASSOC ) )
{
print_r( $row );
}
/* Free the statement and connection resource. */
sqlsrv_free_stmt( $getProducts );
sqlsrv_close( $conn );
<?php
// PDO_SQLSRV driver:
$serverName = "(local)\sqlexpress";
/* Connect to SQL Server using Windows Authentication. */
$conn = new PDO( "sqlsrv:server=$serverName;Database=AdventureWorks" );
/* Get products by querying against the product name.*/
$tsql = "SELECT ProductID, Name, Color, Size, ListPrice FROM Production.Product";
/* Execute the query. */
$getProducts = $conn->query( $tsql );
/* Loop thru recordset and display each record. */
while( $row = $getProducts->fetch( PDO::FETCH_ASSOC ) )
{
print_r( $row );
}
/* Free the statement and connection resource. */
$getProducts = NULL;
$conn = NULL;
dla mnie bomba, wada działa tylko pod windowsem
Fakt, brakuje biblioteki pod *nixa. Ale i tak trzeba pochwalić MS za to, że dostrzegł PHP i zaczyna tworzyć rozwiązania pod ten język dostosowane.
@batman: dla mnie bomba. Lada moment będe realizował projekt na ZF i klient ma cała infrastrukturę postawioną na windows (Windows serwer Web Edition, IIS7, jakiś dedykowany microsoftowy loadbalancer).
Ostatnimi czasy, na moje szczęści, microsoft inwestuje w programistów PHP, mało tego, że powstała kampania:
http://www.microsoft.com/web/platform/phponwindows.aspx
to na dodatek microsoft był jednym z głównych patrnów PHPCON
Web Platform Installer jest bardzo fajnym rozwiązaniem ,dzięki któremu nie musisz się martwić o to co i skąd pobierasz. Wszystko masz w jednym miejscu i z pewnego źródła.
Swoją drogą MS mocno się stara przekonać społeczność do swoich produktów, które wbrew powszechnej opinii, są dobre. Jedyną ich wadą jest cena.
Tak na marginesie. Brałem jakiś czas temu w szkoleniu z Silverlighta, które kosztowało mnie 50 zł. Do tego MS zasponsorował uczestnikom szkolenia serwer windowsowy w home.pl na rok. Szkoda, że nie mam kiedy przysiąść i się nim pobawić.