فايل bootstrap.inc شامل دستوراتي است که در تمام درخواستهاي سرويس فراخواني ميشود. يعني هر بار و به هر شيوه سايت دروپالي توسط کاربران خوانده شود اين فايل اجرا شده و دستوراتش در حافظه مستقر ميشود.
چه فايلي باعث اجراي اين فايل ميشود؟
اولين دستور در فايل index.php (فايل اصلي سايت) باعث فراخواني فايل bootstrap.inc ميشود. بنابراين به محض اجراي سايت دروپال تمامي دستورات اين فايل به حافظه سرور ارسال ميشود. خط زير در فايل index.php باعث فراخواني آن فايل ميشود.
require_once './includes/bootstrap.inc';
عملکرد اين فايل:
اين فايل يک سري متغير به صورت عبارت معادل را با دستور define تعريف ميکند. اين متغيرها که تعداد آنها به 30 مورد و بيشتر ميرسد مربوط ميشود به کش، لاگهاي سيستم، زبان و ديگر تنظيمات. ليست اين متغيرها در زير ميآيد که البته آوردن آنها به جهت يافتن در نتايج جستجو و نيز براي طراحان سايت حرفهاي ميباشد. متغيرهايي که در طي تأليف اين کتاب در دستورات استفاده ميشود به صفحه يکي از آن دستورها لينک ميشود تا نحوه استفاده از آن روشن شود:
شماره خط: در دروپال 6.31 |
دستور |
---|---|
12 |
define('CACHE_PERMANENT', 0); |
17 |
define('CACHE_TEMPORARY', -1); |
22 |
define('CACHE_DISABLED', 0); |
27 |
define('CACHE_NORMAL', 1); |
34 |
define('CACHE_AGGRESSIVE', 2); |
45 |
|
56 |
|
67 |
|
78 |
|
89 |
|
100 |
|
111 |
|
122 |
|
127 |
define('DRUPAL_BOOTSTRAP_CONFIGURATION', 0); |
133 |
define('DRUPAL_BOOTSTRAP_EARLY_PAGE_CACHE', 1); |
138 |
define('DRUPAL_BOOTSTRAP_DATABASE', 2); |
143 |
define('DRUPAL_BOOTSTRAP_ACCESS', 3); |
148 |
define('DRUPAL_BOOTSTRAP_SESSION', 4); |
154 |
define('DRUPAL_BOOTSTRAP_LATE_PAGE_CACHE', 5); |
159 |
define('DRUPAL_BOOTSTRAP_LANGUAGE', 6); |
164 |
define('DRUPAL_BOOTSTRAP_PATH', 7); |
170 |
define('DRUPAL_BOOTSTRAP_FULL', 8); |
175 |
define('DRUPAL_ANONYMOUS_RID', 1); |
180 |
define('DRUPAL_AUTHENTICATED_RID', 2); |
185 |
define('LANGUAGE_NEGOTIATION_NONE', 0); |
191 |
define('LANGUAGE_NEGOTIATION_PATH_DEFAULT', 1); |
198 |
define('LANGUAGE_NEGOTIATION_PATH', 2); |
204 |
define('LANGUAGE_NEGOTIATION_DOMAIN', 3); |
209 |
define('LANGUAGE_LTR', 0); |
214 |
define('LANGUAGE_RTL', 1); |
دستورات و توابع موجود در اين فايل:
چنانچه گفته شد فايل bootstrap.inc اولين فايلي است که در اجراي دروپال فراخواني ميشود. بنابراين توابع و دستورات تعريف شده در آن در تمام ماژولها و صفحات قابل اجرا هستند. اين توابع در ماژول نويسي خيلي کاربرد دارند و دانستن عملکرد آنها به درد طراحان سايت دروپالي خواهد خورد.
در جدول زير توابع موجود در اين فايل به همراه شماره خط ذکر شده است. همچنين تعداد استفاده از آن در دروپال 6.31 (هسته و ماژولهاي پيش فرض) ذکر شده است. ماژولهايي که توضيح آنها در سايت ذکر شده به صورت لينک درج شدهاند.
شماره خط: در دروپال 6.31 | دستور(تابع) | عملکرد | تعداد استفاده |
---|---|---|---|
229 |
timer_start |
||
245 |
timer_read |
||
270 |
timer_stop |
||
319 |
conf_path |
||
345 |
drupal_unset_globals |
||
366 |
drupal_valid_http_host |
||
374 |
conf_init |
||
504 |
drupal_get_filename |
||
551 |
variable_init |
||
587 |
variable_get |
||
608 |
variable_set |
||
634 |
variable_del |
||
654 |
page_get_cache |
||
681 |
bootstrap_invoke_all |
||
700 |
drupal_load |
||
728 |
drupal_page_header |
||
744 |
drupal_page_cache_header |
||
799 |
bootstrap_hooks |
||
811 |
drupal_unpack |
||
825 |
referer_uri |
||
845 |
check_plain |
انکود کردن کاراکترهاي ويژه يک عبارت جهت نمايش در قالب html | + 130 مورد |
894 |
drupal_validate_utf8 |
||
906 |
request_uri |
||
950 |
ثبت رويداد در ديتابيس | +77 مورد | |
991 |
نمايش يک پيام به کاربر | +230 مورد | |
1023 |
فراخواني پيامهاي جلسه کاربر | 1 مورد | |
1061 |
drupal_is_denied |
||
1076 |
drupal_anonymous_user |
||
1107 |
drupal_bootstrap |
||
1117 |
_drupal_bootstrap |
||
1219 |
drupal_maintenance_theme |
||
1228 |
get_t |
||
1239 |
drupal_init_language |
||
1259 |
language_list |
||
1304 |
language_default |
||
1317 |
ip_address |
||
1347 |
drupal_random_key |
||
1359 |
drupal_base64_encode |
||
1376 |
drupal_random_bytes |