この件に関するサイトを調べましたが、まだ混乱しています。私は自分の問題を修正しましたが、私は一種のだまされたことを深く知っており、それはさらに問題を引き起こす可能性のある修正です. 私がどこにいるのか説明しましょう:
これは、次のようなディレクトリ構造のフォルダーです >> [フォルダー名] :
/site root
[ajax-loads]
showorder.php
[bcls] << For bespoke classes
class.order.php
[cls] << For classes
class.main.php
class.db.php
class.sql.php
...
...
dashboard.php
index.php
config.php
...
.. etc etc
上記のように、使用するクラスを含む 2 つのフォルダーがあることを示しています。そのほとんどは、class.main.php の __autoload を介して呼び出されます。私が抱えている問題は、jQuery を使用して新しいコンテンツを div に「load()」するときです。動作が変更され、自動ロードへのパスは、class.main.php に対してではなく、ajax-load ファイルに対して相対的になります。現時点では、いわばだまされたと感じる次のコードがあります。
//PATHS & AUTOLOAD
set_include_path("./cls");
set_include_path("../cls");
set_include_path("./bcls");
set_include_path("../bcls");
//INVESTIGATE THIS NONESENSE ABOVE!
function __autoload($class_name)
{
require_once 'class' . '.' . $class_name . '.' . 'php';
}
ファイルの前半で、一時的に修正した config.php ファイルで同じ問題が発生しています。
set_include_path("./");
set_include_path("../");
これは、手続き型コーディングから離れることを決めた私の最初の大きなプロジェクトであり、オートロードを実際に体験したのはこれが初めてです。コピー ペースト コーダーになるのではなく、これをもっとよく理解する必要があります。ここで私の理解のギャップにぶつかったと感じています。コードが修正されるだけでなく、いくつかの「解決策」を試したので、正しいコードが何をしているのかを誰かが親切に説明してくれますが、他の人の例を模倣した後も奇妙な結果が得られます。
愛とキス アンディ