PHP学習中の物です。
色々試しましたが、どうにも分からない事が出てきたのでご質問させていただきます。
タイトル通りにはなるのですが、データベースを扱うクラスを作ろうとして、
コンストラクタでPDOインスタンスを作ろうとしたところ、何故か作ることができません。
問題のコード
php
1<?php 2 class connect { 3 private $pdo; 4 5 private function __constructor() { 6 try{ 7 $this->pdo = new PDO( 8 '*******', 9 '******', 10 '*******', 11 [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION ] 12 ); 13 } catch (PDOException $error) { 14 exit($error->getMessage()); 15 } 16 } 17 18 public function pdo() { 19 return $this->pdo; 20 } 21 } 22 23 $a = new connect(); 24 var_dump($a->pdo()); //NULL 25?>
private $pdoをコンストラクーでPDOインスタンスにするのは無理・・・?
私の考えでは
**$pdoプロパティにコンストラクターでnew PDOとしているので、
$pdoプロパティはnullではなくPDOのインスタンスになるはず!**と思っていたのですがどうやら違うようです。。。
なんでうまくインスタンス化できないのでしょうか・・・?
ご回答宜しくお願いいたしますm(_)m
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/13 03:42
退会済みユーザー
2020/03/13 03:43
退会済みユーザー
2020/03/13 03:47
2020/03/13 05:03