Skip to content

Modernize project with tooling and PHP 8.2+ refactor - #18

Open
philippedev101 wants to merge 3 commits into
icomefromthenet:masterfrom
philippedev101:modernize
Open

Modernize project with tooling and PHP 8.2+ refactor#18
philippedev101 wants to merge 3 commits into
icomefromthenet:masterfrom
philippedev101:modernize

Conversation

@philippedev101

Copy link
Copy Markdown

This overhauls the entire library to bring it up to modern PHP standards.

  • The project now follows the PSR-4 standard, with all code moved to a top-level src/ directory and tests in tests/.
  • All dependencies were updated. The library now requires PHP 8.2+, Doctrine Lexer 3.0, Doctrine Collections 2.3, and Symfony String 7.3.
  • The core parser and generator logic was rewritten to use strict types, match expressions, and other modern PHP features. The code is simpler and easier to follow now.
  • A full set of development tools was added:
    • A GitHub Actions workflow for continuous integration.
    • PHPStan for static analysis.
    • PHP-CS-Fixer for a consistent code style.
  • The random number generators were simplified, removing the old and insecure ones in favor of a clear MersenneRandom class.
  • The project is now set to version 1.0.0 to mark this as the first stable, modern release.

This overhauls the entire library to bring it up to modern PHP standards.

- The project now follows the PSR-4 standard, with all code moved to a top-level `src/` directory and tests in `tests/`.
- All dependencies were updated. The library now requires PHP 8.2+, Doctrine Lexer 3.0, Doctrine Collections 2.3, and Symfony String 7.3.
- The core parser and generator logic was rewritten to use strict types, match expressions, and other modern PHP features. The code is simpler and easier to follow now.
- A full set of development tools was added:
    - A GitHub Actions workflow for continuous integration.
    - PHPStan for static analysis.
    - PHP-CS-Fixer for a consistent code style.
- The random number generators were simplified, removing the old and insecure ones in favor of a clear `MersenneRandom` class.
- The project is now set to version 1.0.0 to mark this as the first stable, modern release.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants