October CMS 包含各种“助手”PHP 函数。其中许多函数由 October 自身内部使用,然而,如果您觉得它们有用,您可以自由地在您自己的插件和应用程序中使用它们。
array_add
array_divide
array_dot
array_undot
array_except
array_first
array_flatten
array_forget
array_get
array_only
array_pluck
array_pull
array_set
array_sort
array_sort_recursive
array_where
head
last
路径符号
应用路径
基础路径
配置路径
数据库路径
插件路径
公共路径
存储路径
临时路径
主题路径
缓存路径
驼峰命名
类基名
e
以...结尾
蛇形命名
字符串限制
以...开头
字符串包含
字符串结尾
字符串是
字符串复数
随机字符串
字符串单数
字符串友好链接
大驼峰命名
翻译
翻译选择
资产
配置
dd
环境
输入
获取
提交
文件
重定向
请求
响应
路由
安全资产
跟踪日志
跟踪SQL
URL
array_add()array_add 函数会将一个给定的键值对添加到数组中,如果该键在数组中尚不存在:
$array = array_add(['name' => 'Desk'], 'price', 100);
// ['name' => 'Desk', 'price' => 100]array_divide()该 array_divide 函数返回两个数组,一个包含键,另一个包含原始数组的值:
list($keys, $values) = array_divide(['name' => 'Desk']);
// $keys: ['name']
// $values: ['Desk']array_dot()array_dot 函数将一个多维数组扁平化为一个使用“点”表示法指示深度的单层数组:
$array = array_dot(['foo' => ['bar' => 'baz']]);
// ['foo.bar' => 'baz'];array_undot()array_undot 函数是 array_dot 方法的对应方法。它将把一个点符号表示的数组转换为一个标准的关联数组:
$array = array_undot([
'foo.bar' => 'baz'
]);
// [
// 'foo' => [
// 'bar' => 'baz'
// ]
// ]数组_除外()该 array_except 方法从数组中移除给定的键/值对:
$array = ['name' => 'Desk', 'price' => 100];
$array = array_except($array, ['price']);
// ['name' => 'Desk']数组首个()array_first 方法返回通过给定真值测试的数组的第一个元素:
$array = [100, 200, 300];
$value = array_first($array, function ($key, $value) {
return $value >= 150;
});
// 200一个默认值也可以作为第三个参数传递给该方法。如果没有值通过真值测试,则会返回此值:
$value = array_first($array, $callback, $default);展平数组()array_flatten 方法会将多维数组展平成单层。
$array = ['name' => 'Joe', 'languages' => ['PHP', 'Ruby']];
$array = array_flatten($array);
// ['Joe', 'PHP', 'Ruby'];array_forget()该 array_forget 方法使用“点”记法从一个深度嵌套数组中移除给定的键/值对:
$array = ['products' => ['desk' => ['price' => 100]]];
array_forget($array, 'products.desk');
// ['products' => []]array_get()该 array_get 方法使用“点”符号从深度嵌套的数组中获取一个值:
$array = ['products' => ['desk' => ['price' => 100]]];
$value = array_get($array, 'products.desk');
// ['price' => 100]该 array_get 函数也接受一个默认值,该值将在未找到指定键时返回:
$value = array_get($array, 'names.john', 'default');array_only()array_only 方法将从给定数组中仅返回指定的键/值对:
$array = ['name' => 'Desk', 'price' => 100, 'orders' => 10];
$array = array_only($array, ['name', 'price']);
// ['name' => 'Desk', 'price' => 100]array_pluck()该 array_pluck 方法将从数组中抽取给定键值对的列表:
$array = [
['developer' => ['name' => 'Brian']],
['developer' => ['name' => 'Stewie']]
];
$array = array_pluck($array, 'developer.name');
// ['Brian', 'Stewie'];array_pull()array_pull 方法返回并移除一个 键 / 值 对从数组中:
$array = ['name' => 'Desk', 'price' => 100];
$name = array_pull($array, 'name');
// $name: Desk
// $array: ['price' => 100]array_set()该 array_set 方法使用"点"表示法在一个深度嵌套的数组中设置一个值:
$array = ['products' => ['desk' => ['price' => 100]]];
array_set($array, 'products.desk.price', 200);
// ['products' => ['desk' => ['price' => 200]]]array_sort()该 array_sort 方法根据给定闭包的结果对数组进行排序:
$array = [
['name' => 'Desk'],
['name' => 'Chair'],
];
$array = array_values(array_sort($array, function ($value) {
return $value['name'];
}));
/*
[
['name' => 'Chair'],
['name' => 'Desk'],
]
*/数组_排序_递归()该 array_sort_recursive 函数递归地使用 sort 函数对数组进行排序:
$array = [
[
'Brian',
'Shannon',
'Alec',
],
[
'PHP',
'Ruby',
'JavaScript',
],
];
$array = array_sort_recursive($array);
/*
[
[
'Alec',
'Brian',
'Shannon',
],
[
'JavaScript',
'PHP',
'Ruby',
]
];
*/array_where()array_where 函数使用给定的闭包过滤数组:
$array = [100, '200', 300, '400', 500];
$array = array_where($array, function ($value, $key) {
return is_string($value);
});
// [1 => 200, 3 => 400]head()该 head 函数简单地返回给定数组中的第一个元素:
$array = [100, 200, 300];
$first = head($array);
// 100最后()last 函数返回给定数组中的最后一个元素:
$array = [100, 200, 300];
$last = last($array);
// 300路径前缀符号可用于创建动态路径。例如,以 ~/ 开头的路径将创建相对于应用程序的路径:
list: ~/plugins/acme/pay/models/invoiceitem/columns.yaml这些符号支持创建动态路径:
| Symbol | Description |
|---|---|
| `# Helpers |
October CMS 包含各种“辅助”PHP 函数。许多这些函数由 October 自身内部使用,但是,你可以自由地在你自己的插件和应用程序中使用它们如果你发现它们有用。
数组_添加
数组_分割
数组_点
数组_取消点记法
数组_排除
数组_第一个
数组_扁平化
数组_移除
数组_获取
数组_仅保留
数组_提取
数组_取出
数组_设置
数组_排序
数组_递归排序
数组_筛选
首项
末项
路径符号
应用路径
基础路径
配置路径
数据库路径
插件路径
公共路径
存储路径
临时路径
主题路径
缓存路径
驼峰式
类基名
转义
以...结尾
蛇形命名
限制字符串长度
以...开头
字符串包含
确保字符串结尾
字符串匹配
字符串复数形式
随机字符串
字符串单数形式
字符串短链接
大驼峰式
翻译
翻译选择
资产
配置
dd
环境
输入
获取
post
文件
重定向
请求
响应
路由
安全资产
跟踪日志
跟踪SQL
URL
array_add()array_add 函数将给定的键/值对添加到数组中,如果给定键在数组中尚不存在:
代码块0
数组分割()array_divide 函数返回两个数组,一个包含键,另一个包含原始数组的值:
代码块_1
array_dot()函数 array_dot 将多维数组扁平化为使用“点”表示法指示深度的单层数组:
代码块2
array_undot()array_undot 函数是 array_dot 方法的对应部分。它将把一个点式表示的数组转换成一个标准的关联数组:
代码块3
array_except()array_except 方法从数组中移除给定键/值对:
代码_块_4
array_first()array_first 方法返回通过给定真值测试的数组的第一个元素:
代码块5
一个默认值也可以作为第三个参数传递给该方法。如果没有值通过真值测试,则会返回这个值:
代码块_6
array_flatten()array_flatten 方法会将一个多维数组扁平化为一个单一层级。
代码块_7
array_forget()该 array_forget 方法使用“点”表示法从深度嵌套的数组中移除一个给定的键值对:
代码块_8
数组获取()array_get 方法使用“点”表示法从深度嵌套的数组中检索值:
代码块9
array_get 函数也接受一个默认值,如果未找到指定键,该值将被返回:
代码块10
仅数组()array_only 方法将只从给定数组中返回指定的键/值对:
代码块_11
array_pluck()该 array_pluck 方法将从数组中抽取给定键值对的列表:
代码块_12
array_pull()array_pull 方法从数组中返回并移除一个键值对:
代码块_13
array_set()array_set 方法使用“点”表示法在一个深度嵌套的数组中设置一个值:
代码块_14
数组_排序()该 array_sort 方法根据给定的闭包的结果对数组进行排序:
CODE_BLOCK_15
数组递归排序()array_sort_recursive 函数使用 sort 函数递归地对数组进行排序:
代码块_16
array_where()该 array_where 函数使用给定的闭包过滤数组:
代码块_17
head()该 head 函数 仅 返回 该 第一 元素 在 该 给定 数组:
代码块_18
末尾()该 last 函数返回给定数组中的最后一个元素:
代码块19
路径前缀符号可用于创建动态路径。例如,以 ~/ 开头的路径将创建相对于应用程序的路径:
代码块_20
这些符号可用于创建动态路径:
| Symbol | Description |
|---|---|
| Relative to the plugins directory | |
~ | Relative to the application directory |
# | Relative to the themes directory |
app_path()该 app_path 函数返回 app 目录的完全限定路径:
$path = app_path();您也可以使用 app_path 函数生成给定文件相对于应用程序目录的完全限定路径:
$path = app_path('Http/Controllers/Controller.php');base_path()该 base_path 函数返回到项目根目录的完整路径:
$path = base_path();您也可以使用 base_path 函数来生成相对于应用目录的指定文件的完整路径:
$path = base_path('vendor/bin');config_path($path = '')config_path 函数返回应用程序配置目录的完全限定路径:
$path = config_path();您也可以使用 config_path 函数来生成一个相对于配置目录的给定文件的完全限定路径:
$path = config_path('dev/cms.php');数据库路径()database_path 函数返回应用程序数据库目录的完全限定路径:
$path = database_path();插件路径($路径 = '')plugins_path 函数返回应用程序插件目录的完整路径:
$path = plugins_path();您也可以使用 plugins_path 函数来生成一个相对于插件目录的给定文件的完全限定路径:
$path = plugins_path('author/plugin/routes.php');public_path()该 public_path函数返回完全限定路径至public 目录:
$path = public_path();storage_path($path = '')storage_path 函数返回指向 storage 目录的完全限定路径:
$path = storage_path();你也可以使用 storage_path 函数生成一个相对于存储目录的给定文件的完整路径:
$path = storage_path('app/file.txt');temp_path($path = '')temp_path 函数返回一个用于临时文件的可写目录的完全限定路径:
$path = temp_path();您也可以使用 temp_path 函数来生成相对于临时目录的给定文件的完全限定路径:
$path = temp_path('app/file.txt');themes_path($path = '')themes_path 函数返回 themes 目录的完整路径:
$path = themes_path();您也可以使用 themes_path 函数来生成一个相对于主题目录的给定文件的完全限定路径:
$path = themes_path('mytheme/file.txt');cache_path($path = '')此 cache_path 函数返回应用程序缓存目录的完全限定路径:
$path = cache_path();您也可以使用 cache_path 函数,以生成相对于缓存目录的给定文件的完全限定路径:
$path = cache_path('cms/cachefile.json');camel_case()camel_case 函数将给定字符串转换为 camelCase:
$camel = camel_case('foo_bar');
// fooBarclass_basename()class_basename 返回给定类的类名,并移除该类的命名空间:
$class = class_basename('Foo\Bar\Baz');
// Baze()e 函数对给定的字符串运行 htmlentities:
echo e('<html>foo</html>');
// <html>foo</html>以...结尾()ends_with 函数判断给定字符串是否以给定值结尾:
$value = ends_with('This is my name', 'name');
// truesnake_case()该 snake_case函数 将给定字符串转换为snake_case:
$snake = snake_case('fooBar');
// foo_barstr_limit()该 str_limit 函数限制字符串中的字符数量。该函数接受一个字符串作为其第一个参数,以及最大结果字符数作为其第二个参数:
$value = str_limit('The CMS platform that gets back to basics.', 6);
// The CMS...以...开头()starts_with 函数用于判断给定字符串是否以给定值开头:
$value = starts_with('The cow goes moo', 'The');
// truestr_contains()此 str_contains 函数用于判断给定字符串是否包含给定值:
$value = str_contains('The bird goes tweet', 'bird');
// truestr_finish()该 str_finish 函数将给定值的单个实例添加到一个字符串:
$string = str_finish('this/string', '/');
// this/string/str_is()str_is 函数判断给定字符串是否匹配给定模式。星号可用于表示通配符:
$value = str_is('foo*', 'foobar');
// true
$value = str_is('baz*', 'foobar');
// falsestr_plural()str_plural 函数将字符串转换为其复数形式。此函数目前仅支持英语:
$plural = str_plural('car');
// cars
$plural = str_plural('child');
// children随机字符串()str_random 函数生成一个指定长度的随机字符串:
$string = str_random(40);str_singular()str_singular 函数将字符串转换为其单数形式。此函数目前仅支持英语:
$singular = str_singular('cars');
// carstr_slug()该 str_slug 函数 生成 一个 URL 友好的 “slug” 从 该 给定 字符串:
$title = str_slug("October CMS", "-");
// october-cmsstudly_case()studly_case 函数将给定字符串转换为 StudlyCase:
$value = studly_case('foo_bar');
// FooBartrans()The trans function translates the given language line using your localization files:
echo trans('validation.required'):trans_choice()该 trans_choice 函数翻译给定的语言行,带有时态变化:
$value = trans_choice('foo.bar', $count);asset()生成一个用于资产的 URL,使用该请求当前的方案(HTTP 或 HTTPS):
$url = asset('img/photo.jpg');配置()config 函数获取配置变量的值。配置值可以使用“点”语法访问,该语法包含文件名称和您希望访问的选项。可以指定一个默认值,如果配置选项不存在,则返回该默认值:
$value = config('app.timezone');
$value = config('app.timezone', $default);config 助手也可用于在运行时设置配置变量,方法是传入一个键 / 值对数组:
config(['app.debug' => true]);dd()dd 函数转储给定变量并结束脚本执行:
dd($value);环境()env 函数获取环境变量的值,或返回一个默认值:
$env = env('APP_ENV');
// Return a default value if the variable doesn't exist...
$env = env('APP_ENV', 'production');input()该 input 函数从所有请求值中获取一个输入项,包括文件。
$value = input('key', $default = null)get()该 get 函数从请求中获取一个输入项,仅限于GET变量:
$value = get('key', $default = null)post()该 post 函数从请求中获取一个输入项,仅限于 POST 变量:
$value = post('key', $default = null)文件()该 files 函数从请求中获取一个文件项:
$value = files('key', $default = null)重定向()该 redirect 函数返回重定向器的一个实例,以执行 重定向响应:
return redirect('/home');请求()这 request 函数返回当前的 请求实例:
$referer = request()->header('referer');response()该 response 函数创建一个 响应 实例或获取响应工厂的实例:
return response('Hello World', 200, $headers);
return response()->json(['foo' => 'bar'], 200, $headers);路由()这 route 函数为给定的 命名路由 生成一个 URL:
$url = route('routeName');如果路由接受参数,你可以将它们作为第二个参数传递给该方法:
$url = route('routeName', ['id' => 1]);secure_asset()使用 HTTPS 为资产生成 URL:
echo secure_asset('foo/bar.zip', $title, $attributes = []);追踪日志()trace_log 函数将追踪消息写入日志文件。
trace_log('This code has passed...');该函数支持传递异常、数组和对象:
trace_log($exception);
trace_log($array);
trace_log($object);您也可以传递多个参数来跟踪多条消息:
trace_log($value1, $value2, $exception, '...');trace_sql()该 trace_sql 函数启用数据库日志记录并开始监控所有 SQL 输出。
trace_sql();
Db::table('users')->count();
// select count(*) as aggregate from usersurl()该 url 函数为给定路径生成一个完全限定的 URL:
echo url('user/profile');
echo url('user/profile', [1]);