當前位置: 首頁>>代碼示例>>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;未經允許,請勿轉載。