<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # Symfony DBAL 教程 > 原文: [http://zetcode.com/symfony/dbal/](http://zetcode.com/symfony/dbal/) Symfony DBAL 教程顯示了如何使用 Doctrine DBAL 組件在 Symfony 應用中使用數據庫。 ## Symfony Symfony 是一組可重用的 PHP 組件和一個用于 Web 項目的 PHP 框架。 Symfony 于 2005 年發布為免費軟件。Fabien Potencier 是 Symfony 的原始作者。 Symfony 的靈感來自 Ruby on Rails,Django 和 Spring 框架。 ## Symfony DBAL 組件 教義數據庫抽象層(DBAL)是位于 PDO 之上的抽象層,并提供了一種直觀且靈活的 API,可以與最受歡迎的關系數據庫進行通信。 DBAL 庫使執行查詢和執行其他數據庫操作變得容易。 ## Symfony DBAL 示例 在下面的示例中,我們創建一個簡單的 Symfony 應用,該應用使用 DBAL 讀取數據。 我們使用 MySQL 數據庫。 ```php $ composer create-project symfony/skeleton symdbal ``` 使用`composer`,我們創建一個新的 Symfony 骨架項目。 ```php $ cd symdbal ``` 我們轉到項目目錄。 ```php $ composer require symfony/orm-pack ``` 我們安裝`symfony/orm-pack`,其中包含 DBAL API。 ```php $ composer require maker --dev ``` 另外,我們安裝了`maker`組件。 `maker`包提供了腳手架。 ```php $ composer require server --dev ``` 我們安裝開發 Web 服務器。 `countries_mysql.sql` ```php CREATE TABLE countries(id BIGINT NOT NULL PRIMARY KEY AUTO_INCREMENT, name VARCHAR(100), population INT); INSERT INTO countries(name, population) VALUES('China', 1382050000); INSERT INTO countries(name, population) VALUES('India', 1313210000); INSERT INTO countries(name, population) VALUES('USA', 324666000); INSERT INTO countries(name, population) VALUES('Indonesia', 260581000); INSERT INTO countries(name, population) VALUES('Brazil', 207221000); INSERT INTO countries(name, population) VALUES('Pakistan', 196626000); INSERT INTO countries(name, population) VALUES('Nigeria', 186988000); INSERT INTO countries(name, population) VALUES('Bangladesh', 162099000); INSERT INTO countries(name, population) VALUES('Nigeria', 186988000); INSERT INTO countries(name, population) VALUES('Russia', 146838000); INSERT INTO countries(name, population) VALUES('Japan', 126830000); INSERT INTO countries(name, population) VALUES('Mexico', 122273000); INSERT INTO countries(name, population) VALUES('Philippines', 103738000); ``` 這是一些測試數據。 它在 MySQL 中創建一個小表。 我們可以使用`source`命令執行文件。 `.env` ```php ... DATABASE_URL=mysql://user12:s$cret@localhost:3306/mydb ``` 在`.env`文件中,我們配置數據庫 URL。 ```php $ php bin/console make:controller HomeController ``` `HomeController`由 Symfony 制造商創建。 `src/Controller/HomeController.php` ```php <?php namespace App\Controller; use Doctrine\DBAL\Connection; use Symfony\Component\Routing\Annotation\Route; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; class HomeController extends AbstractController { /** * @Route("/home", name="home") */ public function index(Connection $conn) { $queryBuilder = $conn->createQueryBuilder(); $data = $queryBuilder->select('*')->from('countries')->execute()->fetchAll(); return $this->json([ 'data' => $data ]); } } ``` 該控制器方法執行一個查詢,該查詢從`countries`表中獲取所有行,并將其作為 JSON 數據返回。 請注意,出于簡單原因,我們已將查詢生成器放入控制器中。 在生產應用中,還應該有一個服務層和一個存儲庫。 ```php public function index(Connection $conn) { ``` DBAL `Connection`對象被注入到方法變量中。 ```php $queryBuilder = $conn->createQueryBuilder(); ``` 我們從連接創建一個`QueryBuilder`。 ```php $data = $queryBuilder->select('*')->from('countries')->execute()->fetchAll(); ``` 我們執行查詢并獲取所有行。 ```php return $this->json([ 'data' => $data ]); ``` 數據以 JSON 格式返回。 ```php $ php bin/console server:run ``` Web 服務器已啟動。 ```php $ curl localhost:8000/home {"data":[{"id":"1","name":"China","population":"1382050000"}, {"id":"2","name":"India","population":"1313210000"}, {"id":"3","name":"USA","population":"324666000"}, {"id":"4","name":"Indonesia","population":"260581000"}, {"id":"5","name":"Brazil","population":"207221000"}, {"id":"6","name":"Pakistan","population":"196626000"}, {"id":"7","name":"Nigeria","population":"186988000"}, {"id":"8","name":"Bangladesh","population":"162099000"}, {"id":"9","name":"Nigeria","population":"186988000"}, {"id":"10","name":"Russia","population":"146838000"}, {"id":"11","name":"Japan","population":"126830000"}, {"id":"12","name":"Mexico","population":"122273000"}, {"id":"13","name":"Philippines","population":"103738000"}]} ``` 我們使用`curl`工具執行 GET 請求。 在本教程中,我們在 Symfony 中使用了 Doctrine DBAL。 您可能也對以下相關教程感興趣: [Symfony 簡介](/symfony/intro/), [Doctrine DBAL `QueryBuilder`教程](/doctrine/querybuilder/), [Symfony 表單教程](/symfony/form/), [Symfony 翻譯教程](/symfony/translation/), [PHP 教程](/lang/php/)。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看