2017 © Pedro PelĂĄez
 

library php-util

A utility library for PHP 5.3+.

image

mariuslundgard/php-util

A utility library for PHP 5.3+.

  • Monday, August 24, 2015
  • by mariuslundgard
  • Repository
  • 1 Watchers
  • 0 Stars
  • 67 Installations
  • PHP
  • 3 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 3 Versions
  • 0 % Grown

The README.md

php-util

Build Status Coverage Status, (*1)

Latest Stable Version, (*2)

Utility functions and classes for PHP., (*3)

Examples

The Util\Dictionary class

Usage example:, (*4)

<?php

require 'vendor/autoload.php';

use Util\Dictionary;

$dict = new Dictionary([
    'path.to.item'    => 123,
    'path.to.another' => 124,
]);

echo json_encode($dict->get()); // -> { "path": { "to": { "item": 123, "another": "124 " }}}
echo $dict['path.to.item'];     // -> 123

Using a Dictionary object for filesystem representation., (*5)

use Util\Dictionary;

$rootDir = dirname(__DIR__);

$dir = new RecursiveDirectoryIterator($rootDir);
$iter = new RecursiveIteratorIterator($dir);
$regex = new RegexIterator($iter, '/^.+\.php$/i', RecursiveRegexIterator::GET_MATCH);

$phpFiles = new Dictionary([], [
    'delimiter' => '/',
]);

foreach ($regex as $key => $file) {
    $phpFiles[trim(realpath($file[0]), '/')] = 'Modified '.time_elapsed_string(filemtime($file[0]));
}

echo '

';
echo json_encode($phpFiles[trim($rootDir, '/')], JSON_PRETTY_PRINT);
echo '
'; // { // "example": { // "index.php": "Modified 13 hours ago" // }, // "src": { // "array.php": "Modified 9 hours ago", // "object.php": "Modified 20 days ago", // "string.php": "Modified 2 days ago", // "time.php": "Modified 7 hours ago", // "Util": { // "Dictionary.php": "Modified 5 seconds ago" // } // }, // ...

Using a Dictionary object for application configuration., (*6)

use Util\Dictionary;

class MyApplication
{
    protected $config;

    public function __construct(array $config = [])
    {
        $this->config = new Dictionary($config);
    }

    public function __get($property)
    {
        switch ($property) {

            case 'config':
                return $this->config;

            default:
                throw new Exception('Unknown application property: '.$property);
        }
    }

    public function configure(array $config)
    {
        $this->config->merge($config);

        return $this;
    }
}

$app = (new App())
    ->configure([
        'db.user' => 'root',
        'db.pass' => 'test',
    ]);

echo $app->config['db.user'];         // root
echo json_encode($app->config['db']); // { "user": "root", "pass": "test" }

The Versions