original_string: protected function hasher($salt = '')
      {
          $salt = $salt ?: $this->slugWorkingRecord->{$this->slugDbFieldForSalt} ?: $this->slugSalt;
  
          if ($salt) {
              return Object::create('Milkyway\SS\Behaviours\Contracts\Slugger', $salt, $this->slugLength);
          }
  
          if (!$this->slugHasher) {
              $this->slugHasher = Object::create('Milkyway\SS\Behaviours\Contracts\Slugger', $salt, $this->slugLength);
          }
  
          return $this->slugHasher;
      }
code: protected function hasher($salt = '')
      {
          $salt = $salt ?: $this->slugWorkingRecord->{$this->slugDbFieldForSalt} ?: $this->slugSalt;
  
          if ($salt) {
              return Object::create('Milkyway\SS\Behaviours\Contracts\Slugger', $salt, $this->slugLength);
          }
  
          if (!$this->slugHasher) {
              $this->slugHasher = Object::create('Milkyway\SS\Behaviours\Contracts\Slugger', $salt, $this->slugLength);
          }
  
          return $this->slugHasher;
      }
code_tokens: protected function hasher ( $ salt = '' ) { $ salt = $ salt ? : $ this -> slugWorkingRecord -> { $ this -> slugDbFieldForSalt } ? : $ this -> slugSalt ; if ( $ salt ) { return Object :: create ( 'Milkyway\SS\Behaviours\Contracts\Slugger' , $ salt , $ this -> slugLength ) ; } if ( ! $ this -> slugHasher ) { $ this -> slugHasher = Object :: create ( 'Milkyway\SS\Behaviours\Contracts\Slugger' , $ salt , $ this -> slugLength ) ; } return $ this -> slugHasher ; }
docstring: Return the hasher service
  
  @param string $salt
  
  @return Slugger
docstring_tokens: Return the hasher service