Milkyway\SS\Behaviours\Traits\Sluggable
Synopsis
trait Sluggable
{
- // members
- protected $slugHasher;
- protected string $slugDbField = 'Slug';
- protected string $slugDbFieldForSalt = 'Slug_Salt';
- protected string $slugEncryptUsing = 'ID';
- protected string $slugSalt = 'Hmm.... Salty';
- protected integer $slugLength = 32;
- protected boolean $slugMustBeUnique = true;
- private $slugWorkingRecord;
- // methods
- public void init()
- public void generateSlug()
- protected void generateSlugAndSave()
- public DataObject|null findBySlug()
- public void regenerateSlug()
- public boolean hasUniqueSlug()
- protected string encrypt()
- public array decrypt()
- protected int|string findValueToSlug()
- protected Slugger hasher()
Hierarchy
Used by
Members
private
- $slugWorkingRecord
protected
- $slugDbField
- $slugDbFieldForSalt
- $slugEncryptUsing
- $slugHasher
- $slugLength
- $slugMustBeUnique
- $slugSalt
Methods
protected
- encrypt() — Encrypt the value
- findValueToSlug() — Return value to hash
- generateSlugAndSave() — Generate hash and save if slug created
- hasher() — Return the hasher service
public
- decrypt() — Decrypt value
- findBySlug() — Find a @DataObject by slug
- generateSlug() — Generate a slug for this @DataObject
- hasUniqueSlug() — Check if the slug for this object is unique
- init()
- regenerateSlug() — Regenerate a slug for this @DataObject