常用 function

1 篇文章 / 0 new
author
常用 function
  Module system (Drupal hooks)  
變數 php
global $user; DRUPAL_ROOT, 全域變數
define($key, $value,$case_insensitive=true); 定義全域變數
is_numeric 內容是否為數值, 不管變數內容本身是否是為字串格式
$_GET['destination'] = 'path'
$GLOBALS['destination'] = 'path'
轉向
$GLOBALS 此法目前測試無動作
int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] ) 正規化字串檢查, 僅到最先符合的一組
int preg_match_all ( string $pattern , string $subject [, array &$matches [, int $flags = PREG_PATTERN_ORDER [, int $offset = 0 ]]] ) 正規化字串檢查, 比對找出所有符合的內容
mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] ) 正規化字串取代
mixed array_shift( array &$array ) 原最前頭內容則傳回並從陣列內移除, 其餘陣列容往前移一個位置,
array array_merge ( array $array1 [, array $... ] ) 陣列合併
drupal_map_assoc($array, $function = NULL) 傳回的陣列, 其key值將以內容值來替換
string implode ( string $glue , array $pieces )
string implode ( array $pieces )
將陣列資料組成字串
array explode ( string $delimiter , string $string [, int $limit ] ) 將字串依指定字串分割成陣列
array array_intersect_key ( array $array1 , array $array2 [, array $ ... ] ) 傳回 array1陣列內與其他array key交集的資料陣列, 內容以$array1為主
parse_url($url) 解析網址, 傳回陣列分 scheme, host, path
http:\\ex.com\ss\cc...
解析為 ['scheme']='http', ['host']='ex.com', ['path']='\ss\cc...'
void var_dump ( mixed $expression [, mixed $... ] ) 列出陣列內容
公用 common.inc
l($text, $path, array $options = array()) 建立產出 link html code,
ex $options = array('attributes'=>array('target'=>'_blank'))
drupal_get_path($type, $name) 取得 $type=module,theme,profile,theme_engine 等指名模組所在路徑
drupal_add_js($data = NULL, $options = NULL) 加入 JavaScript file, setting, or inline code 到頁面
drupal_add_css($data = NULL, $options = NULL) 加入 css檔 或 css內容 到頁面
format_date($timestamp, $type = 'medium', $format = '', $timezone = NULL, $langcode = NULL) 日期時間格式化
drupal_goto($path = '', array $options = array(), $http_response_code = 302)    網頁轉向到指定的路徑URL
hide(&$element) / show(&$element) 告訴 render() or drupal_render() 是否繼續呈現該元素資料
render(&$element) / drupal_render(&$elements) 將資料轉成 html code 來呈現
session_destroy() 釋放所有session資料 session.php
drupal_realpath($uri) 取得對應實際路徑 (public://, temporary://, private:// ) file.inc
公用 bootstrap.inc
variable_get($name, $default = NULL) 從資料庫 variable 取出變數資料. variable_del(),variable_set()
watchdog($type, $message, $variables = array(), $severity = WATCHDOG_NOTICE, $link = NULL) Log紀錄
drupal_set_message($message = NULL, $type = 'status', $repeat = TRUE) 顯示訊息
drupal_set_title($title = NULL, $output = CHECK_PLAIN) 設定頁面顯示的標題內容
drupal_anonymous_user() 產生匿名使用者 $user 資料內容
check_plain($text) 去除 text 內不允許的內容
Trigger, Action(依附hook而達成, 但非所有hook均可) system.api.php
hook_action_info() 宣告 action 相關參數. 啟用後即可在 admin/structure/trigger 來指派要觸發的項目. 若有需要額外參數設定則在 admin/config/system/actions 進行. 同樣的動作雖然可在 hook內達成, 但差異是直接使用 hook 一般沒有管理介面來選擇是否觸發, 使用 action 則可以隨時變更.
hook_action_info_alter(&$actions) 變更其他模組內 action 的動作條件
actions_do($action_ids, $object = NULL, $context = NULL, $a1 = NULL, $a2 = NULL) 由程式內直接執行 action 動作 actions.inc
hook_trigger_info() 自訂 Trigger 項目 trigger.api.php
module_invoke_all($hook) 觸發所有模組內指定的 $hook=hook_Name module.inc
權限 system.api.php
hook_permission() 定義權限項目
user_access($string, $account = NULL) 用來確認使用者是否具有$string該項權限 user.module
選單 (僅在選單資料重建時會呼叫, 其餘時間均不會, 因選單資料會保留在cache內) system.api.php
hook_menu()
hook_menu_alter(&$items)
hook_menu_link_alter(&$item)
建立選單
更動其他模組的選單參數設定資料
系統建立選單資料陣列後呼叫此函數, 用來進行連結資料變更
資料庫 database.inc
db_set_active($key = 'default') 不同資料庫的切換
db_query_temporary($query, array $args = array(), array $options = array()) 使用暫時資料表
hook_query_alter(QueryAlterableInterface $query) 動態變更 query 物件內容, 等同變動SQL語法, 當Query Object 執行 execute() 之前被呼叫 system.api.php
drupal_write_record($table, &$record, $primary_keys = array()) 新增或更新一筆資料到資料表 common.inc
影像 image.inc
image_get_info($filepath, $toolkit = FALSE) 取得影像簡易資訊
過濾器 filter.api.php
hook_filter_info() 進行內容動態關鍵字過濾,轉換等處理,不會變更原始內容
快取 Cache cache.inc
cache_set($cid, $data, $bin = 'cache', $expire = CACHE_PERMANENT) 設定快取
cache_get($cid, $bin = 'cache')
cache_get_multiple(array &$cids, $bin = 'cache')
取出快取資料
cache_is_empty($bin) 確認該快取是否存在
cache_clear_all($cid = NULL, $bin = NULL, $wildcard = FALSE) 清除指定快取
hook_flush_caches() 快取資料表清除時呼叫
   
Free Web Hosting