code: public function hasMethod($name, $checkBehaviors = true)
      {
          if (method_exists($this, $name)) {
              return true;
          } elseif ($checkBehaviors) {
              $this->ensureBehaviors();
              foreach ($this->_behaviors as $behavior) {
                  if ($behavior->hasMethod($name)) {
                      return true;
                  }
              }
          }
  
          return false;
      }
docs: Returns a value indicating whether a method is defined.
  
  A method is defined if:
  
  - the class has a method with the specified name
  - an attached behavior has a method with the given name (when `$checkBehaviors` is true).
  
  @param string $name the property name
  @param bool $checkBehaviors whether to treat behaviors' methods as methods of this component
  @return bool whether the method is defined