これに対する答えを見つけるのに苦労しています。確かに目の前にあると思いますが、まとめることはできません。
//Global Variables
global $GLOBAL;
$GLOBAL['myPluginPath'] = dirname( __FILE__ );
//Main Object
class My_Class {
public function __construct() {
// Initialize Settings
require_once $GLOBAL['myPluginPath'] . '/settings.php';
$My_Settings = new My_Settings();
}
}
変数を使用して、コードがより整理されているように感じられるようにします。パスがこのように定義されていると、コードが読みやすくなり、必要に応じてコード全体に適用されるように変数を変更しやすくなります。
これをメソッド内に記述することで、変数を機能させることができます。
public function WhatEverFunc() {
global $GLOBAL
require_once $GLOBAL['myPluginPath'] . '/settings.php';
}
ここでの主な質問は、これが悪い習慣であるかどうか疑問に思っています。そうでない場合は、global $GLOBAL
各メソッド内で定義するよりも良い方法があります。ただし、それが悪い習慣である場合は、良い習慣を教えてもらえますか?
もう一つ、とても気になっていることがあります。メインの内部では、それがなくても機能するため__construct
使用していませんglobal $GLOBAL
が、そのrequire_once
ファイルの内部には、内部で使用する必要があるメソッドを持つ別のクラスがありglobal $GLOBAL
ます。誰かがそれを説明できることを願っています。
これは悪い習慣だと言う人もいると思います。シングルトンパターン(悪い習慣)とグローバルパターンがあることを読みました。上記で何をしたかわかりませんが、私が達成しようとしていることでここで何をすべきかについて少し迷っています。