2012-12-26 95 views
2

我不想使用Symfony2原則。而是想編寫自己的數據類來處理MySQL查詢。那麼有沒有什麼方法可以直接執行sql查詢。 Google中的大多數文章都是關於Doctrine或MySQL + Doctrine的文章。MySQL與Symfony2

+4

爲什麼你想跳過主義? Doctrine確實提供了直接運行Native SQL的方法(http://docs.doctrine-project.org/en/latest/reference/native-sql.html) - 如果您需要性能。 – luiges90

回答

3

如果你不想使用Doctrine ORM甚至Doctrine DBAL,絕對沒有任何東西可以讓你直接使用PDO/MySQLi。

  1. 定義PDO實例作爲DIC服務:

    <service id="pdo" class="PDO"> 
        <argument>dns</argument> 
        <argument>user</argument> 
        <argument>password</argument> 
        <call method="setAttribute"> 
         <argument>2</argument> <!-- use exception for error handling --> 
        </call> 
    </service> 
    
  2. 通PDO實例,需要數據庫連接的每個服務:

    <service id="my.custom.service" class="My\Custom\Service"> 
        <argument type="service" id="pdo" /> 
    </serivce> 
    
    --- 
    
    namespace My\Custom; 
    
    class Service { 
        public function __construct(PDO $pdo) { } 
    }