Mahboubeh.M
شنبه 04 اردیبهشت 1395, 16:41 عصر
سلام دوستان. وقتتون بخیر
من برای لود فایل ها از کد زیر استفاده کردم که در پوشه obj1 قرار داره:
spl_autoload_register(function($ClassName) {
echo $ClassName;
include $ClassName. '.php';
});
$PATH = $_SERVER['SCRIPT_FILENAME'];
$controllerPath = $_SERVER["DOCUMENT_ROOT"]."/myCode/test/obj2/";
$include_path = array($PATH,$controllerPath,get_include_path());
set_include_path(implode(PATH_SEPARATOR,$include_p ath));
تو همین پوشه یک فایل و داخل اون کلاسی به اسم controller نوشتم.
یک پوشه دیگه هم درست کردم به اسم obj2 و فایل (کلاس) mainController رو داخل اون نوشتم که از کلاس controller ارث بری میکنه.
حالا در مسیر اصلی و فایل index فقط فایل مربوط به لود اتومات رو include کردم و برنامه خطایی نداد. من متوجه نشدم که چطور فایل controller اینکلود شد. کلاس های controller و mainController در 2پوشه مجزا قرار دارن و در متغیر $include_path که در تابع autoload تعریف شده اصلا مسیر پوشه obj1 قرار نداره که کلاس controller بتونه اینکلود بشه!!!.
میخوام بدونم چرا با وجود این که مسیر این کلاس در $include_path تعریف نشده ولی به محض اینکه با کلاس controllerمواجه میشه میتونه اونو include کنه.
من برای لود فایل ها از کد زیر استفاده کردم که در پوشه obj1 قرار داره:
spl_autoload_register(function($ClassName) {
echo $ClassName;
include $ClassName. '.php';
});
$PATH = $_SERVER['SCRIPT_FILENAME'];
$controllerPath = $_SERVER["DOCUMENT_ROOT"]."/myCode/test/obj2/";
$include_path = array($PATH,$controllerPath,get_include_path());
set_include_path(implode(PATH_SEPARATOR,$include_p ath));
تو همین پوشه یک فایل و داخل اون کلاسی به اسم controller نوشتم.
یک پوشه دیگه هم درست کردم به اسم obj2 و فایل (کلاس) mainController رو داخل اون نوشتم که از کلاس controller ارث بری میکنه.
حالا در مسیر اصلی و فایل index فقط فایل مربوط به لود اتومات رو include کردم و برنامه خطایی نداد. من متوجه نشدم که چطور فایل controller اینکلود شد. کلاس های controller و mainController در 2پوشه مجزا قرار دارن و در متغیر $include_path که در تابع autoload تعریف شده اصلا مسیر پوشه obj1 قرار نداره که کلاس controller بتونه اینکلود بشه!!!.
میخوام بدونم چرا با وجود این که مسیر این کلاس در $include_path تعریف نشده ولی به محض اینکه با کلاس controllerمواجه میشه میتونه اونو include کنه.