GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - selective-php/array-reader: A strictly typed array reader for PHP

BranchesTags
Open more actions menu

Latest commit

 

History

58 Commits
58 Commits

Folders and files

NameName
Last commit message
Last commit date
.github/workflows
.github/workflows
 
 
src
src
 
 
tests
tests
 
 
.cs.php
.cs.php
 
 
.editorconfig
.editorconfig
 
 
.gitattributes
.gitattributes
 
 
.gitignore
.gitignore
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
composer.json
composer.json
 
 
phpcs.xml
phpcs.xml
 
 
phpstan.neon
phpstan.neon
 
 
phpunit.xml
phpunit.xml
 
 

Repository files navigation

selective/array-reader

A strictly typed array reader for PHP.

Latest Version on Packagist Software License Build Status Total Downloads

Requirements

  • PHP 8.4 - 8.5

Installation

composer require selective/array-reader

Usage

You can use the ArrayReader to read single values from a multidimensional array by passing the path to one of the get{type}() and find{type}() methods.

Each get*() / find*() method takes a default value as second argument. If the path cannot be found in the original array, the default is used as return value.

A get*() method returns only the declared return type. If the default value is not given and the element cannot be found, an exception is thrown.

A find*() method returns only the declared return type or null. No exception is thrown if the element cannot be found.

<?php

use Selective\ArrayReader\ArrayReader;

$arrayReader = new ArrayReader([
    'key1' => [
        'key2' => [
            'key3' => 'value1',
        ]
    ]
]);

// Output: value1
echo $arrayReader->getString('key1.key2.key3');

Better Code Quality

Converting complex data with simple PHP works by using a lot of type casting and if conditions etc. This leads to very high cyclomatic complexity and nesting depth, and thus poor "code rating".

Before: Conditions: 10, Paths: 512, CRAP Score: 10

Click to expand!

After: Conditions: 1, Paths: 1, CRAP Score: 1

Click to expand!

Similar libraries

  • https://github.com/michaelpetri/typed-input
  • https://github.com/codeliner/array-reader
  • https://github.com/adbario/php-dot-notation
  • https://symfony.com/doc/current/components/property_access.html

License

The MIT License (MIT). Please see License File for more information.

About

A strictly typed array reader for PHP

Topics

arrayarray-readerphpstrictly-typed

Resources

Readme
MIT license
Activity
Custom properties

Stars

11 stars

Watchers

2 watching

Forks

5 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.