├── .github ├── FUNDING.yml ├── ISSUE_TEMPLATE.md ├── PULL_REQUEST_TEMPLATE.md └── workflows │ └── tests.yml ├── .gitignore ├── .php-cs-fixer.php ├── .semver ├── CHANGELOG.md ├── CONTRIBUTING.md ├── LICENSE.md ├── README.md ├── ROUTE-MODEL-BINDING.md ├── SCOPE-HELPERS.md ├── TODO.md ├── UPGRADING.md ├── composer.json ├── phpstan.dist.neon ├── phpunit.xml ├── resources └── config │ └── sluggable.php ├── src ├── ServiceProvider.php ├── Services │ └── SlugService.php ├── Sluggable.php ├── SluggableObserver.php └── SluggableScopeHelpers.php └── tests ├── BaseTests.php ├── Classes └── SluggableCustomMethod.php ├── EventTests.php ├── Listeners ├── AbortSlugging.php └── DoNotAbortSlugging.php ├── Models ├── Author.php ├── Post.php ├── PostNotSluggable.php ├── PostShortConfig.php ├── PostShortConfigWithScopeHelpers.php ├── PostWithCustomCallableMethod.php ├── PostWithCustomEngine.php ├── PostWithCustomEngine2.php ├── PostWithCustomEngineOptions.php ├── PostWithCustomMethod.php ├── PostWithCustomMethodArrayCall.php ├── PostWithCustomSeparator.php ├── PostWithCustomSource.php ├── PostWithCustomSuffix.php ├── PostWithEagerRelation.php ├── PostWithEmptySeparator.php ├── PostWithFirstUniqueSuffix.php ├── PostWithForeignRuleset.php ├── PostWithForeignRuleset2.php ├── PostWithIdSource.php ├── PostWithIdSourceOnSaved.php ├── PostWithIncludeTrashed.php ├── PostWithMaxLength.php ├── PostWithMaxLengthSplitWords.php ├── PostWithMultipleSlugs.php ├── PostWithMultipleSlugsAndCustomSlugKey.php ├── PostWithMultipleSlugsAndHelperTrait.php ├── PostWithMultipleSources.php ├── PostWithNoSource.php ├── PostWithOnUpdate.php ├── PostWithRelation.php ├── PostWithReservedSlug.php ├── PostWithSoftDeleting.php ├── PostWithSoftDeletingIncludeTrashed.php └── PostWithUniqueSlugConstraints.php ├── OnUpdateTests.php ├── RelationTests.php ├── ScopeHelperTests.php ├── SoftDeleteTests.php ├── StaticTests.php ├── TestCase.php ├── TestServiceProvider.php ├── UniqueTests.php └── database └── migrations ├── 2013_11_04_163552_posts.php └── 2015_08_17_185144_authors.php /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: cviebrock 2 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/.github/ISSUE_TEMPLATE.md -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/.github/PULL_REQUEST_TEMPLATE.md -------------------------------------------------------------------------------- /.github/workflows/tests.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/.github/workflows/tests.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/.gitignore -------------------------------------------------------------------------------- /.php-cs-fixer.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/.php-cs-fixer.php -------------------------------------------------------------------------------- /.semver: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/.semver -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/LICENSE.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/README.md -------------------------------------------------------------------------------- /ROUTE-MODEL-BINDING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/ROUTE-MODEL-BINDING.md -------------------------------------------------------------------------------- /SCOPE-HELPERS.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/SCOPE-HELPERS.md -------------------------------------------------------------------------------- /TODO.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/TODO.md -------------------------------------------------------------------------------- /UPGRADING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/UPGRADING.md -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/composer.json -------------------------------------------------------------------------------- /phpstan.dist.neon: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/phpstan.dist.neon -------------------------------------------------------------------------------- /phpunit.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/phpunit.xml -------------------------------------------------------------------------------- /resources/config/sluggable.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/resources/config/sluggable.php -------------------------------------------------------------------------------- /src/ServiceProvider.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/src/ServiceProvider.php -------------------------------------------------------------------------------- /src/Services/SlugService.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/src/Services/SlugService.php -------------------------------------------------------------------------------- /src/Sluggable.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/src/Sluggable.php -------------------------------------------------------------------------------- /src/SluggableObserver.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/src/SluggableObserver.php -------------------------------------------------------------------------------- /src/SluggableScopeHelpers.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/src/SluggableScopeHelpers.php -------------------------------------------------------------------------------- /tests/BaseTests.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/tests/BaseTests.php -------------------------------------------------------------------------------- /tests/Classes/SluggableCustomMethod.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/tests/Classes/SluggableCustomMethod.php -------------------------------------------------------------------------------- /tests/EventTests.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/tests/EventTests.php -------------------------------------------------------------------------------- /tests/Listeners/AbortSlugging.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/tests/Listeners/AbortSlugging.php -------------------------------------------------------------------------------- /tests/Listeners/DoNotAbortSlugging.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/tests/Listeners/DoNotAbortSlugging.php -------------------------------------------------------------------------------- /tests/Models/Author.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/tests/Models/Author.php -------------------------------------------------------------------------------- /tests/Models/Post.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/tests/Models/Post.php -------------------------------------------------------------------------------- /tests/Models/PostNotSluggable.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/tests/Models/PostNotSluggable.php -------------------------------------------------------------------------------- /tests/Models/PostShortConfig.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/tests/Models/PostShortConfig.php -------------------------------------------------------------------------------- /tests/Models/PostShortConfigWithScopeHelpers.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/tests/Models/PostShortConfigWithScopeHelpers.php -------------------------------------------------------------------------------- /tests/Models/PostWithCustomCallableMethod.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/tests/Models/PostWithCustomCallableMethod.php -------------------------------------------------------------------------------- /tests/Models/PostWithCustomEngine.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/tests/Models/PostWithCustomEngine.php -------------------------------------------------------------------------------- /tests/Models/PostWithCustomEngine2.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/tests/Models/PostWithCustomEngine2.php -------------------------------------------------------------------------------- /tests/Models/PostWithCustomEngineOptions.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/tests/Models/PostWithCustomEngineOptions.php -------------------------------------------------------------------------------- /tests/Models/PostWithCustomMethod.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/tests/Models/PostWithCustomMethod.php -------------------------------------------------------------------------------- /tests/Models/PostWithCustomMethodArrayCall.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/tests/Models/PostWithCustomMethodArrayCall.php -------------------------------------------------------------------------------- /tests/Models/PostWithCustomSeparator.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/tests/Models/PostWithCustomSeparator.php -------------------------------------------------------------------------------- /tests/Models/PostWithCustomSource.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/tests/Models/PostWithCustomSource.php -------------------------------------------------------------------------------- /tests/Models/PostWithCustomSuffix.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/tests/Models/PostWithCustomSuffix.php -------------------------------------------------------------------------------- /tests/Models/PostWithEagerRelation.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/tests/Models/PostWithEagerRelation.php -------------------------------------------------------------------------------- /tests/Models/PostWithEmptySeparator.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/tests/Models/PostWithEmptySeparator.php -------------------------------------------------------------------------------- /tests/Models/PostWithFirstUniqueSuffix.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/tests/Models/PostWithFirstUniqueSuffix.php -------------------------------------------------------------------------------- /tests/Models/PostWithForeignRuleset.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/tests/Models/PostWithForeignRuleset.php -------------------------------------------------------------------------------- /tests/Models/PostWithForeignRuleset2.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/tests/Models/PostWithForeignRuleset2.php -------------------------------------------------------------------------------- /tests/Models/PostWithIdSource.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/tests/Models/PostWithIdSource.php -------------------------------------------------------------------------------- /tests/Models/PostWithIdSourceOnSaved.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/tests/Models/PostWithIdSourceOnSaved.php -------------------------------------------------------------------------------- /tests/Models/PostWithIncludeTrashed.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/tests/Models/PostWithIncludeTrashed.php -------------------------------------------------------------------------------- /tests/Models/PostWithMaxLength.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/tests/Models/PostWithMaxLength.php -------------------------------------------------------------------------------- /tests/Models/PostWithMaxLengthSplitWords.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/tests/Models/PostWithMaxLengthSplitWords.php -------------------------------------------------------------------------------- /tests/Models/PostWithMultipleSlugs.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/tests/Models/PostWithMultipleSlugs.php -------------------------------------------------------------------------------- /tests/Models/PostWithMultipleSlugsAndCustomSlugKey.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/tests/Models/PostWithMultipleSlugsAndCustomSlugKey.php -------------------------------------------------------------------------------- /tests/Models/PostWithMultipleSlugsAndHelperTrait.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/tests/Models/PostWithMultipleSlugsAndHelperTrait.php -------------------------------------------------------------------------------- /tests/Models/PostWithMultipleSources.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/tests/Models/PostWithMultipleSources.php -------------------------------------------------------------------------------- /tests/Models/PostWithNoSource.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/tests/Models/PostWithNoSource.php -------------------------------------------------------------------------------- /tests/Models/PostWithOnUpdate.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/tests/Models/PostWithOnUpdate.php -------------------------------------------------------------------------------- /tests/Models/PostWithRelation.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/tests/Models/PostWithRelation.php -------------------------------------------------------------------------------- /tests/Models/PostWithReservedSlug.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/tests/Models/PostWithReservedSlug.php -------------------------------------------------------------------------------- /tests/Models/PostWithSoftDeleting.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/tests/Models/PostWithSoftDeleting.php -------------------------------------------------------------------------------- /tests/Models/PostWithSoftDeletingIncludeTrashed.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/tests/Models/PostWithSoftDeletingIncludeTrashed.php -------------------------------------------------------------------------------- /tests/Models/PostWithUniqueSlugConstraints.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/tests/Models/PostWithUniqueSlugConstraints.php -------------------------------------------------------------------------------- /tests/OnUpdateTests.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/tests/OnUpdateTests.php -------------------------------------------------------------------------------- /tests/RelationTests.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/tests/RelationTests.php -------------------------------------------------------------------------------- /tests/ScopeHelperTests.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/tests/ScopeHelperTests.php -------------------------------------------------------------------------------- /tests/SoftDeleteTests.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/tests/SoftDeleteTests.php -------------------------------------------------------------------------------- /tests/StaticTests.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/tests/StaticTests.php -------------------------------------------------------------------------------- /tests/TestCase.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/tests/TestCase.php -------------------------------------------------------------------------------- /tests/TestServiceProvider.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/tests/TestServiceProvider.php -------------------------------------------------------------------------------- /tests/UniqueTests.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/tests/UniqueTests.php -------------------------------------------------------------------------------- /tests/database/migrations/2013_11_04_163552_posts.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/tests/database/migrations/2013_11_04_163552_posts.php -------------------------------------------------------------------------------- /tests/database/migrations/2015_08_17_185144_authors.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cviebrock/eloquent-sluggable/HEAD/tests/database/migrations/2015_08_17_185144_authors.php --------------------------------------------------------------------------------