如何获取 php-class 中使用的特征?

2024-01-11

PHP(5.4)中是否有任何函数可以将使用的特征作为数组或类似的:

class myClass extends movingThings {
  use bikes, tanks;

  __construct() {
    echo 'I\'m using the two traits:' . ????; // bikes, tanks
  }
}

要轻松获取使用的特征,您可以调用类_uses() http://php.net/class_uses

$usedTraits = class_uses(MyClass);
// or
$usedTraits = class_uses($myObject);

一般建议

在检查可用功能时,我通常建议使用interfaces。要将默认功能添加到您将使用的界面traits。这样您也可以从类型提示中受益。

通过实现接口来强制对象具有功能,然后使用特征来实现该接口的默认代码。

class MyClass 
    implements SomeInterface 
{
    use SomeTrait;
}

然后您可以通过以下方式检查界面:

$myObject = new MyClass();
if ($myObject instanceof SomeInterface) {
    //...
}

并且仍然使用类型提示;

function someFunction( SomeInterface $object )
{ 
    //...
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何获取 php-class 中使用的特征? 的相关文章

  • 如何在 Python 中包含 PHP 脚本?

    我有一个 PHP 脚本 news generator php 当我包含它时 它会抓取一堆新闻项并打印它们 现在 我在我的网站 CGI 中使用 Python 当我使用 PHP 时 我在 新闻 页面上使用了这样的内容 为了简单起见 我删掉了这个
  • 按通用值对值进行分组:userid 和 ipaddress

    我正在解决数据库中的一个问题 我正在尝试查找使用多个帐户的用户 我有一个用户 ID 和使用的 IP 地址的列表 如下所示 用户 ID IP 地址 1 IP 地址 13 2 IP 地址 23 1 IP 地址 12 4 IP地址56 9 IP
  • 非静态类中的静态方法和静态类中的静态方法有什么区别?

    我有两个班级A级和B级 static class ClassA static string SomeMethod return I am a Static Method class ClassB static string SomeMeth
  • 如何在 Laravel 查询中使用多个 OR,AND 条件

    我需要 Laravel 查询帮助 我的自定义查询 返回正确结果 Select FROM events WHERE status 0 AND type public or type private 如何写这个查询Laravel Event w
  • 使用 php 获取当前月份的最后 3 个月

    我想获取当前月份最近 3 个月的名称 例如当前月份是八月 所以 我想要六月 七月 八月这样的数据 我已经尝试过这段代码echo date F strtotime 3 months 它只返回六月 如何使用 php 获取当前月份的最后 3 个月
  • 如何通过php的require()或include()函数传递变量?

    当我使用这个时 require diggstyle code php page page no 警告是 无法打开流 第 198 行 C xampp htdocs 4ajax gallery core php 中没有错误 错误是 Failed
  • 如何在类似 MVC 的页面中加载基于漂亮 URL 的类?

    我想请教一些关于如何解决这个问题的提示 我正在尝试构建自己的 MVC 网站 我了解了 URL 的基础知识 http example com blog cosplay cosplayer expo today 博客 gt 控制器cosplay
  • PHP:读取字体文件的 TrueType/OpenType 元数据

    如何阅读字体详细信息 例如 字体在其元数据中包含版权 姓氏 设计者 版本等信息 我还希望脚本能够计算文件中的字形数量 并返回字体支持的语言 例如 典型的字体可能包含西方语言 瑞典语和罗马语言支持 并具有数百个字形 它应该支持 truetyp
  • 将 Google 信任徽章添加到 Magento

    我正在尝试将 Google Trust Badge 添加到我的 magento 商店 我尝试在 Magento 网站上搜索扩展程序 但找不到 我是否需要将以下代码粘贴到产品和结账页面 还是必须对其进行更改 如果有人能引导我走向正确的方向 我
  • 如何在 yii2 中使用两个不同的模型登录或切换身份类别?

    我想允许用户从两个不同的模型登录 配置文件 user gt identityClass gt app models User one more class here enableAutoLogin gt false authTimeout
  • WordPress 分页自定义帖子类型

    我有一个名为 新闻 的页面 使用页面模板page newslist php 它应该显示来自自定义帖子类型 也称为新闻 的帖子 我意识到两者具有相同的名称会导致问题 因此在注册自定义帖子类型时 我进行了重写以将其与页面区分开来 rewrite
  • fgetcsv 在特定行打开?

    有没有办法使用 fgetcsv 在特定行上打开 我有一个非常大的 csv 想通过 ajax 一次运行大约 100 行 我可以轻松停止 while 循环 但如何在特定行上打开 或者这是不可能的 从第 100 行开始读取没有简单的方法 但您可以
  • 强制 Composer 下载 git repo 而不是 zip

    我对作曲家有一些问题 require php gt 5 3 2 kriswallsmith buzz 0 7 Repo https github com kriswallsmith Buzz tree v0 7 https github c
  • Apache、PHP 和 MySQL 可移植吗?

    我可以在外部硬盘上运行 Apache PHP 和 MySQL 吗 我需要这个 因为我在不同的地方工作 计算机 有时我没有安装和配置所有使用的应用程序 当然可以 XAMPP http www apachefriends org en xamp
  • PHP 数组通过 JSON 转为 jquery 数组

    我有点困惑为什么以下不起作用 get php
  • 从数据库填充复选框

    我有两个表 第一个由与名称关联的 id 组成 1 汽车 2 火车 3 普通 ETC 第二个表由两个字段 user id 和第一个表中的 id 组成 例如 1 1 2 1 3 当用户转到该页面时 我试图重新填充选定的复选框 首先 您查询数据库
  • php curl 使用 GET 发送变量 奇怪的结果

    我正在尝试调用远程站点上页面中的网址 决定使用curl 在远程站点上 url 变量显示为 REQUEST Array var1 gt val1 amp var2 gt val2 amp var3 gt val3 被调用的url是 http
  • Laravel $request->file() 返回 null

    尝试在后端使用 Laravel 上传文件时遇到问题 Issue Laravel request gt file 方法返回 null Setup 我使用以下方法构建了一个 AJAX 请求超级代理人 https github com visio
  • 使用 php-ews(Exchange Web 服务)在特定日期后获取电子邮件

    在我的 PHP 脚本中 我需要弄清楚如何检索指定消息 ID 之后或特定日期之后的所有电子邮件 两者都可以 我只需要检索自上次抓取收件箱以来的新电子邮件 这个收件箱每天收到数千封电子邮件 而且我在 30 天内无法删除任何电子邮件 对于初始导入
  • 一种无需 JavaScript 即可在 PHP 中确定浏览器宽度的方法?

    首先有吗 或者我必须使用javascript 我希望能够更改使用的 CSS 因此 frex 我可以为移动设备或其他设备加载较小的字体 不幸的是 仅使用 PHP 无法检测用户分辨率 如果您使用 Javascript 则可以在 cookie 中

随机推荐

  • 流畅的 nhibernate 映射问题:多对多自连接附加数据

    我正在努力处理以下 sql 表的映射 Post PostRelation PostId 1 ParentPostId other stuff 1 ChildPostId RelationType 理想情况下 我希望帖子上有一个名为相关帖子的
  • Asp.net Identity 2.0自定义登录方法

    我正在使用 Identity 2 0 开发 ASP NET 5 应用程序 我有两种类型的用户 正常 他们使用标准登录方法进行身份验证 临时 他们应该根据提供的令牌登录 我不想存储临时用户 除了验证用户所需的信息 某些用户名和令牌 如果用户提
  • plot.nn 中的错误:未计算权重

    我在尝试绘制神经网络时收到一条错误消息 我一开始能够正常运行代码 然后就停止了 运行 Neuronet 函数时 我没有收到错误消息 任何帮助 将不胜感激 我预测贷款违约 library neuralnet library plyr Cred
  • __has_trivial_copy 在 clang 和 gcc 中的行为不同。谁是对的?

    std is trivially copyable这两个编译器仍然不支持 至少到 gcc 4 6 为止 但两者都提供 has trivial copy做得很好的指令 除非涉及已删除的复制构造函数 struct A A A const del
  • iOS 为 uiwebview 内容启用 AirPrint

    我对 XCode 和应用程序开发非常陌生 我目前正在 iPad 上的 uiwebviews 中加载基于 Web 的应用程序 当加载某一特定页面时 它会显示一个 pdf 文件 我希望能够使用 AirPrint 打印此 pdf 文件 我正在寻找
  • 在 Visual Studio 中编译单个类/文件

    我只是想知道我们是否可以在 Visual Studio 中编译单个文件 类 我经常只更改一个文件 但最终会编译整个项目 这可能是一个微不足道的案例 但会非常有帮助 我正在使用 Visual Studio 2005 处理 net 2 0 中的
  • MySQL获取两个值之间的随机值

    我有两列连续 min value max value 有没有办法进行如下选择 SELECT RAND min v max v foo 我确实意识到RAND做不同的事情 我最接近的 在帮助下 是 RAND max min min 尽管它会产生
  • 在 Dart Angular 中,如何将函数传递给组件

    我有一个组件 MyComp 我想将一个函数作为参数传递给它 更准确地说 我想做这样的事情 飞镖组件文件 NgComponent selector mycomp publishAs ctrl map const myfunc gt myfun
  • Visual Studio 2008 中的“撤消”功能停止工作

    I ll be coding along in Visual Studio 2008 and eventually I make a mistake I press CTRL Z to undo and NOTHING HAPPENS I
  • Visual Studio 2008 - 添加引用

    当添加 DLL 作为对 ASP Net 项目的引用时 VS2008 会向 bin 目录添加几个文件 如果DLL名为foo dll VS2008会添加foo dll refresh foo pdb和foo xml 我知道foo dll是什么
  • 使用 javascript .replace regex 将数字括在括号中

    我有这个字符串 我试图用括号括住后面的数字数组 位置 和颜色 str Label 3 1 位置 115 234 宽度 126 高度 20 文本 另一个按钮 字体大小 18 颜色 0 0 0 1 我可以使用这个正则表达式来做到这一点 但前提是
  • CSR 是否需要使用匹配的私钥进行签名?

    使用 OpenSSL 生成 CSR 时 您有两个选择 1 生成CSR时生成私钥 2 使用私钥导出公钥并使用公钥创建CSR CSR 是否需要使用匹配的私钥进行签名 以便 CA 对其进行验证 假设 如果我有两个密钥对 PubKey1 PrivK
  • 运行代码时将 Access Report 导出到保存的 PDF 文件的简单 VBA 代码

    我在这里寻找一个非常简单的解决方案 我只是想要一个可以一遍又一遍运行的 vba 脚本 以一遍又一遍地将相同的 Access 报告 随着时间的推移而变化 保存到同一个文件中 我需要每次都使用相同的名称 并且不想提示文件名已经存在 在我的研究中
  • 如何在QToolButton中放置透明背景的png图像

    我想在 QToolButton 中放置一个 png 图像作为背景 但我无法获得按钮中的透明部分 透明部分在我的 QToolButton 中显示为白色 有人能建议如何去除透明的白色部分吗 我猜你的 png 文件有问题 下面的代码 QToolB
  • 无法将频道保存到 PFInstallation (iOS)

    我正在尝试从 PFInstallation 添加 删除通道 但我不断收到相同的错误消息 Terminating app due to uncaught exception NSInternalInconsistencyException r
  • 为什么这个属性没有为函数类定义,但为同一函数类的实例定义? [复制]

    这个问题在这里已经有答案了 我正在查看以下示例MDN https developer mozilla org en US docs Web JavaScript Inheritance and the prototype chain fun
  • FancyBox2 - 标题位于顶部和底部?

    发现了几个类似的问题 但没有这个具体问题的答案 有没有办法在 FancyBox2 模式 弹出窗口的顶部和底部添加标题 我知道如何将标题放置在顶部或底部 但需要在顶部放置标题 在底部放置说明文字 提前感谢大家 您可以修改默认的 fancybo
  • PyInstaller 权限错误(以管理员身份运行)

    我在使用时遇到一些问题py安装程序打包一个项目 我过去曾成功地将它用于更简单的脚本 但我正在尝试打包一个更大的项目 调用多个脚本和模块的 pyqt4 gui 并且收到以下错误 IOError Errno 13 权限被拒绝 C Users u
  • Spring Data Mongodb 的性能问题

    我在 spring data mongodb 上遇到了一个问题 在一种方法中 我请求一个简单的 查找 来检索 1000 个文档 我的春季数据代码在这里 Query myquery query where ipp is ipp and COD
  • 如何获取 php-class 中使用的特征?

    PHP 5 4 中是否有任何函数可以将使用的特征作为数组或类似的 class myClass extends movingThings use bikes tanks construct echo I m using the two tra