PHP Toolkit для ADO.NET Data Services — устраняем грани технологий: PHP + .NET

    Microsoft Interoperability team объявила о выходе нового проекта, который является мостом между PHP и .NET и еще больше стирает грани технологий. Этот проект позволяет разработчикам на PHP еще более проще обращаться и использовать всю мощь сервисов .NET на основе ADO.NET Data Services.

    С точки зрения разработки схема выглядит достаточно классическим образом. В процессе разработки необходимо использовать утилиту PHPDataSvcUtil, которая входит в PHP Toolkit for ADO.NET Data Services. Эта утилита сгенерирует прокси-классы на PHP на основе метаданных, которые доступны для сервиса на базе ADO.NET Data Services. После этого к проекту на PHP также необходимо будет подключить библиотеки PHP Toolkit for ADO.NET Data Services. Далее, после всех этих несложных действий можно будет использовать всю мощь платформы ADO.NET Data Services в рамках приложений на PHP более удобным способом.

    Давайте посмотрим каким образом будет выглядеть код на платформе PHP для выполнения запросов к ADO.NET Data Services. Прежде всего необходимо подключить файл с прокси-классами, которые сгененрированы с помощью утилиты PHPDataSvcUtil:

    <?PHP
    require_once 'NorthwindClient.php';
    define("SERVICE_URI", "http://localhost:8080/Northwind.svc");
    ?>


    После этого можно создавать объекты класса, реализующие логику клиента и осуществлять запросы к удаленному сервису. К сожалению, здесь мы не сможем воспользоваться синтаксисом LINQ для построения запросов к сервису. Поэтому запрос в виде URI придется написать вручную.

    <?PHP
    $client = new NorthwindEntities(SERVICE_URI);
    $query = $client->ExecuteQuery("Customers?\$filter=Country eq 'UK'");
    ?>


    Теперь, после успешного конструирования запроса можно обратиться за данными и вывести результат пользователю:

    <?PHP
    foreach($query as $customer)
    {
    echo "";
    echo $customer->CustomerID;
    echo "<br/>";
    echo $customer->CompanyName;
    echo "";
    }
    ?>


    Здесь хорошо видно, что мы обращаемся к строго типизированным объектам, а результат получаем в виде объектных коллекций. Такой способ очень похож на то, как мы работаем с сервисами ADO.NET Data Services в рамках .NET-клиента. Эти классы-сущности были также сгенерированы утилитой PHPDataSvcUtil.

    Pablo Castro (program manager, ADO.NET Data Services) и Claudio Caldato (program manager, interoperability, techincal strategy team) сделали небольшой обзор этой библиотеки на Channel 9 (en), в котором они рассказывают чуть больше деталей.

    Ну и наконец очень интересно то, что проект является проектом с открытым исходным кодом и доступен на CodePlex. Кроме того, проект разрабатывается компанией Persistent Systems, но оплачивается Microsoft.

    Ссылки:
    Поделиться публикацией
    Похожие публикации
    Ой, у вас баннер убежал!

    Ну. И что?
    Реклама
    Комментарии 8
    • –1
      Отличная новость. Еще бы Toolkit с PHPLinq срастить — было бы вообще замечательно
      • –1
        echo "
        ";

        Это имелось ввиду
        echo "\n"
        ? :)
        • –1
          foreach($query as $customer)
          {;
          echo "<p>";
          echo $customer->CustomerID;
          echo "<br />";
          echo $customer->CompanyName;
          echo "</p>";
          }
        • –1
          Не совсем понял, майкрософт только интегрировала в ПХП в ADO.NET Data Services или еще к этому создала полноценный IDE?
          • 0
            Persistent Systems по заказу Microsoft создали утилиту, которая генерирует прокси-классы для удобного доступа к сервисам ADO.NET Data Services
          • +1
            Клёво.
            Осталось интегрировать MySQL в MSSQL, и HTTP в FTP.
            Хорошо хоть код открытый.
            • 0
              Кто целевая аудитория?
              • 0
                Разработчики, которые работают на двух платформах — .NET и PHP. :)

              Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

              Самое читаемое