Shanty_Mongo::retrieveRequirement PHP 메소드

retrieveRequirement() 공개 정적인 메소드

Get the requirement matching the name provided
public static retrieveRequirement ( $name, $options = null ) : mixed
$name String Name of requirement
리턴 mixed
    public static function retrieveRequirement($name, $options = null)
    {
        // Requirement is already initialised return it
        if (isset(static::$_requirements[$name])) {
            // If requirement does not have options, returned cached instance
            if (!$options) {
                return static::$_requirements[$name];
            }
            $requirementClass = get_class(static::$_requirements[$name]);
            return new $requirementClass($options);
        }
        // Attempt to create requirement
        if (!($requirement = static::createRequirement($name, $options))) {
            require_once 'Shanty/Mongo/Exception.php';
            throw new Shanty_Mongo_Exception("No requirement exists for '{$name}'");
        }
        // Requirement found. Store it for later use
        if (!is_null($options)) {
            static::storeRequirement($name, $requirement);
        }
        return $requirement;
    }

Usage Example

예제 #1
0
 /**
  * Load the requirements as validators or filters for a given property,
  * and cache them as validators or filters, respectively.
  *
  * @param String $property Name of property
  * @return boolean whether or not cache was used. 
  */
 public function loadRequirements($property)
 {
     if (isset($this->_validators[$property]) || isset($this->_filters[$property])) {
         return true;
     }
     $validators = new Zend_Validate();
     $filters = new Zend_Filter();
     if (!isset($this->_docRequirements[$property])) {
         $this->_filters[$property] = $filters;
         $this->_validators[$property] = $validators;
         return false;
     }
     foreach ($this->_docRequirements[$property] as $requirement => $options) {
         $req = Shanty_Mongo::retrieveRequirement($requirement, $options);
         if ($req instanceof Zend_Validate_Interface) {
             $validators->addValidator($req);
         } else {
             if ($req instanceof Zend_Filter_Interface) {
                 $filters->addFilter($req);
             }
         }
     }
     $this->_filters[$property] = $filters;
     $this->_validators[$property] = $validators;
     return false;
 }
All Usage Examples Of Shanty_Mongo::retrieveRequirement