常用的 PHP「辅助」函数。
camelize
函数将给定字符串转换为 驼峰格式
:
echo camelize('coco_bongo'); // CocoBongo
echo camelize('co_co-bon_go', '-'); // Co_coBon_go
echo camelize('co_co-bon_go', '_-'); // CoCoBonGo
uncamelize
函数将给定的字符串转换为 蛇形格式
:
echo uncamelize('CocoBongo'); // coco_bongo
echo uncamelize('CocoBongo', '-'); // coco-bongo
lower
函数将给定的字符串转换为 小写
:
echo lower('HELLO'); // hello
upper
函数将给定的字符串转换为 大写
:
echo upper('hello'); // HELLO
starts_with
函数判断给定的字符串的开头
是否是指定值:
echo starts_with('Hello', 'He'); // true
echo starts_with('Hello', 'he'); // false
ends_with
函数判断给定的字符串结尾
是否是指定的内容:
echo ends_with('Hello', 'llo'); // true
echo ends_with('Hello', 'LLO'); // false
contains
函数判断字符串是否包含
指定的值:
echo contains('Hello', 'ell'); // true
echo contains('Hello', 'hll'); // false
echo contains('Hello', ['hll', 'ell']); // true
echo contains('Hello', ['hll', '']); // false
sanitize
使用对应过滤标识进行数据清洗,如:
echo sanitize('!100a019.01a', 'int'); // 10001901
echo sanitize('{"data":123}', 'string'); // {"data":123}
echo sanitize('some(one)@exa\\mple.com', 'email'); // [email protected]
可用的过滤标识有:
标识 | 描述 |
---|---|
int | 整数 |
absint | 绝对值 |
float | 小数 |
alnum | 字母和数字 |
alpha | 字母 |
邮箱 | |
url | URL |
trim | 同 trim() |
string | 字符串 |
strip_tags | 同 strip_tags() |
special | 将特殊字符转换为 HTML Entity Name:如 < 转为 < |
special_full | 将特殊字符转换为 HTML Entity Number:如 < 转为 < |
lower | 转为小写 |
upper | 转为大写 |
echo is_json('{"data":123}'); // true
echo is_json('{data:123}'); // false
mkdir_p
创建所有需要创建的父级目录:
mkdir_p('/path/a/b/c');
mkdir_p('/path/a/b/c', 0777);
env
获取环境变量,允许指定默认值:
// 当没有 MYSQL_HOST 这个环境变量时,返回默认的 localhost
env('MYSQL_HOST', 'localhost');
env_file
获取环境配置文件名,默认为 .env
,如果定义了 APP_ENV
环境变量,则返回对应的环境文件名。
如,创建 test.php,文件内容为:
<?php
include __DIR__ . "/src/helpers.php";
echo env_file();
默认执行 php test.php
,将输出 .env
:
php test.php
// 输出
.env
如果执行 APP_ENV=prod php test.php
,从命令行指定环境变量 APP_ENV=prod
将输出 .env.prod
:
APP_ENV=prod php test.php
// 输出
.env.prod
可配合 phpdotenv 加载对应环境配置文件的内容,假如环境配置文件放在项目根目录 BASE_PATH 下:
(new Dotenv(BASE_PATH, env_file()))->load();
加载后便可以使用 env
方法获取每一个环境变量的值,便于分离环境配置和项目代码。