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


PHP Object::__call方法代码示例

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


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

示例1: __call

 public function __call($name, $args = [])
 {
     if (method_exists($this->acl, $name)) {
         return call_user_func_array([$this->acl, $name], $args);
     }
     return parent::__call($name, $args);
 }
开发者ID:zaxcms,项目名称:framework,代码行数:7,代码来源:Acl.php

示例2: __call

 /**
  * Allows calling $column->icon() instead of $column->setIcon (Same for title, class, ...)
  * @param  string $name
  * @param  array  $args
  * @return mixed
  */
 public function __call($name, $args)
 {
     $method_setter = 'set' . ucfirst($name);
     if (method_exists($this, $method_setter)) {
         return Nette\Utils\Callback::invokeArgs([$this, $method_setter], $args);
     }
     parent::__call($name, $args);
 }
开发者ID:JakubKontra,项目名称:datagrid,代码行数:14,代码来源:Object.php

示例3: __call

 public function __call($methodName, $args)
 {
     if (preg_match('|.*getModel([a-zA-Z0-9]+).*|', $methodName, $mtch)) {
         if (class_exists('Model\\' . $mtch[1] . 'Model')) {
             return $this->modelLoader->loadModel($mtch[1] . 'Model');
         }
     } else {
         return parent::__call($methodName, $args);
     }
 }
开发者ID:jurasm2,项目名称:bubo,代码行数:10,代码来源:BaseModel.php

示例4: __call

 /**
  * @param string $name
  * @param array $args
  * @return mixed
  */
 public function __call($name, $args)
 {
     $function = 'newrelic_' . self::convertCamelCaseToUnderscore($name);
     if (!extension_loaded('newrelic')) {
         return FALSE;
     }
     if (!function_exists($function)) {
         return parent::__call($name, $args);
     }
     return call_user_func_array($function, $args);
 }
开发者ID:damejidlo,项目名称:newrelic,代码行数:16,代码来源:Client.php

示例5: __call

 public function __call($name, $args)
 {
     foreach ($this->getExtensions() as $extension) {
         /* @var $extension ExtensionObject */
         if ($extension->getReflection()->hasMethod($name)) {
             $method = $extension->getReflection()->getMethod($name);
             if ($method->isPublic() && !$method->isStatic() && !$method->isAbstract()) {
                 return \callback($extension, $name)->invokeArgs($args);
             }
         }
         if ($extension->getReflection()->hasEventProperty($name)) {
             return ObjectMixin::call($extension, $name, $args);
         }
     }
     return parent::__call($name, $args);
 }
开发者ID:jsmitka,项目名称:ExtensionObjects,代码行数:16,代码来源:ExtensibleObject.php

示例6: __call

	/**
	 * Call a template run-time helper. Do not call directly.
	 * @param  string  helper name
	 * @param  array   arguments
	 * @return mixed
	 */
	public function __call($name, $args)
	{
		$lname = strtolower($name);
		if (!isset($this->helpers[$lname])) {
			foreach ($this->helperLoaders as $loader) {
				$helper = $loader/*5.2*->invoke*/($lname);
				if ($helper) {
					$this->registerHelper($lname, $helper);
					return $this->helpers[$lname]->invokeArgs($args);
				}
			}
			return parent::__call($name, $args);
		}

		return $this->helpers[$lname]->invokeArgs($args);
	}
开发者ID:redhead,项目名称:nette,代码行数:22,代码来源:Template.php

示例7: __call

 /**
  * @param string $name
  * @param array $args
  * @return mixed
  * @throws IOException
  */
 public function __call($name, $args)
 {
     if (isset(self::$fileArg[$name])) {
         $dir = $this->dir;
         $args[self::$fileArg[$name]] = is_array($args[self::$fileArg[$name]]) ? array_map(function ($arg) use($dir) {
             return $dir . DIRECTORY_SEPARATOR . $arg;
         }, $args[self::$fileArg[$name]]) : $this->dir . DIRECTORY_SEPARATOR . $args[self::$fileArg[$name]];
         try {
             call_user_func_array(array($this->io, $name), $args);
             return $this;
         } catch (SfException $e) {
             throw new IOException($e->getMessage(), 0, $e);
         }
     }
     return parent::__call($name, $args);
 }
开发者ID:kdyby,项目名称:filesystem,代码行数:22,代码来源:Dir.php

示例8: __call

 public function __call($name, $args)
 {
     if (preg_match('~^create(Select|Update|Delete|Insert)$~', $name, $m)) {
         #query object factory
         $class = "Flunorette\\Queries\\{$m[1]}Query";
         $queryContext = new QueryContext(reset($args), $this);
         return new $class($queryContext);
     }
     return parent::__call($name, $args);
 }
开发者ID:icaine,项目名称:flunorette,代码行数:10,代码来源:Connection.php

示例9: __call

 /**
  * Call to undefined method.
  *
  * @param  string  method name
  * @param  array   arguments
  * @return mixed
  * @throws Nette\MemberAccessException
  */
 public function __call($name, $args)
 {
     $function = 'image' . $name;
     if (function_exists($function)) {
         foreach ($args as $key => $value) {
             if ($value instanceof self) {
                 $args[$key] = $value->getImageResource();
             } elseif (is_array($value) && isset($value['red'])) {
                 // rgb
                 $args[$key] = imagecolorallocatealpha($this->image, $value['red'], $value['green'], $value['blue'], $value['alpha']);
             }
         }
         array_unshift($args, $this->image);
         $res = call_user_func_array($function, $args);
         return is_resource($res) && get_resource_type($res) === 'gd' ? $this->setImageResource($res) : $res;
     }
     return parent::__call($name, $args);
 }
开发者ID:VasekPurchart,项目名称:khanovaskola-v3,代码行数:26,代码来源:Image.php

示例10: catch

 /**
  * Calls internal facebook SDK task
  *
  * @param  string $name
  * @param  array $args
  * @return mixed
  */
 function __call($name, $args)
 {
     try {
         return NCallback::invokeArgs(array($this->fb, $name), $args);
     } catch (Nette\InvalidArgumentException $e) {
         return parent::__call($name, $args);
     }
 }
开发者ID:uestla,项目名称:facebook-sdk-facade,代码行数:15,代码来源:FacebookFacade.php

示例11: __call

 /**
  * Call a template run-time helper. Do not call directly.
  * @param  string  helper name
  * @param  array   arguments
  * @return mixed
  */
 public function __call($name, $args)
 {
     $lname = strtolower($name);
     if (!isset($this->helpers[$lname])) {
         foreach ($this->helperLoaders as $loader) {
             $helper = Callback::invoke($loader, $lname);
             if ($helper) {
                 $this->registerHelper($lname, $helper);
                 return Callback::invokeArgs($this->helpers[$lname], $args);
             }
         }
         return parent::__call($name, $args);
     }
     return Callback::invokeArgs($this->helpers[$lname], $args);
 }
开发者ID:nette,项目名称:deprecated,代码行数:21,代码来源:Template.php

示例12: __call

 /**
  * @param  string $name
  * @param  array $args
  * @return mixed
  */
 public function __call($name, $args)
 {
     if (strncmp($name, 'getBy', 5) === 0 && strlen($name) > 5) {
         $selection = $this->getTable()->limit(1);
         $properties = explode('And', substr($name, 5));
         if (count($properties) !== count($args)) {
             throw new Exception\InvalidArgumentException('Wrong number of argument passed to ' . $name . ' method - ' . count($properties) . ' expected, ' . count($args) . ' given.');
         }
         $ref = Reflection\EntityType::from($class = $this->getEntityClass());
         foreach ($properties as $key => $property) {
             $property = lcfirst($property);
             $prop = $ref->getEntityProperty($property);
             if ($prop === NULL) {
                 throw new Exception\InvalidArgumentException("Property '\${$property}' not found in entity '{$class}'.");
             }
             $selection->where($prop->getColumn(), $args[$key]);
         }
         return $this->createEntityFromSelection($selection);
     } elseif (strncmp($name, 'findBy', 6) === 0 && strlen($name) > 6) {
         $selection = $this->getTable();
         $properties = explode('And', substr($name, 6));
         if (count($properties) !== count($args)) {
             throw new Exception\InvalidArgumentException('Wrong number of argument passed to ' . $name . ' method - ' . count($properties) . ' expected, ' . count($args) . ' given.');
         }
         $criteria = [];
         $ref = Reflection\EntityType::from($class = $this->getEntityClass());
         foreach ($properties as $key => $property) {
             $property = lcfirst($property);
             $prop = $ref->getEntityProperty($property);
             if ($prop === NULL) {
                 throw new Exception\InvalidArgumentException("Property '\${$property}' not found in entity '{$class}'.");
             }
             $criteria[$prop->getColumn()] = $args[$key];
         }
         return $this->findBy($criteria);
     }
     return parent::__call($name, $args);
 }
开发者ID:uestla,项目名称:yetorm,代码行数:43,代码来源:Repository.php

示例13: __call

 public function __call($method, $args)
 {
     if (isset($this->proxyMethods[strtolower($method)])) {
         if (FindByParserHelper::parse($method, $args)) {
             return call_user_func([$this, $method], $args);
         }
         $result = call_user_func_array([$this->mapper, $method], $args);
         if (!($result instanceof ICollection || $result instanceof IEntity || $result === NULL)) {
             $result = $this->mapper->toCollection($result);
         }
         return $result;
     } else {
         return parent::__call($method, $args);
     }
 }
开发者ID:Vyki,项目名称:orm,代码行数:15,代码来源:Repository.php

示例14: __call

 /**
  * Method overload for findBy...
  *
  * @param string $name
  * @param array $args
  * @return mixed
  * @throws InvalidArgumentException
  */
 public function __call($name, $args)
 {
     if (strncmp($name, 'findBy', 6) === 0 && strlen($name) > 6) {
         $name = lcfirst(substr($name, 6));
         $metadata = Metadata::getMetadata($this->entity);
         $identityMap = $this->em->getIdentityMap($this->entity);
         return $identityMap->map($this->em->connection->select("*")->from($metadata->tableName)->where("[" . Tools::underscore($name) . "] = " . $this->getModificator($name), $args[0])->execute()->fetch());
     } else {
         return parent::__call($name, $args);
     }
 }
开发者ID:nella,项目名称:ActiveMapper,代码行数:19,代码来源:DibiRepository.php

示例15: __call

 /**
  * Method overload for findBy...
  *
  * @param string $name
  * @param array $args
  * @return mixed
  * @throws InvalidArgumentException
  */
 public function __call($name, $args)
 {
     if (strncmp($name, 'findBy', 6) === 0 && strlen($name) > 6) {
         $entity = $args[0];
         unset($args[0]);
         return callback($this->getRepository($entity), $name)->invokeArgs($args);
     } else {
         return parent::__call($name, $args);
     }
 }
开发者ID:nella,项目名称:ActiveMapper,代码行数:18,代码来源:Manager.php


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