【问题标题】:Add Object ( Class ) a array in PHP, does not recognize the type of objectPHP中添加Object(Class)数组,不识别对象类型
【发布时间】:2013-02-09 11:40:29
【问题描述】:

我有下一个类和接口

namespace includ\views;
interface IView 
{
    public function getContenido( );
    public function imprimirContenido( );
}
namespace includ\views;

require_once ('IView.php' );
use includ\views\IView as IView;

interface IMenu extends IView
{

    public  function getTipo();
   public function __clone();
}
namespace includ\views;

require ('IMenu.php');
use includ\views\IMenu;

class MenuAdministrador implements IMenu
{
  ...
}

并创建一个数组

 require_once ( 'menu/MenuAdministrador.php' );

 $menus=array();
 $menus[] = new includ\views\MenuAdministrador();
  //or other way
 //array_push(  $menus, new includ\views\MenuAdministrador() );

但是,我尝试检查类的类型,我做了一些类似的事情:

 var_dump($menus[0] instanceof IMenu );

答案是:

 bool(false)

将对象(类)添加到数组中的最佳方法是什么?

【问题讨论】:

  • 那应该work 就好了。发布整个代码?
  • 不,那个works too。更多代码?
  • @One Trick Pony 代码足够了。你错过了命名空间

标签: php arrays class


【解决方案1】:

这是一个命名空间问题。您必须首先use Includ\views\IMenu 或更好地使用带有instanceof 的完全限定类名。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-05-25
    • 1970-01-01
    • 1970-01-01
    • 2021-12-30
    • 2015-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多