Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement PHP 8.1 with Breaking change features #14

Merged
merged 36 commits into from
Oct 29, 2024
Merged

Implement PHP 8.1 with Breaking change features #14

merged 36 commits into from
Oct 29, 2024

Conversation

byjg
Copy link
Owner

@byjg byjg commented Jan 10, 2024

This pull request includes multiple changes to improve PHP version compatibility, update documentation, and enhance the ORM functionality. The most important changes include updating the PHP versions in the CI workflow, adding comprehensive documentation for the ORM, and introducing new attributes for models and tables.

PHP Version Compatibility:

  • .github/workflows/phpunit.yml: Updated the PHP versions in the CI workflow to include 8.3 and removed older versions 8.0 and 7.4. Added a step to run Psalm for static analysis.
  • composer.json: Updated the required PHP version to >=8.1 and updated dependencies for byjg/anydataset-db and phpunit/phpunit. Added vimeo/psalm for static analysis.

Documentation Enhancements:

  • README.md: Added a comprehensive "Getting Started" section detailing table structure, model definition, repository connection, and querying the database.
  • docs/model.md: Added detailed documentation on model attributes, including examples and usage rules.
  • docs/repository.md: Introduced documentation for the Repository class, including helper and query methods.

ORM Enhancements:

  • src/Attributes/FieldAttribute.php: Introduced the FieldAttribute class to define properties in the model that map to database fields.
  • src/Attributes/TableAttribute.php: Introduced the TableAttribute class to define the table structure in the database.
  • src/Attributes/TableUuidPKAttribute.php, src/Attributes/TableMySqlUuidPKAttribute.php, src/Attributes/TableSqliteUuidPKAttribute.php: Added new attributes for handling UUID primary keys in different database systems. [1] [2] [3]

Configuration and Miscellaneous:

@byjg byjg merged commit 8d9a0c9 into master Oct 29, 2024
4 checks passed
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.

1 participant