2

次のクラスとインターフェースがあります

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)

オブジェクト(クラス)を配列に追加する最良の方法はどれですか?

4

1 に答える 1

0

これは名前空間の問題です。use Includ\views\IMenu最初に、完全修飾クラス名を。とともに使用する必要がありますinstanceof

于 2013-02-24T08:33:45.533 に答える