php - 如何创建一个仅用于字符串操作的类并在所有其他类中用于在其他类中重复的特定操作
问题描述
我有一堂课:
class Users { ... }
我希望在某些方法中将字符串操作为小写/大写/驼峰化/等,而不必重新编写在我拥有的所有其他类中执行此操作的方法。
所以我想创建一个“字符串”类(或接口?或静态类?)并重新使用其他类中的功能,例如class Apps { ... }
仅用于计算或字符串操作。
我曾经新如何做到这一点,但就是不记得了。
解决方案
您可能正在寻找 Traits ( http://php.net/manual/en/language.oop5.traits.php )
<?php
trait StringUtils
{
protected function toLower($value)
{
return mb_strtolower($value);
}
protected function toUpper($value)
{
return mb_strtoupper($value);
}
}
class User
{
use StringUtils;
private $name;
public function __construct($name)
{
$this->name = $name;
}
public function displayName()
{
return $this->toLower($this->name);
}
}
$me = new User('Rick');
echo $me->displayName(); // rick
推荐阅读
- firebase - 为 Google Analytics(分析)网络 + 应用程序属性安排电子邮件报告
- django - 位置参数缺少“状态”
- java - 如何让 Spring Tools Suite 识别 spring 注释
- mongodb - Mongo DB中基于光标的分页,其中跳过或限制未知
- laravel - 如何在 plesk 服务器上处理 SQLSTATE[HY000] [1045] 错误?
- javascript - 使用 HTML、CSS 和 JS 的侧边栏中的多级下拉菜单
- elixir - 模块执行时如何将当前上下文带入模块中?
- linux - 如何检查文件是否来自 tmpfs 内存缓存或磁盘缓存
- r - ak fold cross validation 与开发集中的 AUC/Sensitivity/Specificity 值有何不同?
- google-cloud-platform - Deploying a Cloud Function from Cloud Build with --allow-unauthenticated