Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Ламерские вопросы На что влияет число "-12" в Ajax файлах движка и мудулях

На что влияет число "-12" в Ajax файлах движка и мудулях


     15.03.2014    Ламерские вопросы    1290

вопрос
Все родные php файлы в engine/ajax имеют такую строку:
define( 'ROOT_DIR', substr( dirname(  __FILE__ ), 0, -12 ) );

Но вот например в модуле Fast-PM by Sander все файлы с -16, а не с -12:
define( 'ROOT_DIR', substr( dirname(  __FILE__ ), 0, -16 ) );

В модуле iLike v2.0 вообще -26
define( 'ROOT_DIR', substr( dirname(  __FILE__ ), 0, -26 ) );

Почему эта цифра прыгает, на что она влияет?

Ответил: D0Gmatist


представим в простом и понятном виде
dirname( __FILE__ ) это корневая папка сайта
пример массива dirname( __FILE__ ) = http_home\engine\ajax
define это функция которая позволяет вырезать определённую часть из массива в данном случае это
вырезать из http_home\engine\ajax последних 12 символов .. то есть \engine\ajax
и вернуть в ROOT_DIR имя корневой папки http_home

Комментарии пользователей (4)

D0Gmatist
225

794 | 281

D0Gmatist - 15 марта 2014 00:25 - Местный

точнее не массив а переменная

поправка dirname( __FILE__ ) это корневая папка не сайта а файла в ка тором находится файл в котором сделан этот запрос

Каждый программист знает - в правильном софте все должно быть прекрасно:
и пользовательский интерфейс, и программные решения, и гениальные ошибки!
Болтовня ничего не стоит. Покажите мне код.

Gopr
10

494 | 164

Gopr - 15 марта 2014 00:30 - Юзер

Если правильно понял \engine\ajax = 12 символов, получается -12 это оптимальное именно для тех файлов которые лежат в \engine\ajax. А если есть файлы которые лежат в \engine\ajax\папка, то в php нужно уже писать -18, где 18=12+6, а 6 = \папка

D0Gmatist
225

794 | 281

D0Gmatist - 15 марта 2014 00:33 - Местный

Да вы правильно поняли

Каждый программист знает - в правильном софте все должно быть прекрасно:
и пользовательский интерфейс, и программные решения, и гениальные ошибки!
Болтовня ничего не стоит. Покажите мне код.

D0Gmatist
225

794 | 281

D0Gmatist - 15 марта 2014 00:32 - Местный

а ну и на что это влияет
к примеру нам нужно подключить файлы
require_once ENGINE_DIR . '/classes/mysql.php';
require_once ENGINE_DIR . '/data/dbconfig.php';
require_once ENGINE_DIR . '/modules/functions.php';

как нам определить корневую папку директории сайта ENGINE_DIR

вот по этому берётся путь до папки с файлом вырезается все (папки от корня сайта до файла посимвольно) и после
define( 'ENGINE_DIR', ROOT_DIR . '/engine' );
готов корневой системы ENGINE_DIR

поправка .. не то скопипастил
вырезает substr Возвращает подстроку
http://www.php.su/substr
а define определяет именованную константу
http://www.php.su/define

Каждый программист знает - в правильном софте все должно быть прекрасно:
и пользовательский интерфейс, и программные решения, и гениальные ошибки!
Болтовня ничего не стоит. Покажите мне код.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы