[CodeIgniter4]-公共函数和全局常量

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 中定义的日志处理程序记录日志。 级别可为以下值: emergencyalertcriticalerrorwarningnoticeinfo, 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