PHP-RN logo PHP-RN

Padrão de Carregamento Automático (AutoLoading Standard)

Obsoleto - A partir de 21-10-2014, o PSR-0 foi marcado como obsoleto. PSR-4 agora é recomendado como uma alternativa.

Abaixo estão os requisitos obrigatórios que devem ser cumpridos para interoperabilidade autoloader.

Obrigatório

Exemplos

Underlines em Namespaces e Nomes de Classes

Os padrões que definimos aqui devem ser o menor denominador comum para interoperabilidade indolor do autoloader. Você pode testar se está seguindo esses padrões utilizando o exemplo de implementação abaixo da SplClassLoader que é capaz de carregar classes PHP 5.3

Exemplo de Implementação

Abaixo está uma função para demonstrar o autoloader dos padrões propostos acima.

<?php

function autoload($className)
{
    $className = ltrim($className, '\\');
    $fileName  = '';
    $namespace = '';
    if ($lastNsPos = strrpos($className, '\\')) {
        $namespace = substr($className, 0, $lastNsPos);
        $className = substr($className, $lastNsPos + 1);
        $fileName  = str_replace('\\', DIRECTORY_SEPARATOR, $namespace) . DIRECTORY_SEPARATOR;
    }
    $fileName .= str_replace('_', DIRECTORY_SEPARATOR, $className) . '.php';

    require $fileName;
}
spl_autoload_register('autoload');

Implementação da SplClassLoader

O gist abaixo contém uma amostra de implementação da SplClassLoader que pode carregar suas classes se você seguir a interoperabilidade do autoloader dos padrões propostos acima. Atualmente é a maneira recomendada de carregar classes PHP 5.3 que seguem esses padrões.