jQuery представил обещание в версии 1.6 и гораздо более элегантно, чем добавление счетчиков.
Пример:
// Step 1: Make your animation
$(".buttons").each(function() {
$(this).fadeIn("fast");
});
// Step 2: Attach a promise to be called once animation is complete
$(".buttons").promise().done(function() {
// my callback
});
Определите это где-нибудь в конфигурационном файле.
Если вы используете стиль MVC, где все маршрутизируется через один index.php, то
realpath('.');
покажет вам путь к текущему рабочему каталогу (то есть, где находится index.php)
Итак, вы можете определить это как
define('PROJECT_ROOT', realpath('.'));
Если это не MVC и вам нужно работать с файлами в подпапках, то вы можете просто жестко закодировать его в файле конфигурации
define('PROJECT_ROOT', 'C:/wamp/www/mysite');
Тогда, когда вы включаете что-то, что вы можете сделать;
include PROJECT_ROOT . '/path/to/include.php';