PHPackages                             arsenalibek/addressbook - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Testing &amp; Quality](/categories/testing)
4. /
5. arsenalibek/addressbook

ActiveLibrary[Testing &amp; Quality](/categories/testing)

arsenalibek/addressbook
=======================

Test lib for Address Book

05PHP

Since Jan 18Pushed 6y ago1 watchersCompare

[ Source](https://github.com/alibekkrona/address-book)[ Packagist](https://packagist.org/packages/arsenalibek/addressbook)[ RSS](/packages/arsenalibek-addressbook/feed)WikiDiscussions master Synced today

READMEChangelogDependenciesVersions (1)Used By (0)

AddressBook extention
=====================

[](#addressbook-extention)

This is AddressBook extension

Installation
------------

[](#installation)

The preferred way to install the AddressBook extension is through [Composer](https://getcomposer.org/download/)

Documentation and features
--------------------------

[](#documentation-and-features)

### config

[](#config)

config/config.php can be use as pre set data for default address book

`$config = [    'groups' => [...],    'persons' => [...],     'groupHasPerson' => [...]     ];`Can be used few configs for different types of address books

AddressBook have $id and $name fields for scale features

### Init AddressBook

[](#init-addressbook)

`require_once './vendor/addressBook/config/config.php';use vendor\addressBook\AddressBook;$addressBook = new AddressBook($config);`

### Add a person to the address book.

[](#add-a-person-to-the-address-book)

`$addressBook = new AddressBook();$personConfig = [    'id' => '1',    'firstName' => 'David A',    'lastName' => 'Johnson',    'addresses' => [        [            'line1' => '5659 Centerville Prospect Rd',            'line2' => '',            'zip' => '43342',            'city' => 'Prospect',            'state' => 'OH',            'countryCode' => 'US'        ],    ],    'phoneNumbers' => [        '+1(740) 494-2030'    ],    'emails' => [        'davidAjohnson@email.fake'    ],];$person = new Person($personConfig);$addressBook->addPerson($person);`

### Add new group to AddressBook

[](#add-new-group-to-addressbook)

`$addressBook = new AddressBook();$groupConfig = [    '1' => [        'id' => '1',        'name' => 'Group1'    ],];$group = new Group($groupConfig);$addressBook->addGroup($group);`

### Given a group we want to easily find its members.

[](#given-a-group-we-want-to-easily-find-its-members)

`$addressBook = new AddressBook($config);$groupId = '1';$persons = $addressBook->findPersonsByGroup($groupId);`

### Given a person we want to easily find the groups the person belongs to.

[](#given-a-person-we-want-to-easily-find-the-groups-the-person-belongs-to)

`$addressBook = new AddressBook($config);$groupId = '1';$groups = $addressBook->findGroupsByPerson($groupId);`

### Find person by name (can supply either first name, last name, or both).

[](#find-person-by-name-can-supply-either-first-name-last-name-or-both)

`$addressBook = new AddressBook($config);$persons = $addressBook->findPersonByName('John');`

### Find person by email address

[](#find-person-by-email-address)

`$addressBook = new AddressBook($config);$persons = $addressBook->findPersonByEmail('john');`

###  Health Score

17

—

LowBetter than 6% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity34

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/8b3a96a030d2acd2fd85c1bd1a815d10412ccc8a128a0dec84bdfe8f512a7b68?d=identicon)[arsenabduraimov](/maintainers/arsenabduraimov)

---

Top Contributors

[![alibekkrona](https://avatars.githubusercontent.com/u/56386591?v=4)](https://github.com/alibekkrona "alibekkrona (5 commits)")

### Embed Badge

![Health badge](/badges/arsenalibek-addressbook/health.svg)

```
[![Health](https://phpackages.com/badges/arsenalibek-addressbook/health.svg)](https://phpackages.com/packages/arsenalibek-addressbook)
```

###  Alternatives

[phpspec/prophecy

Highly opinionated mocking framework for PHP 5.3+

8.5k551.7M682](/packages/phpspec-prophecy)[vimeo/psalm

A static analysis tool for finding errors in PHP applications

5.8k77.5M6.7k](/packages/vimeo-psalm)[brianium/paratest

Parallel testing for PHP

2.5k118.8M754](/packages/brianium-paratest)[beberlei/assert

Thin assertion library for input validation in business models.

2.4k96.9M571](/packages/beberlei-assert)[mikey179/vfsstream

Virtual file system to mock the real file system in unit tests.

1.4k108.0M2.7k](/packages/mikey179-vfsstream)[orchestra/testbench

Laravel Testing Helper for Packages Development

2.2k39.1M32.1k](/packages/orchestra-testbench)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
