original_string: public function registerClass(string $class, string $name)
      {
          if (isset($this->classes[$name]))
              throw new Exception("Cannot register the same name twice");
          if (!is_a($class, ACLModel::class, true))
              throw new TypeError("Class must be subclass of ACLModel");
      
          $this->classes[$name] = $class;
          $this->classes_names[$class] = $name;
          return $this;
      }
code: public function registerClass(string $class, string $name)
      {
          if (isset($this->classes[$name]))
              throw new Exception("Cannot register the same name twice");
          if (!is_a($class, ACLModel::class, true))
              throw new TypeError("Class must be subclass of ACLModel");
      
          $this->classes[$name] = $class;
          $this->classes_names[$class] = $name;
          return $this;
      }
code_tokens: public function registerClass ( string $ class , string $ name ) { if ( isset ( $ this -> classes [ $ name ] ) ) throw new Exception ( "Cannot register the same name twice" ) ; if ( ! is_a ( $ class , ACLModel :: class , true ) ) throw new TypeError ( "Class must be subclass of ACLModel" ) ; $ this -> classes [ $ name ] = $ class ; $ this -> classes_names [ $ class ] = $ name ; return $ this ; }
docstring: Register the name of the object class to be used in ACL entity naming.
  
  @param string $class The name of the class
  @param string $name The name of the ACL objects
  @return $this Provides fluent interface
docstring_tokens: Register the name of the object class to be used in ACL entity naming .