Skip to content

AnyDataSet XML 6.0 - #5

Merged
byjg merged 11 commits into
masterfrom
6.0
Nov 24, 2025
Merged

AnyDataSet XML 6.0#5
byjg merged 11 commits into
masterfrom
6.0

Conversation

@byjg

@byjg byjg commented Mar 23, 2025

Copy link
Copy Markdown
Owner

This PR upgrades the php-anydataset-xml library to work with the latest version of AnyDataset (6.0) and adds support for newer PHP versions.

Major Changes

  • Updated dependency on byjg/anydataset from ^5.0 to ^6.0
  • Extended PHP version support to include PHP 8.4 (and preparation for 8.5)
  • Refactored codebase to match AnyDataset 6.0 architecture
  • Upgraded development dependencies (PHPUnit 10.5/11.5, Psalm 5.9/6.2)
  • Added comprehensive documentation in the /docs directory

Breaking Changes

Change Before After Impact
Dependency byjg/anydataset: ^5.0 byjg/anydataset: ^6.0 Requires upgrading dependent projects to AnyDataset 6.0
Exception Classes DatasetException Now using FileException Error handling code may need to be updated
Iterator Implementation Custom implementation Now implements PHP's Iterator interface with attributes Custom code extending or direct usage of iterator may need updates
Return Type Row RowInterface Method signatures expecting Row type may need updates
Row Manipulation addField() set() Code using addField() needs to be updated to use set()
Multi-value Fields Manual handling Automatic array collection with append: true parameter Improved handling of multi-value fields
PHP Attributes Not used Now using #[Override] and #[ReturnTypeWillChange] Requires PHP 8.1+

Documentation Improvements

  • Added detailed documentation on using XmlDataset with examples
  • Created comprehensive guide for XPath expressions used in the library
  • Included namespace handling examples

Description by Korbit AI

What change is being made?

Update AnyDataset-XML library to version 6.0 with PHP 8.4 support, integration of Psalm for static analysis, improvements to code documentation, refactoring of iterator logic, and enhanced usage examples in the README.

Why are these changes being made?

These changes modernize the codebase by adding support for the latest PHP version, improving static code analysis with Psalm, and enhancing overall code quality and maintainability. The restructuring of iterator logic and updates to the README and documentation aim to provide clearer guidance and better usability for developers integrating this library into their projects.

Is this description stale? Ask me to generate a new description by commenting /korbit-generate-pr-description

@korbit-ai korbit-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review by Korbit AI

Korbit automatically attempts to detect when you fix issues in new commits.
Category Issue Fix Detected
Design State Variables Incorrectly Grouped in Array ▹ view
Performance Redundant String Case Conversion ▹ view
Performance Excessive Object Instantiation ▹ view
Error Handling Undeclared Exception in Iterator Method ▹ view
Performance Eager XML Parsing ▹ view
Files scanned
File Path Reviewed
src/XmlDataset.php
src/XmlIterator.php

Explore our documentation to understand the languages and file types we support and the files we ignore.

Need a new review? Comment /korbit-review on this PR and I'll review your latest changes.

Korbit Guide: Usage and Customization

Interacting with Korbit

  • You can manually ask Korbit to review your PR using the /korbit-review command in a comment at the root of your PR.
  • You can ask Korbit to generate a new PR description using the /korbit-generate-pr-description command in any comment on your PR.
  • Too many Korbit comments? I can resolve all my comment threads if you use the /korbit-resolve command in any comment on your PR.
  • On any given comment that Korbit raises on your pull request, you can have a discussion with Korbit by replying to the comment.
  • Help train Korbit to improve your reviews by giving a 👍 or 👎 on the comments Korbit posts.

Customizing Korbit

  • Check out our docs on how you can make Korbit work best for you and your team.
  • Customize Korbit for your organization through the Korbit Console.

Current Korbit Configuration

General Settings
Setting Value
Review Schedule Automatic excluding drafts
Max Issue Count 10
Automatic PR Descriptions
Issue Categories
Category Enabled
Documentation
Logging
Error Handling
Readability
Design
Performance
Security
Functionality

Feedback and Support

Note

Korbit Pro is free for open source projects 🎉

Looking to add Korbit to your team? Get started with a free 2 week trial here

Comment thread src/XmlIterator.php Outdated
Comment thread src/XmlIterator.php
Comment thread src/XmlIterator.php Outdated
Comment thread src/XmlIterator.php
Comment thread src/XmlIterator.php
@byjg

byjg commented Aug 23, 2025

Copy link
Copy Markdown
Owner Author

/korbit-review

@korbit-ai korbit-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've completed my review and didn't find any issues... but I did find this squirrel.

         _.-"""-,
       .'  ..::. `\
      /  .::' `'` /
     / .::' .--.=;
     | ::' /  C ..\
     | :: |   \  _.)
      \ ':|   /  \
       '-, \./ \)\)
          `-|   );/
            '--'-'
Files scanned
File Path Reviewed
src/XmlDataset.php
src/XmlIterator.php

Explore our documentation to understand the languages and file types we support and the files we ignore.

Check out our docs on how you can make Korbit work best for you and your team.

Loving Korbit!? Share us on LinkedIn Reddit and X

@byjg
byjg merged commit 07b466a into master Nov 24, 2025
5 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