77![ Packagist Version] ( https://img.shields.io/packagist/v/infocyph/arraykit )
88![ Packagist PHP Version] ( https://img.shields.io/packagist/dependency-v/infocyph/arraykit/php )
99![ GitHub Code Size] ( https://img.shields.io/github/languages/code-size/infocyph/arraykit )
10+ [ ![ Documentation] ( https://img.shields.io/badge/Documentation-ArrayKit-blue?logo=readthedocs&logoColor=white )] ( https://docs.infocyph.com/projects/arraykit/ )
1011
11- ** ArrayKit** is a modern ** PHP 8.2 +** library for elegant, high-performance ** array manipulation** , ** dot notation
12+ ** ArrayKit** is a modern ** PHP 8.4 +** library for elegant, high-performance ** array manipulation** , ** dot notation
1213utilities** , ** dynamic configuration** , ** hookable collections** , and more.
1314From shallow single arrays to deeply nested data structures — ** ArrayKit** provides a fluent, reliable toolkit for
1415real-world PHP projects.
1516
16- ---
17-
1817## 📦 Features at a Glance
1918
20- ✅ ** Single-Dimensional Helpers**
21- ✅ ** Multi-Dimensional Helpers**
22- ✅ ** Dot Notation Get/Set/Flatten**
23- ✅ ** Dynamic Config with Hooks**
24- ✅ ** Collection & Hooked Collection**
25- ✅ ** Traits for DTO & Hooking**
26- ✅ ** Pipeline for Collection Ops**
27- ✅ ** Global Helpers (` functions.php ` )**
28-
29- ---
19+ - ** Single-Dimensional Helpers**
20+ - ** Multi-Dimensional Helpers**
21+ - ** Dot Notation Get/Set/Flatten**
22+ - ** Dynamic Config with Hooks**
23+ - ** Collection & Hooked Collection**
24+ - ** Traits for DTO & Hooking**
25+ - ** Pipeline for Collection Ops**
26+ - ** Global Helpers (` functions.php ` )**
3027
3128## 📚 Modules
3229
@@ -39,17 +36,14 @@ real-world PHP projects.
3936| ** DotNotation** | Get/set/remove values using dot keys; flatten & expand nested arrays with dot keys. |
4037| ** BaseArrayHelper** | Internal shared base for consistent API across helpers. |
4138
42- ---
43-
4439### ➤ Config System
4540
4641| Class | Description |
4742| ---------------------| ---------------------------------------------------------------------------------------------------------------------|
48- | ** Config** | Immutable dot -access configuration loader. |
43+ | ** Config** | Dot -access configuration loader. |
4944| ** DynamicConfig** | Extends ` Config ` with ** on-get/on-set hooks** to transform values dynamically (e.g., encrypt/decrypt, auto-format). |
5045| ** BaseConfigTrait** | Shared config logic. |
5146
52- ---
5347
5448### ➤ Collections
5549
@@ -60,7 +54,6 @@ real-world PHP projects.
6054| ** Pipeline** | Functional-style pipeline for chaining operations on collections. |
6155| ** BaseCollectionTrait** | Shared collection behavior. |
6256
63- ---
6457
6558### ➤ Traits
6659
@@ -69,30 +62,25 @@ real-world PHP projects.
6962| ** HookTrait** | Generic hook system for on-get/on-set callbacks. Used by ` DynamicConfig ` & ` HookedCollection ` . |
7063| ** DTOTrait** | Utility trait for DTO-like behavior: populate, extract, cast arrays/objects easily. |
7164
72- ---
7365
7466### ➤ Global Helpers
7567
7668| File | Description |
7769| -------------------| ------------------------------------------------------------|
7870| ** functions.php** | Global shortcut functions for frequent array/config tasks. |
7971
80- ---
8172
8273## ✅ Requirements
8374
84- * ** PHP 8.2 ** or higher
75+ * ** PHP 8.4 ** or higher
8576
86- ---
8777
8878## ⚡ Installation
8979
9080``` bash
9181composer require infocyph/arraykit
9282```
9383
94- ---
95-
9684## 🚀 Quick Examples
9785
9886### 🔹 Single-Dimensional Helpers
@@ -112,8 +100,6 @@ $dupes = ArraySingle::duplicates($list); // [2]
112100$page = ArraySingle::paginate($list, page:1, perPage:2); // [1, 2]
113101```
114102
115- ---
116-
117103### 🔹 Multi-Dimensional Helpers
118104
119105``` php
@@ -134,8 +120,6 @@ $depth = ArrayMulti::depth($data); // 3
134120$sorted = ArrayMulti::sortRecursive($data);
135121```
136122
137- ---
138-
139123### 🔹 Dot Notation
140124
141125``` php
@@ -156,8 +140,6 @@ $flat = DotNotation::flatten($user);
156140// [ 'profile.name' => 'Alice', 'profile.email' => '
[email protected] ' ]
157141```
158142
159- ---
160-
161143### 🔹 Dynamic Config with Hooks
162144
163145``` php
@@ -179,8 +161,6 @@ $config->set('auth.password', 'secret123');
179161$hashed = $config->get('auth.password');
180162```
181163
182- ---
183-
184164### 🔹 Hooked Collection
185165
186166``` php
@@ -200,8 +180,6 @@ $collection['role'] = 'admin';
200180echo $collection['role']; // Role: admin
201181```
202182
203- ---
204-
205183### 🔹 DTO Trait Example
206184
207185``` php
@@ -219,14 +197,10 @@ $user->fromArray(['name' => 'Alice', 'email' => '
[email protected] ']);
219197$array = $user->toArray();
220198```
221199
222- ---
223-
224200## 🤝 Support
225201
226202Have a bug or feature idea? Please [ open an issue] ( https://github.com/infocyph/arraykit/issues ) .
227203
228- ---
229-
230204## 📄 License
231205
232206Licensed under the ** MIT License** — use it freely for personal or commercial projects. See [ LICENSE] ( LICENSE ) for
0 commit comments