coco-project/constants

Enables you to organize and structure document paths more elegantly.

v1.0.6 2024-04-08 09:41 UTC

This package is auto-updated.

Last update: 2024-05-08 09:48:04 UTC


README

Enables you to organize and structure document paths more elegantly.

Here's a quick example:

<?php

    use Coco\constants\ConstantsManager;

    require '../vendor/autoload.php';

    const PUBLIC_PATH = 'public/';
    const FILE_BASE_PATH = 'files/';
    const UPLOAD_PATH    = '<PUBLIC_PATH>upload/';
    const DOC_PATH       = '<UPLOAD_PATH>doc/';

    ConstantsManager::initSystemConstants();

    $res = ConstantsManager::getAllConstants();

    // public/upload/doc/hello/files/
    echo ConstantsManager::dynamicParsing('<DOC_PATH>hello/<FILE_BASE_PATH>');
    echo PHP_EOL;

    // /public/
    echo ConstantsManager::getValue('PUBLIC_PATH');
    echo PHP_EOL;

    // /public/upload/doc/
    echo ConstantsManager::getValue('DOC_PATH');
    echo PHP_EOL;

    // public/upload/doc/foo/bar/
    echo ConstantsManager::getValue('DOC_PATH', function($value) {
        return $value . 'foo/bar/';
    });
    echo PHP_EOL;

    // public/upload/doc/aaa/bbb/ccc
    echo ConstantsManager::getValue('DOC_PATH', function($value) {
        return ConstantsManager::toDirectorySeparator($value) . 'aaa/bbb/ccc';
    });
    echo PHP_EOL;
<?php
    use Coco\constants\ConstantsManager;

    require '../vendor/autoload.php';

    const PUBLIC_PATH = '/public/';

    ConstantsManager::initSystemConstants();

    $res = ConstantsManager::getAllConstants();

    var_export($res);

Installation

You can install the package via composer:

composer require coco-project/constants

Testing

composer test

License

MIT