全域函式
這兒列出的是Cake裡每個地方都可以使用的函式。 其中有很多是為了包裝名字很長的PHP函式而設計(包裝型函式),當你想要短小精幹的函式為你重覆做一些事,那這就是你要的。 還有些(像vendor()和uses())可以用來引用(include)外部程式碼,或執行其他函式。
譯註:接下來會用"包裝型函式"代表Wrapper,此類的函式內容就是把所有的參數轉去呼叫另一個函式, 主要目的是減短函式名稱。
- config
載入Cake的核心設定檔,如果成功的話就傳回true。
- uses
- string $lib1
- string $lib2...
用來載入Cake的核心函式庫(放在cake/libs/)目錄內)。 用不含副檔名'.php'的函式庫檔名指定。
uses('sanitize', 'security');
- vendor
- string $lib1
- string $lib2...
載入第三方函式庫(放在/vendors目錄內)。 用不含副檔名'.php'的函式庫檔名指定。
vendor('myWebService', 'nusoap');
- debug
- mixed $var
- boolean $showHtml = false
如果應用程式的DEBUG層級不是0,就把$var字串印出。 如果$showHtml是true,URL資料會以流覽器視為字串的格式輸出。
譯註:如果$showHtml是true,'<'為被以'%lt;'取代,'>'會以’%gt;'取代。
- a
傳回包裝型函式使用的參數陣列。
譯註:原始碼中的註解為:傳回內容存著傳入參數的陣列。例如: a('a', 'b')傳回 array('a', 'b')。
function someFunction()
{
echo print_r(a('foo', 'bar'));
}
someFunction();
// output:
array(
[0] => 'foo',
[1] => 'bar'
)
- aa
傳回包裝型函式使用的關聯式陣列
譯註:原始碼中的註解為:由傳入的參數建立關聯式陣列。例如:aa('a','b')傳回 array('a'=>'b')。
echo aa('a','b');
// 輸出:
array(
'a' => 'b'
)
- e
- string $text
ehco()函式的包裝型函式。
- low
strtolower()函式的包裝型函式。
- up
strtoupper()函式的包裝型函式。
- r
- string $search
- string $replace
- string $subject
str_replace()函式的包裝型函式。
- pr
- mixed $data
便利的函式,功能和下列的程式相同:
echo "<pre>" . print_r($data) . "</pre>";
只有在DEBUG設為非零時才會把資料印出。
- am
- array $array1
- array $array2...
將傳入的所有陣列結合成一個陣列。
- env
- string $key
由可用的管道取得環境變數。這個函式是準備在$_SERVER或$_ENV被關閉時使用的。
這函式還會負責在Server不支援時,模擬PHP_SELF和DOCUMENT_ROOT。 事實上,最好都用env()取代$_SERVER或getenv()(特別是如果你想要開放程式給別人用),因為他會自動模擬所有的狀況。
- cache
- string $path
- string $expires
- string $target = 'cache'
把$data的資料存放在CACHE/$path目錄內作為快取,CACHE預設為/app/tmp/。 $expires裡放的時間字串格式必需是strtotime()能接受的格式。 $target則可以是'cache'或'public'。
譯註:'public'時則暫存在WEB_ROOT/$path/目錄下。
- clearCache
- string $search
- string $path = 'views'
- string $ext
清除快取目錄內的檔案及子目錄。
若$search是字串,則名稱和他相同的目錄或檔名就會被由快取目錄裡移除。 $search還可以是陣列,將多組字串放在陣列中一次指定,便可一次刪除多個檔案或目錄。 如果$search內容是空的,則/app/tmp/cache/views/ 就會被清空。
$path參數用來指定要刪除的檔案與目錄放在/tmp/cache/裡,那個目錄裡。 預設值是'views',所以預設會去/app/tmp/cache/views/目錄內找檔案刪除。
$ext則用來指定要刪除檔案的副檔名。
- stripslashes_deep
- array $array
將陣列內所有元素的斜線('/')去除。
- countdim
- array $array
計算$array的維度。看是一維陣列,二維陣列...n維陣列。
- fileExistsInPath
- string $file
到include_path所指定的各目錄中找尋$file,如果找到則傳回路徑,找不到則傳回false。
- convertSlash
- string $string
把正斜線('/')換成底線('_'),若字串中第一個和最後一個字元是底線,則將它刪除。
