예제 #1
0
 /**
  * unticked_class_declaration_statement_2
  *    interface_entry T_STRING interface_extends_list '{' class_statement_list '}'
  */
 protected function unticked_class_declaration_statement_2($params)
 {
     $className = $params[1]->getValue();
     $class = new Stagehand_PHP_Class($className);
     $class->defineInterface();
     if ($params[2] && is_array($params[2])) {
         foreach ($params[2] as $interface) {
             $class->addInterface($interface);
         }
     }
     $this->_declarClass($class);
     return parent::execute(__FUNCTION__, $params);
 }
예제 #2
0
 /**
  * @test
  */
 public function accessInterfaceAndUpdate()
 {
     $className = 'ExampleForInterfaceUpdate';
     $class = new Stagehand_PHP_Class($className);
     $interface1 = new Stagehand_PHP_Class('ExampleForInterfaceUpdateInterface1');
     $interface1->defineInterface();
     $class->addInterface($interface1);
     $this->assertSame($class->getInterface('ExampleForInterfaceUpdateInterface1'), $interface1);
     $interface2 = new Stagehand_PHP_Class('ExampleForInterfaceUpdateInterface1');
     $interface2->defineInterface();
     $class->setInterface($interface2);
     $this->assertSame($class->getInterface('ExampleForInterfaceUpdateInterface1'), $interface2);
 }