【 PHP 】PHP8に入門してみた 190日目 PHPの基本 ( データベース 接続処理を共通化)

PHP8技術者認定初級試験 が始まるようなので 試験に向けて (できるだけ)勉強しようと思います! 使用する書籍は独習PHP 第4版(山田 祥寛)|翔泳社の本 (shoeisha.co.jp) となります。

データベース

接続処理を共通化

データベースの接続は何度も使用することになるので関数にしてしまおう、ということのようです。

DbManager.php

<?php
function getDb(): PDO
{
  $dsn = 'mysql:dbname=selfphp; host=mysql; charset=utf8';
  $usr = 'root';
  $passwd = 'docker';

  $db = new PDO($dsn, $usr, $passwd);
  return $db;
}

こんな風に使います。

hello.php

<!DOCTYPE html>
<?php require_once './Encode.php'; ?>
<?php require_once './DbManager.php'; ?>

<html>

<head>
    <meta charset="UTF-8" />
    <title>こんにちは!</title>
    <!-- Bootstrapを有効化 -->
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" />
</head>

<body>
    <?php
    try {
        $db = getDb();
        print '接続に成功しました。';
    } catch (PDOException $e) {
        die("接続エラー : {$e->getMessage()}");
    } finally {
        $db = null;
    }
    ?>
</body>

</html>

 

メモ

すっきりしましたね。

PHPPHP

Posted by raika@blog