これは主に、私が PHP OOP を初めて使用するためだと思いますが、答えが見つからないように思われる簡単な質問があります。いくつかのメソッドで同じ接続情報を使用しているため、情報を取り出してプライベートおよび静的としてプロパティ変数に入れるのにうんざりしていました。ただし、PDO 接続を確立しようとすると、これは機能しません。
class MyClass {
private static $DSN = "mysql:host=localhost;dbname=testdb";
private static $USR = "user";
private static $PWD = "password";
public static function connection() {
$pdo = new PDO($DSN, $USR, $PWD);
//more code
}
}
それでも、手動で情報を入力すると、正常に機能します。
class MyClass {
public static function connection() {
$pdo = new PDO("mysql:host=localhost;dbname=testdb", "user", "password");
//more code
}
}
では、プロパティのセットを使用してもうまくいかないのはなぜでしょうか? 私はそれを機能させるために数時間を費やしましたが、それが問題であることがわかりました。手動で接続しても問題ありませんが、最初の解決策が機能しない理由を知りたいです。