如何获取 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 中使用的特征? 的相关文章

  • 展平数组:保持索引、值等于数组中的位置

    我在尝试以特定方式展平数组时遇到了一些麻烦 这里有一个print r我想要展平的数组的视图 Array 1 gt Array 8 gt 1 9 gt 2 10 gt Array 15 gt Array 22 gt 1
  • 如何配置 nginx 重写规则以使 CakePHP 在 CentOS 上运行?

    大家好 请帮帮我 我正在尝试在运行 Nginx 和 Fact CGI 的 Centos 服务器上设置 cakephp 环境 我已经在服务器上运行了一个 WordPress 站点和一个 phpmyadmin 站点 因此我已经正确配置了 PHP
  • Magento:如何在 CMS 页面中包含 php 调用

    按照此页面的说明进行操作 http www magento cc how to use php on a cms page html http www magento cc how to use php on a cms page html
  • SetInterval 函数不适用于 PHP 文件

    我有这样的index html
  • YUI压缩机或类似的PHP?

    我一直在我的测试服务器上使用 yuicompressor jar 来动态最小化已更改的 JavaScript 文件 现在我已经将网站部署到公共服务器上 我注意到服务器的策略禁止使用 exec 或其等效项 因此我不再执行 java 有没有一个
  • 在 CodeIgniter 中添加新页面

    对于我对 CodeIgniter 和 MVC 系统的无知 我提前表示歉意 我正在帮助一位家庭成员处理他们的商业网站 到目前为止 我已经能够仅通过逻辑来完成大部分所需的更改 但现在我已经走进了死胡同 我不打算继续支持他们 因为我显然不是 Co
  • 将 PHP 中的 openssl AES 转换为 Python AES

    我有一个 php 文件 如下所示 encryption encoded key c7e1wJFz PBwQix80D1MbIwwOmOceZOzFGoidzDkF5g function my encrypt data key encrypt
  • 禁用外部点击时关闭模式

    我正在制作一些使用模式的博客物质化 但我的模态 onclick 外部和错误数据有问题 这是我的代码 main js function changepassword var user userlog val var content conte
  • zend 表单验证

    我想知道 Zend Form 如何验证输入 我的意思是它如何知道要验证哪些输入字段 我查看了 php 全局变量 POST GET 但没有看到任何设置为标识符 例如 的内容 以便了解如何验证 有人能给我推荐一些关于这些东西的指南吗 好吧 找出
  • 如何在没有 session_destroy 的情况下销毁 Zend_Session_Namespace

    我使用以下方法在临时会话中存储一些值 job new Zend Session Namespace application 我如何只销毁会话应用无需清除所有会话 要从会话中删除值 请对对象属性使用 PHP 的 unset 函数 假设 job
  • 查明具有特定 ID 的会话是否已过期

    我正在创建一个上传功能 将用户上传的文件存储在服务器上 并以用户的会话 ID 作为名称 现在 我只想将此文件保留在服务器上 直到该会话处于活动状态 所以 我的问题是 如何根据会话 ID 确定会话是活动的还是过期的 以便在后一种情况下我可以安
  • PHP Github Pull 脚本错误“权限被拒绝(公钥)”

    我已经设置了一个 PHP 脚本来执行 GitHub 拉取 这包含在我的 Github 文件夹中 home mysite public html github github pull php 我的服务器已经有 SSH 公钥 就像我执行git
  • 在 mysqli 准备好的语句程序风格中获取最后插入的 id 的正确方法是什么?

    我正在使用 mysqli 准备好的语句在表中插入记录 如下所示 link mysqli connect localhost my user my password world check connection if link printf
  • 写入 xml 文件时允许的内存大小已耗尽(尝试分配 4459414 字节)[重复] 67108864 字节

    这个问题在这里已经有答案了 可能的重复 php 中允许的内存大小已耗尽 尝试分配 43148176 字节 33554432 字节 https stackoverflow com questions 415801 allowed memory
  • Apache 子进程已退出,状态为 255

    经过大量的搜索 尝试 修复 等待和哭泣 在我放弃之前 我想为这个错误抓住最后的机会 我们正在奔跑Microsoft Windows Server 2012 Apache 2 4 6 Win64 OpenSSL 1 0 1e PHP 5 5
  • ASP.NET MVC 3 中嵌入的 PHP 站点的 IgnoreRoute

    我有一个带有嵌入式 WordPress 博客的 MVC 3 网站 以下所有 url 均通过 MVC 定向 www mysite com www mysite com aboutus www mysite com contactus 我还有一
  • 将 echo 和 print 合并到一个语句中

    echo 1 print 2 3 返回 214 脚本如何以 14 结尾 当你这样做时 echo 1 print 2 3 PHP 会做 demo http codepad viper 7 com OfrNrs line op fetch ex
  • 2 使用我的代码在数组中查询

    我使用滑块来显示我的 WordPress 精选文章 它选择一个自定义类别并返回一定数量的帖子 如何将显示的第一篇帖子设为自定义帖子 我可以直接在滑块代码中添加特定帖子的 ID吗使该帖子首先出现 然后是原始查询返回的其他内容 例如 在页面上
  • 管理产品页面自定义字段显示在购物车和结账中

    我在产品页面的常规设置选项卡上的 WooCommerce 管理中创建了一个自定义字段 以插入几天的制造时间 我想在购物车和结帐页面上每个产品名称上方显示此自定义字段值 这是我的代码 Insert a Custom Admin Field f
  • Google Drive 服务帐户上传的位置

    我正在尝试使用服务帐户将文件上传到我的 Google 云端硬盘 当我部署此代码时 我不希望用户给予授权 我希望他们上传到我的帐户 我通过 PHP 使用它 下面是我到目前为止的情况 这段代码是基于官方文档给出的例子 当我运行 php 脚本时

随机推荐

  • 流畅的 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