类 Inflector
将英语单词转换为复数和单数形式。
Inflector 将英语名词转换为复数和单数形式。CakePHP 框架中用到的命名约定广泛地使用它。
属性摘要
-
$_cache protected static
array<string, mixed>
方法缓存数组。
-
$_initialState protected static
array
Inflector 的初始状态,以便 reset() 起作用。
-
$_irregular protected static
array<string, string>
不规则规则
-
$_plural protected static
array<string, string>
复数变格规则
-
$_singular protected static
array<string, string>
单数变格规则
-
$_uninflected protected static
list<string>
不应该变格的词语
方法摘要
-
_cache() protected static
缓存变格后的值,如果已经存在则返回
-
camelize() public static
将输入的 lower_case_delimited_string 转换为 CamelCasedString。
-
classify() public static
返回给定数据库表的单数 CamelCase 变格。(对于表名 "people",返回 "Person")
-
dasherize() public static
将输入的 CamelCasedString 转换为带有连字符的字符串。
-
delimit() public static
期望 CamelCasedInputString,并生成 lower_case_delimited_string
-
humanize() public static
将输入的 lower_case_delimited_string 转换为 "人类可读字符串"。(下划线被替换为空格,并对后面的词语进行首字母大写。)
-
pluralize() public static
将 $word 转换为复数形式。
-
reset() public static
清除 Inflectors 变格后的值缓存。并将变格规则重置为初始值。
-
rules() public static
添加自定义变格 $rules,可以是 'plural'、'singular'、'uninflected' 或 'irregular' $type。
-
singularize() public static
将 $word 转换为单数形式。
-
tableize() public static
返回给定模型 $className 的对应表名。(对于类名 "Person",返回 "people")
-
underscore() public static
将输入的 CamelCasedString 转换为带有下划线的字符串。
-
variable() public static
返回带有驼峰式的带有下划线的字符串。
方法详情
_cache() ¶ protected static
_cache(string $type, string $key, string|false $value = false): string|false
缓存变格后的值,如果已经存在则返回
参数
-
string
$type 变格类型
-
string
$key 原始值
-
string|false
$value optional 变格后的值
返回
string|false
camelize() ¶ public static
camelize(string $string, string $delimiter = '_'): string
将输入的 lower_case_delimited_string 转换为 CamelCasedString。
参数
-
string
$string 要转换为驼峰式的字符串
-
string
$delimiter optional 输入字符串中的分隔符
返回
string
链接
classify() ¶ public static
classify(string $tableName): string
返回给定数据库表的单数 CamelCase 变格。(对于表名 "people",返回 "Person")
参数
-
string
$tableName 要获取类名的数据库表名
返回
string
链接
dasherize() ¶ public static
dasherize(string $string): string
将输入的 CamelCasedString 转换为带有连字符的字符串。
还将下划线替换为连字符
参数
-
string
$string 要转换为带有连字符的字符串。
返回
string
delimit() ¶ public static
delimit(string $string, string $delimiter = '_'): string
期望 CamelCasedInputString,并生成 lower_case_delimited_string
参数
-
string
$string 要进行分隔的字符串
-
string
$delimiter optional 用作分隔符的字符
返回
string
humanize() ¶ public static
humanize(string $string, string $delimiter = '_'): string
将输入的 lower_case_delimited_string 转换为 "人类可读字符串"。(下划线被替换为空格,并对后面的词语进行首字母大写。)
参数
-
string
$string 要转换为人类可读形式的字符串
-
string
$delimiter optional 要替换为空格的字符
返回
string
链接
pluralize() ¶ public static
pluralize(string $word): string
将 $word 转换为复数形式。
参数
-
string
$word 单数形式的词语
返回
string
链接
rules() ¶ public static
rules(string $type, array $rules, bool $reset = false): void
添加自定义变格 $rules,可以是 'plural'、'singular'、'uninflected' 或 'irregular' $type。
用法
Inflector::rules('plural', ['/^(inflect)or$/i' => '\1ables']);
Inflector::rules('irregular', ['red' => 'redlings']);
Inflector::rules('uninflected', ['dontinflectme']);
参数
-
string
$type 变格类型,可以是 'plural'、'singular' 或 'uninflected'。
-
array
$rules 要添加的规则数组。
-
bool
$reset optional 如果为 true,将取消为 $rules 中定义的所有新规则设置默认变格。
返回
void
singularize() ¶ public static
singularize(string $word): string
将 $word 转换为单数形式。
参数
-
string
$word 复数形式的词语
返回
string
链接
tableize() ¶ public static
tableize(string $className): string
返回给定模型 $className 的对应表名。(对于类名 "Person",返回 "people")
参数
-
string
$className 要获取数据库表名的类名
返回
string
链接
underscore() ¶ public static
underscore(string $string): string
将输入的 CamelCasedString 转换为带有下划线的字符串。
还将连字符替换为下划线
参数
-
string
$string 要转换为带有下划线的字符串 CamelCasedString
返回
string
链接
variable() ¶ public static
variable(string $string): string
返回带有驼峰式的带有下划线的字符串。
参数
-
string
$string 要转换的字符串。
返回
string