了解 PHP 中的类

2024-03-15

我正式成为弱智。 [让我解释]

直到今天我才真正考虑过类和它们之间的关系。我试图找出一些看起来很明显的东西,但由于我很愚蠢,所以我看不到它。

假设我有一个将从不同文件扩展的核心类。子类如何调用其他兄弟类的函数(也就是说,如果这些类根本被视为子类)。 示例代码:(别杀我)

class cOne { 
    public function functionOne(){
       echo "something";
    }
}

然后在另一个文件上,我说:

class cOneChildOne extends cOne { 
    public function functionOne(){
       echo "something from child one";
    }
}

在另一个文件中我说:

class cOneChildTwo extends cOne { 
    public function functionOne(){
       echo "something from child two";
    }
}

我必须如何创建一个新对象以及何时创建一个新对象,以便我能够以类似于以下的方式访问子类和父类的函数$newObject->Children->function();我正在认真考虑这个选项,我今天已经完全失去了理智,无法正常思考。

从那以后我显然做错了什么:$newObject = new cOne;创建对象,但子类之一的代码无法访问不直接位于核心类或其本身的任何内容。

Thanks


您可以在主类静态数组中收集子实例

class C1{  
  static public $childs=array();
  function __construct(){
    self::$childs[]=$this;    
  }
}
class C1C1 extends C1{
  function hi(){
    echo 'hi from C1C1 <br />';
  }  
}
class C1C2 extends C1{
  function hi(){
    echo 'hi from C1C2 <br />';
  }    
}

$c1 = new C1C2();
$c2 = new C1C2();
$c3 = new C1C1();
$c4 = new C1C1();
$c5 = new C1C1();
$c6 = new C1C1();
foreach(C1::$childs as $c){
  $c->hi();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

了解 PHP 中的类 的相关文章

  • Laravel 5 通过外部 API 对用户进行身份验证

    我想知道是否可以扩展内置身份验证以使用外部 API 来对用户进行身份验证 我是 Laravel 新手 非常感谢您的帮助 我正在 Laravel 5 2 中为我的客户制作一个自定义应用程序 但我无法直接访问他们的数据库服务器 我只能调用他们的
  • 获取资源 #id 3 错误

    当我运行此命令时 得到资源 id 3 结果 请查看我的代码并帮助我解决这个问题 拜托
  • 将加载 gif 添加到简单脚本中

    我对 Javascript 真的很陌生 但我已经有了这个加载 url 内容的脚本 一切都工作正常 我使用按钮上的 onClick 方法调用 plannerSpin 函数 但是当这一切发生时 我将如何显示动画 gif var xmlHttp
  • 连接数据库错误类型:2002:权限被拒绝

    我正在尝试使用以下脚本连接数据库 cxn test php
  • 使用 str_replace 使其仅作用于第一个匹配项?

    我想要一个版本str replace 仅替换第一次出现的 search in the subject 有没有一个简单的解决方案 或者我需要一个 hacky 解决方案 虽然没有它的版本 但解决方案一点也不黑 pos strpos haysta
  • 在 WordPress 中挂钩 AJAX

    我一直在深入研究 Javascript 和 AJAX 的世界 我非常接近 但由于某种原因 我认为我没有正确地连接到 wordpress ajax 函数 我已经仔细阅读了文档和这个 认为 99 都在那里 这个应用程序的作用是有一个项目列表 每
  • 将优惠券百分比添加到 WooCommerce 中的购物车页面

    我试图在购物车页面中显示优惠券百分比 但收到几个错误 这是我的自定义代码 Add Coupon Percentage to Cart function my coupon percentage cart value coupon if co
  • 递归树遍历 - 如何跟踪递归级别?

    我基本上试图从表示树结构的多维数组构建 html ul li 嵌套列表 下面的代码工作正常 但我想改进它 我需要一种方法来跟踪递归级别 以便我可以将不同的类应用于不同的级别 向生成的输出添加缩进等 function buildTree tr
  • nginx + php-fpm = 找不到文件

    当我尝试访问时info php我得到一个File not found error 我尝试了一些教程但无济于事 配置 默认 server listen 80 listen 80 default ipv6only on server name
  • 使用 Stripe 创建订阅后如何获取费用 ID?

    我在用Stripe作为支付网关 现在有一个大问题困扰着我 我使用下面的代码来创建订阅
  • 将平面数组拆分为分组子数组,其中包含输入数组中连续键的值

    我有一个数组array diff函数 如下所示 Array 0 gt world 1 gt is 2 gt a 3 gt wonderfull 5 gt in 6 gt our 正如您所看到的 键 3 和键 5 之间有一个间隙 即没有键 4
  • PHP、in_array 和数组中的快速搜索(到最后)

    我对在数组中进行快速搜索的更好方法有疑问 我正在谈论一个特定的情况 假设我有一个数组 L A B C 当我开始时 当程序运行时 L 可能会增长 但到最后 当我进行搜索时 一个可能的原因是 L A B C D E 事实是 当我搜索时 我想要找
  • 如何更改数组键从 1 而不是 0 开始[重复]

    这个问题在这里已经有答案了 我在某个数组中有值 我想重新索引整个数组 以便第一个值键应该是 1 而不是零 即 默认情况下 PHP 中的数组键从 0 开始 即0 gt a 1 gt b 我想重新索引整个数组以从 key 1 开始 即1 gt
  • PHP通知和警告的区别

    当编写代码错误时 可能会出现警告和通知 我知道错误背后的想法 我想警告是为了通知您可能导致错误的事情 但通知不是完全相同吗 我认为通知并不是某件事做得正确的消息 这让我有点困惑 任何人都可以区分这两者之间的区别以及应该如何处理这些消息 通知
  • 无法绑定到“属性 X”,因为它不是“子组件”的已知属性

    在我的项目中 我有一个通用类和一些从该类继承的其他组件 BaseRdnInput ts Injectable export abstract class BaseRdnInput implements ControlValueAccesso
  • 我可以使用 vim “star” 搜索来搜索 PHP 类成员和方法吗?

    vim 星号 星号搜索 help star 是一个很棒的功能 它可以让您找到光标所在单词的下一个出现位置 不幸的是 它将美元前缀视为字符串的一部分 因此如果我在类名中的 SearchTerm 上方按 它会在注释中找到 SearchTerm
  • PHP 多个 Curl 请求

    我目前经常使用 PHP 的 Curl 每次获取100页左右的结果需要花费很多时间 对于每个请求 我都使用这样的代码 ch curl init get source curl close ch 我有什么选择可以加快速度 我应该如何使用mult
  • 如何只允许从我的 iOS 应用程序访问我的 MySQL 数据库? (使用webapp作为数据库的网关)

    我的 iOS 应用程序需要连接到 mysql 服务器 为了实现这一目标 我想创建一个 Web 应用程序 充当客户端应用程序和服务器端数据库之间的中间人 我担心的是 有人可以简单地找出我的应用程序使用的 URL 并传递他们自己的 URL 参数
  • 在 PHP 上发送不带 SMTP 标头的 SMS

    我正在尝试使用以下对我有用的代码通过 PHP 发送短信验证码 但我越来越 email protected cdn cgi l email protecti
  • 谷歌图片搜索API

    我有一个网站 用户可以在其中提交图片 我想用这些图片自动在 Google 上进行搜索 以尽量减少图片被从其他网站盗用的可能性 我知道 Firefox 扩展 但这需要我右键单击每张图片并等待结果出现 我想自动化这个 我一直在寻找 API 但

随机推荐

  • AngularJS - 为什么需要 $apply 来正确解决 $q 承诺?

    我正在尝试在我的角度应用程序中编写一个小型服务 这将使我能够选择全局 Javascript 对象中指定的配置参数 我不想尝试访问全局配置对象 除非文档已准备好 因为我无法保证脚本元素在 HTML 中插入的顺序 但是 我不明白为什么我需要打电
  • css 内联块与浮动

    我正在做一些测试float and inline block我注意到它们之间存在差异 正如你可以看到的这个例子 http codepen io anon pen kwrtD 如果我使用display inline blockdiv 之间有一
  • 如何检测OutofMemoryError的原因?

    我抱怨我的服务器应用程序在高负载时崩溃 这是一个运行在以下位置的网络应用程序Tomcat 5 我看到线程转储 并且发现存在 OutOfMemory 错误 1TISIGINFO 转储事件 systhrow 00040000 详细信息 java
  • java.lang.ClassCastException:DTOObject 无法转换为 DTOObject

    我在 Spring Boot 1 4 0M3 上运行的应用程序中遇到一个奇怪的问题 该应用程序使用 Spring 缓存实现 其中提供程序是 Redis 我收到 classCastException 无法转换相同的对象 我使用 Mongodb
  • C 中用户定义的数组大小

    我正在阅读 C 插图 第一个练习题问 MATMUL 程序将固定大小的矩阵相乘 使程序处理任何指定的尺寸 下面是我迄今为止提出的代码 但是我读到所有属性都需要在主函数之前声明 那么如何获得自定义大小的数组而不在主函数中声明它们呢 define
  • NSPopover - 焦点丢失时隐藏? (在弹出窗口外单击)

    我正在使用doubleClickAction of a NSTableView显示一个NSPopover 像这样的东西 NSInteger selectedRow dataTableView clickedRow NSInteger sel
  • 立即调用函数表达式:括号放在哪里?

    我看过IIFE的写法 function console log do cool stuff 也 function console log do more cool stuff 它们在我使用过的任何环境中似乎都一样工作 尽管有时我被告知一种方
  • Tomcat 6 - 请求的资源...不可用

    我正在尝试开始使用 Java 和 Stripes Framework 进行开发 我的 web xml 文件中有以下内容
  • Dropbox sdk 存储库 maven

    即使这听起来像是一个愚蠢的问题 我也无法找到 dropbox sdk 所在的存储库 所以在我的 pom xml 中我声明了这个依赖项
  • 如何在多个 Pod 上挂载相同的持久卷?

    我有一个三节点 GCE 集群和一个具有三个副本的单 Pod GKE 部署 我像这样创建了 PV 和 PVC Create a persistent volume for web content apiVersion v1 kind Pers
  • R 中的时间序列突破/变化/干扰检测:strucchange、changepoint、BreakoutDetection、bfast 等

    我希望这成为 R 中各种时间序列突破 变化 干扰检测方法的路标 我的问题是描述以下每个包的动机和方法差异 也就是说 什么时候使用一种方法比另一种方法更有意义 相似 差异等 有问题的包 结构变化 http cran r project org
  • 从 NXC 中的文件返回负值

    我将值保存到 NXC 不是 eXactly C 中的 csv 文件 然后在稍后的时间点调用它们 我遇到的问题是 当从单元格中调用任何负值时 它会显示为 0123 而不是 123 这会导致我所有的额外计算失败 当前的代码是 OpenFileR
  • X-RequestDigest:运行共享点页面记录的 Web 测试时出现错误

    我已成功记录并重播我的 sharepoint webtest 但一两周后 当我在 Visual Studio 中重播它时 我收到 403 FORBIDDEN 错误 我了解 X RequestDigest 的证书 令牌详细信息已过期 需要在我
  • 如何实现运行时多种策略的使用

    我需要处理从服务返回的记录列表 然而 记录的处理算法根据记录上的某个字段而完全改变 为了实现这一点 我定义了一个 IProcessor 接口 它只有一个方法 public interface IProcessor ICollection
  • 在 Windows 64 中编译 32 位应用程序时无法解析的外部符号

    所以我正在尝试将遗留应用程序从 32 位编译为 64 位 我重新编译了它使用的所有库 并使其查找 WIN SDK6 0A x64 位的库 我在用 Visual Studio 专业版 2008 视觉C dotNet 框架 3 5 SP1 Wi
  • GeoJson c# 示例解析世界上的国家并为每个国家生成Geojson

    寻找如何使用 geojson net 解析 反序列化 Geojson 文件的示例 由于某种原因 没有如何使用 geojson net 包的示例 我想在我的网站上使用它和 google 地图 api 目前我使用多边形形状 但希望转向使用 ge
  • Android 中文本行的垂直 fling 滚动

    我已经实现了 Android Note Pad 示例代码中的编辑器代码 现在我想添加垂直滚动文本行的功能 我想要完成的一个例子是 Andorid 中选项行的快速滚动 我在谷歌上搜索了滚动器和投掷的示例 但找不到任何适合我需要的东西 我还没有
  • 如何将 IP 地址和端口号作为 url 传递

    为了传递 url 我有 ip 地址和端口号 如何将其作为 http url 发送 ex ip address 10 5 90 948 port number as 71 http 10 5 90 948 71 这需要网址吗 如果不是 如何将
  • ASP.NET MVC 记住我

    我有一个基于 ASP NET MVC 4 的项目 可以进行简单的身份验证 我试图让我的网站在用户选中 记住我 复选框时自动登录 但是我在使其正常工作时遇到问题 关闭浏览器并重新打开后 用户永远不会登录 检查后 http forums asp
  • 了解 PHP 中的类

    我正式成为弱智 让我解释 直到今天我才真正考虑过类和它们之间的关系 我试图找出一些看起来很明显的东西 但由于我很愚蠢 所以我看不到它 假设我有一个将从不同文件扩展的核心类 子类如何调用其他兄弟类的函数 也就是说 如果这些类根本被视为子类 示