[CodeIgniter4]-公共函数和全局常量
- 2020 年 3 月 5 日
- 筆記
CodeIgniter 你可以在任何地方使用它们,并且不需要加载任何 类库或辅助函数。
- 公共函数
- 服务访问器函数
- 其他函数
- 全局常量
- 核心常量
- 时间常量
公共函数
服务访问器函数
cache
([$key])
参数: |
$key (string) – 需从缓存中检索的参数名 (可选) |
---|---|
返回: |
缓存对象或从缓存取回的变量 |
返回类型: |
mixed |
- $key (string) – 需从缓存中检索的参数名 (可选)
返回: 缓存对象或从缓存取回的变量 返回类型: mixed 若 $key 不存在, 则返回缓存引擎实例. 若 $key有值存在, 则返回 $key 当前存储在缓存中的值,若值不存在则返回null。 Examples: $foo = cache('foo'); $cache = cache();
env
($key[, $default=null])
参数: |
$key (string) – 需检索的环境变量中的参数名 $default (mixed) – 如参数值不存在则返回默认值. |
---|---|
返回: |
运行环境变量, 默认值, 或者 null. |
返回类型: |
mixed |
- $key (string) – 需检索的环境变量中的参数名
- $default (mixed) – 如参数值不存在则返回默认值.
返回: 运行环境变量, 默认值, 或者 null. 返回类型: mixed 用于检索事前设置在环境变量中的变量值,若无设置则返回默认值. 若没有找到健值则返回一个布尔值结果(false). 在特定的运行环境中利用 .env 文件设置环境变量非常有用,例如数据库设置,API健值等.
esc
($data, $context='html'[, $encoding])
参数: |
$data (string|array) – 被输出的信息. $context (string) – 被输出内容的上下文. 默认值 ‘html’. $encoding (string) – 编码字符串. |
---|---|
返回: |
输出的数据(The escaped data). |
返回类型: |
mixed |
- $data (string|array) – 被输出的信息.
- $context (string) – 被输出内容的上下文. 默认值 ‘html’.
- $encoding (string) – 编码字符串.
返回: 输出的数据(The escaped data). 返回类型: mixed 页面中包含的输出数据, 它在防止 XSS 攻击时很有用。 使用Laminas Escaper 库来处理实际的数据过滤。 若 $data 为字符串, 则简单转义并且返回。 若 $data 为数组, 则遍历数组,转义 key/value 键值对中的 ‘value’。 有效的 context 值: html, js, css, url, attr, raw, null
helper
($filename)
参数: |
$filename (string|array) – 加载的辅助类文件的名称,或一个包含类文件名的数组。 |
---|
- $filename (string|array) – 加载的辅助类文件的名称,或一个包含类文件名的数组。
加载辅助类文件。
详情参照 辅助函数 页.
lang
($line[, $args[, $locale]])
param string $line: 检索文本的行 param array $args: 一组数组数据,用于替代占位符.
参数: |
$locale (string) – 使用不同的地区,而不是默认的地区设置。 检索一个基于某个别名字符串的本地特定文件。 |
---|
- $locale (string) – 使用不同的地区,而不是默认的地区设置。 检索一个基于某个别名字符串的本地特定文件。
更多详细信息请见 Localization 页。
old
($key[, $default = null[, $escape = 'html']])
param string $key: 需要使用的原有的表单提交的键。 param mixed $default: 如果当$key不存在时返回的默认值。
参数: |
$escape (mixed) – 一个 escape 的上下文,或传值false来禁用该功能。 returns: 给定的键对应的值,或设置的默认值 |
returns: |
给定的键对应的值,或设置的默认值 |
---|---|---|---|
returns: |
给定的键对应的值,或设置的默认值 |
||
返回类型: |
mixed |
- $escape (mixed) – 一个 escape 的上下文,或传值false来禁用该功能。 returns: 给定的键对应的值,或设置的默认值
返回类型: mixed
提供了一个简易的方式,在表单提交时访问 “原有的输入数据”。
示例:
// 在控制器中查看表单提交 if (! $model->save($user)) { // 'withInput'方法意味着"原有的数据"需要被存储。 return redirect()->back()->withInput(); } // 视图中 <input type="email" name="email" value="<?= old('email') ?>"> // 以数组的形式 <input type="email" name="user[email]" value="<?= old('user.email') ?>">
注解
如果你正使用 :doc: form helper </helpers/form_helper> , 这个特性就是内置的。只有在你不使用form helper的时候才需要手动调用。
session
([$key])
变量 string $key: |
在session中查找的健值名称. |
---|---|
返回: |
$key的值或者null,若$key不存在则返回一个session object实例。 |
返回类型: |
mixed |
timer
([$name])
参数: |
$name (string) – 检测点的名称. |
---|---|
返回: |
Timer 实例 |
返回类型: |
CodeIgniterDebugTimer |
- $name (string) – 检测点的名称.
返回: Timer 实例 返回类型: CodeIgniterDebugTimer 提供一个快速访问 Timer class的便捷的方法。 你可以将基准点的名称作为唯一参数传递。这将从这一点开始计时, 如果这个名称的计时器已经运行,则停止计时。 示例: // 获取一个timer实例 $timer = timer(); // 设置计时器的开始与结束点 timer('controller_loading'); // 开始计时器 . . . timer('controller_loading'); // 停止计时器运行
view
($name[, $data[, $options]])
参数: |
$name (string) – 被加载的文件名 $data (array) – 键值对数组,在视图中能被获取。 $options (array) – 可选的参数数组,用于传递值给渲染类. |
---|---|
返回: |
视图的输出. |
返回类型: |
string |
- $name (string) – 被加载的文件名
- $data (array) – 键值对数组,在视图中能被获取。
- $options (array) – 可选的参数数组,用于传递值给渲染类.
返回: 视图的输出. 返回类型: string 抓取当前的 RendererInterface-compatible 类(界面渲染类),告诉它展示特定的视图。给控制器、库、路由闭包提供了一种便捷的方法。 目前,在 $options 数组里只有一个选项是可用的,saveData 指定在同一个请求中,在多次调用 view() 时数据将连续。默认情况下, 在显示该单一视图文件之后,该视图的数据被丢弃。 $option 数组主要用于与第三方库整合,例如Twig。 Example: $data = ['user' => $user]; echo view('user_profile', $data);
详情参见 the Views 页。
其他函数
csrf_token
()
返回: |
当前 CSRF token 名称。 |
---|---|
返回类型: |
string |
csrf_header
()
returns: The name of the header for current CSRF token. rtype: string
The name of the header for current CSRF token.
csrf_hash
()
返回: |
当前 CSRF hash值. |
---|---|
返回类型: |
string |
csrf_field
()
返回: |
带有全部请求CSRF信息的隐藏input的HTML字符串。 |
---|---|
返回类型: |
string |
csrf_meta
()
returns: A string with the HTML for meta tag with all required CSRF information. rtype: string
Returns a meta tag with the CSRF information already inserted:
<meta name=”{csrf_header}” content=”{csrf_hash}”>
force_https
($duration = 31536000[, $request = null[, $response = null]])
参数: |
$duration (int) – 浏览器的秒数应该将此资源的链接转换为 HTTPS 。 $request (RequestInterface) – 当前请求对象的实例。 $response (ResponseInterface) – 当前响应对象的实例。 |
---|
- $duration (int) – 浏览器的秒数应该将此资源的链接转换为 HTTPS 。
- $request (RequestInterface) – 当前请求对象的实例。
- $response (ResponseInterface) – 当前响应对象的实例。
检查页面当前是否通过HTTPS访问,如果不是,则用户通过HTTPS重定向回当前URI。 将设置 HTTP 严格的传输安全标头,该命令指示现代浏览器自动将HTTP请求修改为 $duration 参数时间的HTTPS请求。
is_cli
()
返回: |
如果脚本是从命令行执行的,则为true,否则为false。 |
---|---|
返回类型: |
bool |
log_message
($level, $message[, $context])
参数: |
$level (string) – 级别程度 $message (string) – 写入日志的信息. $context (array) – 一个标记和值的联合数组被替换到 $message |
---|---|
返回: |
如果写入日志成功则为 TRUE ,如果写入日志出现问题则为 FALSE 。 |
返回类型: |
bool |
- $level (string) – 级别程度
- $message (string) – 写入日志的信息.
- $context (array) – 一个标记和值的联合数组被替换到 $message
返回: 如果写入日志成功则为 TRUE ,如果写入日志出现问题则为 FALSE 。 返回类型: bool 使用 app/Config/Logger.php 中定义的日志处理程序记录日志。 级别可为以下值: emergency, alert, critical, error, warning, notice, info, or debug. Context 可用于替换 message 字符串中的值。详情参见 the:doc:Logging Information <logging> 页。
redirect
(string $uri)
param string $uri: 需要引导用户重定向到的页面.
返回以后RedirectResponse的实例以便创建重定向:
// 回到上一个页面Go back to the previous page return redirect()->back(); // 跳转至具体的URI return redirect()->to('/admin'); // 跳转到一个命名路由或反向路由 URI return redirect()->route('named_route'); // 在跳转中保持原有的输入值,使得它们可以被 `old()` 函数调用。 return redirect()->back()->withInput(); // 显示一个消息 return redirect()->back()->with('foo', 'message'); 当将URI传给这个函数时。它将会被作为一个反向路由请求,而不是一个完整的URI,就像使用 redirect()->route()一样:: // 跳转到一个命名路由或反向路由 URI return redirect('named_route');
redirect_with_input
($uri[, …$params])
参数: |
$uri (string) – 重定向URI。 $params (mixed) – 一个或更多附加参数可被用于 the RouteCollection::reverseRoute() 方法。 |
---|
- $uri (string) – 重定向URI。
- $params (mixed) – 一个或更多附加参数可被用于 the
RouteCollection::reverseRoute()
方法。
跟“redirect()“方法等同, 该session刷新的请求中的 $_GET 和 $_POST的值除外。 在下一页的请求, 表单辅助类的 set_*
方法将首先检查旧的输入数据, 若没发现, 则当前的 GET/POST 将被检查。 注意 为了取回旧的值, session必须被启用,优先调用函数.
remove_invisible_characters
($str[, $urlEncoded = TRUE])
参数: |
$str (string) – 输入字符串 $urlEncoded (bool) – 是否移除URL编码字符 |
---|---|
返回: |
已过滤的字符串 |
返回类型: |
string |
- $str (string) – 输入字符串
- $urlEncoded (bool) – 是否移除URL编码字符
返回: 已过滤的字符串 返回类型: string 这个函数防止在 ASCII 字符之间插入空字符(NULL),例如 Java