2017 © Pedro Peláez
 

library autoloader

Fedora PHP Autoloader

image

fedora/autoloader

Fedora PHP Autoloader

  • Thursday, May 4, 2017
  • by siwinski
  • Repository
  • 3 Watchers
  • 5 Stars
  • 732 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 2 Forks
  • 1 Open issues
  • 10 Versions
  • 1 % Grown

The README.md

Fedora Autoloader

Build Status, (*1)

Static PSR-4, PSR-0, and classmap autoloader. Includes loader for required and optional dependencies., (*2)

Autoloader

PSR-4

\Fedora\Autoloader\Autoload::addPsr4($prefix, $path, $prepend = false), (*3)

PSR-0

\Fedora\Autoloader\Autoload::addPsr0($prefix, $path, $prepend = false), (*4)

Classmap

\Fedora\Autoloader\Autoload::addClassMap(array $classMap, $path), (*5)

phpab Template

Template: res/phpab/fedora.php.tpl, (*6)

For an example of its' usage, see tests/genclassmap.sh., (*7)

Dependencies loader

Loops through provided array of dependencies: - If dependency is not an array: - If dependency is required, it is only required/loaded if it exists, otherwise a \RuntimeException is thrown. - If dependency is not required, it is only required/loaded if it exists. - If dependency is an array: - Loops through all items until the first item that exists is found and then it is required/loaded. If no item is found and the dependency is required, the last item will be required/loaded if it exists, otherwise a \RuntimeException is thrown., (*8)

Required dependencies

\Fedora\Autoloader\Dependencies::required(array $requiredDependencies), (*9)

Example 1

\Fedora\Autoloader\Dependencies::required(array(
    '/usr/share/php/RequiredFoo/autoload.php',
    '/usr/share/php/RequiredBar/autoload.php',
));

Equates to:, (*10)

if (
    is_file('/usr/share/php/RequiredFoo/autoload.php')
    && is_readable('/usr/share/php/RequiredFoo/autoload.php')
) {
    require_once '/usr/share/php/RequiredFoo/autoload.php';
} else {
    throw new \RuntimeException("File not found: '/usr/share/php/RequiredFoo/autoload.php'");
}

if (
    is_file('/usr/share/php/RequiredBar/autoload.php')
    && is_readable('/usr/share/php/RequiredBar/autoload.php')
) {
    require_once '/usr/share/php/RequiredBar/autoload.php';
} else {
    throw new \RuntimeException("File not found: '/usr/share/php/RequiredBar/autoload.php'");
}

Example 2

\Fedora\Autoloader\Dependencies::required(array(
    array(
        '/usr/share/php/RequiredFooVersion1/autoload.php',
        '/usr/share/php/RequiredFooVersion2/autoload.php',
        '/usr/share/php/RequiredFooVersion3/autoload.php',
    ),
));

Equates to:, (*11)

if (
    is_file('/usr/share/php/RequiredFooVersion1/autoload.php')
    && is_readable('/usr/share/php/RequiredFooVersion1/autoload.php')
) {
    require_once '/usr/share/php/RequiredFooVersion1/autoload.php';
} elseif (
    is_file('/usr/share/php/RequiredFooVersion2/autoload.php')
    && is_readable('/usr/share/php/RequiredFooVersion2/autoload.php')
) {
    require_once '/usr/share/php/RequiredFooVersion2/autoload.php';
} elseif (
    is_file('/usr/share/php/RequiredFooVersion3/autoload.php')
    && is_readable('/usr/share/php/RequiredFooVersion3/autoload.php')
) {
    require_once '/usr/share/php/RequiredFooVersion3/autoload.php';
} else {
    throw new \RuntimeException("Files not found: "
        . "'/usr/share/php/RequiredFooVersion1/autoload.php'"
        . "|| '/usr/share/php/RequiredFooVersion2/autoload.php'"
        . "|| '/usr/share/php/RequiredFooVersion3/autoload.php'"
    );
}

Optional dependencies

\Fedora\Autoloader\Dependencies::optional(array $optionalDependencies), (*12)

Example 1

\Fedora\Autoloader\Dependencies::optional(array(
    '/usr/share/php/OptionalFoo/autoload.php',
    '/usr/share/php/OptionalBar/autoload.php',
));

Equates to:, (*13)

if (
    is_file('/usr/share/php/OptionalFoo/autoload.php')
    && is_readable('/usr/share/php/OptionalFoo/autoload.php')
) {
    require_once '/usr/share/php/OptionalFoo/autoload.php';
}

if (
    is_file('/usr/share/php/OptionalBar/autoload.php')
    && is_readable('/usr/share/php/OptionalBar/autoload.php')
) {
    require_once '/usr/share/php/OptionalBar/autoload.php';
}

Example 2

\Fedora\Autoloader\Dependencies::optional(array(
    array(
        '/usr/share/php/OptionalFooVersion1/autoload.php',
        '/usr/share/php/OptionalFooVersion2/autoload.php',
        '/usr/share/php/OptionalFooVersion3/autoload.php',
    ),
));

Equates to:, (*14)

if (
    is_file('/usr/share/php/OptionalFooVersion1/autoload.php')
    && is_readable('/usr/share/php/OptionalFooVersion1/autoload.php')
) {
    require_once '/usr/share/php/OptionalFooVersion1/autoload.php';
} elseif (
    is_file('/usr/share/php/OptionalFooVersion2/autoload.php')
    && is_readable('/usr/share/php/OptionalFooVersion2/autoload.php')
) {
    require_once '/usr/share/php/OptionalFooVersion2/autoload.php';
} elseif (
    is_file('/usr/share/php/OptionalFooVersion3/autoload.php')
    && is_readable('/usr/share/php/OptionalFooVersion3/autoload.php')
) {
    require_once '/usr/share/php/OptionalFooVersion3/autoload.php';
}

License

The MIT License (MIT), (*15)

The Versions

04/05 2017

dev-master

9999999-dev https://github.com/php-fedora/autoloader

Fedora PHP Autoloader

  Sources   Download

MIT

The Requires

  • php >= 5.3.3

 

The Development Requires

by Shawn Iwinski

autoloader autoload psr-4 psr-0 fedora

04/05 2017

1.0.0

1.0.0.0 https://github.com/php-fedora/autoloader

Fedora PHP Autoloader

  Sources   Download

MIT

The Requires

  • php >= 5.3.3

 

The Development Requires

by Shawn Iwinski

autoloader autoload psr-4 psr-0 fedora

13/03 2017

1.0.0-rc1

1.0.0.0-RC1 https://github.com/php-fedora/autoloader

Fedora PHP Autoloader

  Sources   Download

MIT

The Requires

  • php >= 5.3.3

 

The Development Requires

by Shawn Iwinski

autoloader autoload psr-4 psr-0 fedora

13/03 2017

dev-issue-incpath

dev-issue-incpath https://github.com/php-fedora/autoloader

Fedora PHP Autoloader

  Sources   Download

MIT

The Requires

  • php >= 5.3.3

 

The Development Requires

by Shawn Iwinski

autoloader autoload psr-4 psr-0 fedora

28/10 2016

0.2.1

0.2.1.0 https://github.com/php-fedora/autoloader

Fedora PHP Autoloader

  Sources   Download

MIT

The Requires

  • php >= 5.3.3

 

The Development Requires

by Shawn Iwinski

autoloader autoload psr-4 psr-0 fedora

28/10 2016

dev-remove-self-autoload-constant

dev-remove-self-autoload-constant https://github.com/php-fedora/autoloader

Fedora PHP Autoloader

  Sources   Download

MIT

The Requires

  • php >= 5.3.3

 

The Development Requires

by Shawn Iwinski

autoloader autoload psr-4 psr-0 fedora

26/10 2016

0.2.0

0.2.0.0 https://github.com/php-fedora/autoloader

Fedora PHP Autoloader

  Sources   Download

MIT

The Requires

  • php >= 5.3.3

 

The Development Requires

by Shawn Iwinski

autoloader autoload psr-4 psr-0 fedora

21/10 2016

0.1.2

0.1.2.0 https://github.com/php-fedora/autoloader

Fedora PHP Autoloader

  Sources   Download

MIT

The Requires

  • php >= 5.3.3

 

The Development Requires

by Shawn Iwinski

autoloader autoload psr-4 psr-0 fedora

20/10 2016

0.1.1

0.1.1.0 https://github.com/php-fedora/autoloader

Fedora PHP Autoloader

  Sources   Download

MIT

The Requires

  • php >= 5.3.3

 

The Development Requires

by Shawn Iwinski

autoloader autoload psr-4 psr-0 fedora

19/10 2016

0.1.0

0.1.0.0 https://github.com/php-fedora/autoloader

Fedora PHP Autoloader

  Sources   Download

MIT

The Requires

  • php >= 5.3.3

 

The Development Requires

by Shawn Iwinski

autoloader autoload psr-4 psr-0 fedora