ali-eltaweel/array-subscript

There is no license information available for the latest version (1.0.0) of this package.

A PHP library for accessing object properties using array subscript notation.

1.0.0 2025-06-24 12:30 UTC

This package is auto-updated.

Last update: 2025-06-24 12:32:37 UTC


README

A PHP library for accessing object properties using array subscript notation.

Installation

Install array-subscript via Composer:

composer require ali-eltaweel/array-subscript

Usage

use ArraySubscript\ArrayObject;
use ArraySubscript\Annotations\ArraySubscript;
use ArraySubscript\Annotations\ArraySubscriptOperation;

class X implements ArrayAccess {

  use ArrayObject;

  private array $data = [

    'a' => 1,
    'b' => 2,
    'c' => 3,
    'd' => 4,
  ];

  #[ArraySubscript(ArraySubscriptOperation::Get)]
  function get(string $name): mixed {

    return $this->data[$name];
  }

  #[ArraySubscript(ArraySubscriptOperation::Set)]
  function set(string $name, mixed $value): void {

    $this->data[$name] = $value;
  }

  #[ArraySubscript(ArraySubscriptOperation::Unset)]
  function unset(string $name): void {
      
    unset($this->data[$name]);
  }

  #[ArraySubscript(ArraySubscriptOperation::Check)]
  function check(string $name): bool {
      
    return isset($this->data[$name]);
  }
}
$x = new X();

$a = $x['a'];

$x['b'] = 10;

if (isset($x['c'])) {

  unset($x['d']);
}