请教关于方法的调用

南方不笑 2019-10-13 08:58:15
文件1 class A { function a(){ //a方法内容 } function b(){ //调用文件2中B类的c方法 } } 文件2 class B { function c(){ $this->a(); } } 这样一定出错,因为两个类在不同文件,c方法调用不到A类的a方法。文件2是希望用做公共方法调用,请教有没有解决方案?
...全文
77 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
南方不笑 2019-10-15
  • 打赏
  • 举报
回复
引用 8 楼 xuanziran的回复:
除了继承与命名空间外还有反射,容器等方面的写法,不过涉及知识较多,这论坛上面不是很好操作,如果不想用继承的话命名空间应该能满足你的需求,鉴于目前情况暂时不考虑做其他方面的补充,物极必反,一次性太多了反而不好学
谢谢!学习了。。。。
于小九 2019-10-14
  • 打赏
  • 举报
回复
除了继承与命名空间外还有反射,容器等方面的写法,不过涉及知识较多,这论坛上面不是很好操作,如果不想用继承的话命名空间应该能满足你的需求,鉴于目前情况暂时不考虑做其他方面的补充,物极必反,一次性太多了反而不好学
于小九 2019-10-14
  • 打赏
  • 举报
回复
引用 5 楼 weixin_38417307的回复:
[quote=引用 2 楼 xuanziran的回复:]//文件1 <?php class A { function __construct(){ } public function a(){     //a方法内容     return "i'm A_a()<br/>"; } public function b(){     //调用文件2中B类的c方法     return "i'm B_b()<br/>"; } } //文件2 <?php require_once("tools.php"); class B extends A{ public function c(){     return "i'mB_c + ".$this->a(); } } $tools = new B(); echo $tools -> a(); echo $tools -> b(); echo $tools -> c();  
不想用继承,有没有其他办法呢[/quote] //文件1 <?php namespace spacename; class toolsclass{ //自定义函数  function a(){ return "我是自定义函数a<br/>"; } } //类外函数b function b(){ return "我是类外自定义函数b<br/>"; } //文件2 <?php include("tools2.php"); class index{ //自定义函数c function c(){ //实例化另外一个文件的类 $obj = new \spacename\toolsclass(); return "我是自定义函数c,调用了toolsclass类中的a方法执行:".$obj -> a(); } } //类外自定义函数d function d(){ //调用另一个文件中的类外函数 return "我是类外自定义函数d,调用了另一个文件中的类外函数b执行:".\spacename\b(); } $obj = new index(); echo $obj -> c(); echo d();
于小九 2019-10-14
  • 打赏
  • 举报
回复
//文件1 <?php namespace spacename; class toolsclass{ //自定义函数 function a(){ return "我是自定义函数a<br/>"; } } //类外函数b function b(){ return "我是类外自定义函数b<br/>"; } //文件2 <?php include("tools2.php"); class index{ //自定义函数c function c(){ //实例化另外一个文件的类 $obj = new \spacename\toolsclass(); return "我是自定义函数c,调用了toolsclass类中的a方法执行:".$obj -> a(); } } //类外自定义函数d function d(){ //调用另一个文件中的类外函数 return "我是类外自定义函数d,调用了另一个文件中的类外函数b执行:".\spacename\b(); } $obj = new index(); echo $obj -> c(); echo d();
南方不笑 2019-10-14
  • 打赏
  • 举报
回复
引用 2 楼 xuanziran的回复:
//文件1 <?php class A { function __construct(){ } public function a(){     //a方法内容     return "i'm A_a()<br/>"; } public function b(){     //调用文件2中B类的c方法     return "i'm B_b()<br/>"; } } //文件2 <?php require_once("tools.php"); class B extends A{ public function c(){     return "i'mB_c + ".$this->a(); } } $tools = new B(); echo $tools -> a(); echo $tools -> b(); echo $tools -> c();  
不想用继承,有没有其他办法呢
南方不笑 2019-10-14
  • 打赏
  • 举报
回复
不想用继承,有没有办法呢?
于小九 2019-10-13
  • 打赏
  • 举报
回复
删帖了吗?我这边好像看不到了
于小九 2019-10-13
  • 打赏
  • 举报
回复
//文件1 <?php class A { function __construct(){ } public function a(){     //a方法内容     return "i'm A_a()<br/>"; } public function b(){     //调用文件2中B类的c方法     return "i'm B_b()<br/>"; } } //文件2 <?php require_once("tools.php"); class B extends A{ public function c(){     return "i'mB_c + ".$this->a(); } } $tools = new B(); echo $tools -> a(); echo $tools -> b(); echo $tools -> c();  
于小九 2019-10-13
  • 打赏
  • 举报
回复
//文件1 <?php class A { function __construct(){ } public function a(){ //a方法内容 return "i'm A_a()<br/>"; } public function b(){ //调用文件2中B类的c方法 return "i'm B_b()<br/>"; } } //文件2 <?php require_once("tools.php"); //文件2 class B extends A{ public function c(){ return "i'mB_c + ".$this->a(); } } $tools = new B(); echo $tools -> a(); echo $tools -> b(); echo $tools -> c();

4,251

社区成员

发帖
与我相关
我的任务
社区描述
国内外优秀PHP框架讨论学习
社区管理员
  • Framework
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧