当前位置: 首页>>代码示例>>PHP>>正文


PHP ClassLoader::defineInterface方法代码示例

本文整理汇总了PHP中lang\ClassLoader::defineInterface方法的典型用法代码示例。如果您正苦于以下问题:PHP ClassLoader::defineInterface方法的具体用法?PHP ClassLoader::defineInterface怎么用?PHP ClassLoader::defineInterface使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在lang\ClassLoader的用法示例。


在下文中一共展示了ClassLoader::defineInterface方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: defineInterface

 /**
  * Helper method
  * @param   string name
  * @param   lang.XPClass class
  * @throws  unittest.AssertionFailedError
  */
 protected function defineInterface($name, $parents, $bytes)
 {
     if (interface_exists(\xp::reflect($name), false)) {
         $this->fail('Interface "' . $name . '" may not exist!');
     }
     return \lang\ClassLoader::defineInterface($name, $parents, $bytes);
 }
开发者ID:melogamepay,项目名称:xp-framework,代码行数:13,代码来源:RuntimeClassDefinitionTest.class.php

示例2: allowDoubledInterfaceMethod

 public function allowDoubledInterfaceMethod()
 {
     $this->proxyInstanceFor([$this->iteratorClass, ClassLoader::defineInterface('util.NewIterator', XPIterator::class)]);
 }
开发者ID:johannes85,项目名称:core,代码行数:4,代码来源:ProxyTest.class.php

示例3: define

 /**
  * This `define()` implementation creates interfaces
  *
  * @param   [:var] $decl
  * @param   var $def
  * @return  lang.XPClass
  */
 protected function define(array $decl = [], $def = null)
 {
     return $this->defineType(array_key_exists('annotations', $decl) ? $decl['annotations'] : '', array_key_exists('name', $decl) ? $decl['name'] : '', function ($spec) use($decl, $def) {
         return ClassLoader::defineInterface($spec, array_key_exists('parents', $decl) ? $decl['parents'] : [], $def);
     });
 }
开发者ID:xp-framework,项目名称:core,代码行数:13,代码来源:RuntimeInterfaceDefinitionTest.class.php

示例4: defined_interface_exists

 public function defined_interface_exists()
 {
     ClassLoader::defineInterface('net.xp_framework.unittest.core.NamespaceAliasInterfaceFixture', [], '{}');
     $this->assertTrue(interface_exists('net\\xp_framework\\unittest\\core\\NamespaceAliasInterfaceFixture', false));
 }
开发者ID:xp-framework,项目名称:core,代码行数:5,代码来源:NamespaceAliasTest.class.php

示例5: module_implementation

 public function module_implementation()
 {
     $cl = ClassLoader::defineInterface('net.xp_framework.unittest.reflection.IModule', []);
     $this->register(new LoaderProviding(['module.xp' => '<?php module xp-framework/impl implements net\\xp_framework\\unittest\\reflection\\IModule { }']));
     $this->assertTrue(in_array($cl, Module::forName('xp-framework/impl')->getClass()->getInterfaces()));
 }
开发者ID:xp-framework,项目名称:core,代码行数:6,代码来源:ModuleLoadingTest.class.php

示例6: namespaced_parameters_handled_correctly

 public function namespaced_parameters_handled_correctly()
 {
     $class = $this->proxyClassFor([\lang\ClassLoader::defineInterface('net.xp_framework.unittest.test.mock.NSInterface', [], '{
   public function fixture(\\lang\\types\\Long $param);
 }')]);
     $this->assertEquals(\lang\XPClass::forName('lang.types.Long'), $class->getMethod('fixture')->getParameters()[0]->getType());
 }
开发者ID:johannes85,项目名称:core,代码行数:7,代码来源:MockProxyBuilderTest.class.php

示例7: allowDoubledInterfaceMethod

 public function allowDoubledInterfaceMethod()
 {
     $newIteratorClass = ClassLoader::defineInterface('util.NewIterator', 'util.XPIterator');
     $this->proxyInstanceFor(array(XPClass::forName('util.XPIterator'), XPClass::forName('util.NewIterator')));
 }
开发者ID:melogamepay,项目名称:xp-framework,代码行数:5,代码来源:ProxyTest.class.php


注:本文中的lang\ClassLoader::defineInterface方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。