Skip to content

0.3.0

Latest
Compare
Choose a tag to compare
@koriym koriym released this 09 Dec 14:48
969d4ec

Bug Fixes and Enhancements

  • Improved Method Interception and Execution Depth Management

    • Refined logic in rayaop.c for managing execution depth and interception state.
    • Enhanced error handling with new error codes:
      • RAYAOP_E_NULL_POINTER
      • RAYAOP_E_INVALID_STATE
    • Streamlined parameter preparation and resource management in rayaop_execute_ex.
    • Removed debug print statements for cleaner output during execution.
  • Updated API and Function Signatures

    • Modified function signatures to accept class_name, method_name, and interceptor object.
    • Ensured proper initialization of global variables and alignment of return types with zend_bool.
  • Enhanced Test Coverage

    • Added new tests to cover void return methods (tests/010-rayaop-void-return.phpt).
    • Updated existing tests for basic interception and thread safety:
      • tests/001-rayaop-basic.phpt
      • tests/008-rayaop-thread-safety.phpt
  • Documentation Improvements

    • Updated README.md and README.ja.md with:
      • Detailed API references.
      • Error handling guidelines.
      • Debug mode instructions.
      • Performance considerations.
      • Known limitations.
    • Added acknowledgments and clarified design decisions.
  • Demo and Workflow Enhancements

    • Introduced a new demo directory with sample code demonstrating AOP functionality.
    • Added composer.json for dependency management in the demo.
    • Updated GitHub Actions workflow (.github/workflows/build.yml):
      • Included testing of the demo directory.
      • Added support for PHP 8.4.
  • Build Script Updates

    • Modified build.sh:
      • Added compiler flags for debugging (CFLAGS="-g -O0").
      • Introduced new functions demo and debug for running the demo and debugging.

These changes enhance the reliability, efficiency, and documentation of the Ray AOP extension, providing a solid foundation for aspect-oriented programming in PHP.