code: public function hasProperty($name, $checkVars = true, $checkBehaviors = true)
      {
          return $this->canGetProperty($name, $checkVars, $checkBehaviors) || $this->canSetProperty($name, false, $checkBehaviors);
      }
docs: Returns a value indicating whether a property is defined for this component.
  
  A property is defined if:
  
  - the class has a getter or setter method associated with the specified name
  (in this case, property name is case-insensitive);
  - the class has a member variable with the specified name (when `$checkVars` is true);
  - an attached behavior has a property of the given name (when `$checkBehaviors` is true).
  
  @param string $name the property name
  @param bool $checkVars whether to treat member variables as properties
  @param bool $checkBehaviors whether to treat behaviors' properties as properties of this component
  @return bool whether the property is defined
  @see canGetProperty()
  @see canSetProperty()