Feature/codebase enhancement #5
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request refactors and extends the slugification package to improve flexibility, maintainability, and test coverage. The main changes include introducing a facade-based architecture, enhancing the slug helper function, adding a dedicated slugification service, and updating dependencies and autoloading. Test coverage has also been expanded to cover more scenarios and rule manipulations.
Architecture and Core Functionality:
FacadeandSlugifyclasses to provide a clean and extensible interface for slugification operations (src/Facades/Facade.php,src/Facades/Slugify.php). [1] [2]SlugifyServiceclass to encapsulate slugification logic, support custom rules, handle abbreviations, and optionally convert strings to ASCII using thevoku/portable-asciilibrary (src/Services/SlugifyService.php).Helper Function and Autoloading:
slughelper function to support additional parameters (separator,ascii_only,ascii_lang) and updated its location and autoloading fromsrc/Helpers.phptosrc/helpers.php(src/helpers.php,composer.json). [1] [2] [3]Dependency Management:
voku/portable-asciias a dependency to improve ASCII conversion capabilities and updated author email incomposer.json.Testing Improvements:
tests/SlugifyTest.php).