【问题标题】:Object Casting in php [duplicate]php中的对象转换[重复]
【发布时间】:2012-08-30 23:58:31
【问题描述】:

可能重复:
Cast the current object ($this) to a descendent class

是否可以在 php.ini 中执行从基类对象到子类对象的对象转换。我的基类和子类如下。

<?php
class Base
{

}
class child extends Base
{
}
$b=new Base();
$c=(Child)$b;//MY QUESTION IS CAN I PERFORM THIS TASK???
?>

【问题讨论】:

标签: php


【解决方案1】:

不,您不能在 PHP 中执行此操作。 你为什么要像孩子一样拥有基地的一切?

【讨论】:

  • 有时在 n 层架构中,当您只能访问基类时,所有子类将无法从包外部访问。我在说什么在 .net(C#) 中执行所有这些,我正在尝试在 php 中使用 5 层架构的概念
【解决方案2】:

正如评论中所写,没有像 PHP 中的对象转换之类的东西,这可以从 Java 中知道,例如...

使用序列化有一些解决方法,但我认为这是一个错误的笑话......

无论如何,在定义函数/方法时,您可以像这样键入参数:

class Foo { }

class Bar {
    public function bar(Foo $foo) {
        ;
    }
}

无论如何,尽管您仍然不能也不能将父对象转换为子类(这在 Java 中是不能的,反之亦然是可以的)。

【讨论】:

  • 是的,你是对的..我的错..
猜你喜欢
  • 2014-07-29
  • 1970-01-01
  • 2016-10-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-18
  • 2014-09-22
相关资源
最近更新 更多