試了老半天只有載入Drupal_bootstrap( DRUPAL_BOOTSTRAP_FULL)才能正常,根據官方api資料,能載入的分別有下列幾項:
DRUPAL_BOOTSTRAP_CONFIGURATION, DRUPAL_BOOTSTRAP_EARLY_PAGE_CACHE, DRUPAL_BOOTSTRAP_DATABASE, DRUPAL_BOOTSTRAP_ACCESS, DRUPAL_BOOTSTRAP_SESSION, DRUPAL_BOOTSTRAP_LATE_PAGE_CACHE, DRUPAL_BOOTSTRAP_LANGUAGE, DRUPAL_BOOTSTRAP_PATH, DRUPAL_BOOTSTRAP_FULL
好奇怪,除了DRUPAL_BOOTSTRAP_FULL以外全部一一加上也不行,真有趣!? 還是一次不能載入多個?如
Drupal_bootstrap(DRUPAL_BOOTSTRAP_ACCESS);
Drupal_bootstrap(DRUPAL_BOOTSTRAP_SESSION);
Re:
<?php
define('DRUPAL_BOOTSTRAP_CONFIGURATION', 0);
define('DRUPAL_BOOTSTRAP_EARLY_PAGE_CACHE', 1);
define('DRUPAL_BOOTSTRAP_DATABASE', 2);
define('DRUPAL_BOOTSTRAP_ACCESS', 3);
define('DRUPAL_BOOTSTRAP_SESSION', 4);
define('DRUPAL_BOOTSTRAP_LATE_PAGE_CACHE', 5);
define('DRUPAL_BOOTSTRAP_PATH', 6);
define('DRUPAL_BOOTSTRAP_FULL', 7);
?>
以上是原始碼中對各常數的定義....
在程式碼中,載入會包含所有數字小於等於常數的值。
如︰
DRUPAL_BOOTSTRAP_SESSION = 4
會載入 DRUPAL_BOOTSTRAP_CONFIGURATION, DRUPAL_BOOTSTRAP_EARLY_PAGE_CACHE, DRUPAL_BOOTSTRAP_DATABASE, DRUPAL_BOOTSTRAP_ACCESS 和 DRUPAL_BOOTSTRAP_SESSION 的功能(按順序)
也就是說... DRUPAL_BOOTSTRAP_SESSION 會包含 DRUPAL_BOOTSTRAP_ACCESS 的所有功能。
重複載入並沒有什麼意義。
如果你試到 DRUPAL_BOOTSTRAP_FULL 才成功,那就表示,你要的 user_load() 功能,
一定得用 DRUPAL_BOOTSTRAP_FULL 才能使用,之前的幾個都沒有這樣子的功能可用。
稍微看了 includes/bootstrap.inc 檔案後得到的結論.... 其實並不清楚 user 模組什麼時候被載入... 純推論...
有錯請不吝指教....
Re: 若只想用user_load() 則 Drupal_bootstrap 需要載入哪些就可以?
若依次序等級來看,果然非得到DRUPAL_BOOTSTRAP_FULL才能成功,既然這樣那就沒辦法,只好全載入了。
非常感謝您的回答,也讓我對Drupal_bootstrap有了更清楚的認識。
Re: 若只想用user_load() 則 Drupal_bootstrap 需要載入哪些就可以?
因為user是在module裡頭.. 所以一定要 full :)
--
from open mind to open source~
Re: 若只想用user_load() 則 Drupal_bootstrap 需要載入哪些就可以?
原來如此,謝謝您的回覆!