O PathJoin é a biblioteca PHP para normalizar e unir os caminhos do sistema de arquivos. O objetivo desta biblioteca é facilitar o trabalho com os caminhos do sistema de arquivos sem irregularidades da plataforma e do separador do diretório do sistema.
O objetivo da normalização do caminho do arquivo é fornecer uma única representação consistente do caminho do arquivo. Em outras palavras, a normalização nesta biblioteca será resolvida . e .. referências de diretório e também condensar vários separadores de diretórios em um. Isso torna muito mais fácil evitar problemas comuns ao comparar caminhos um contra o outro.
Embora o PHP forneça uma função realpath() , não é utilizável em todos os casos, pois funciona usando o sistema de arquivos. Essa biblioteca simplesmente combina e normaliza os caminhos usando o manuseio de strings. Não há necessidade de que os arquivos ou diretórios sejam legíveis ou até existam.
A documentação da API está disponível em: http://kit.riimu.net/api/pathjoin/
A maneira mais fácil de instalar esta biblioteca é usar o Composer para lidar com suas dependências. Para instalar esta biblioteca via compositor, basta seguir estas duas etapas:
Adquirir o composer.phar executando a instalação da linha de comando Composer na raiz do seu projeto.
Depois de executar o script de instalação, você deve ter o arquivo composer.phar em seu projeto ROOT e executar o seguinte comando:
php composer.phar require "riimu/kit-pathjoin:^1.2"
Depois de instalar esta biblioteca via compositor, você pode carregar a biblioteca incluindo o arquivo vendor/autoload.php que foi gerado pelo compositor durante a instalação.
Se você já estiver familiarizado com como usar o Composer, pode adicionar a biblioteca como uma dependência adicionando o seguinte arquivo composer.json ao seu projeto e executando o comando composer install :
{
"require" : {
"riimu/kit-pathjoin" : " ^1.2 "
}
} Se você não deseja usar o Composer para carregar a biblioteca, também pode baixar a biblioteca baixando o lançamento mais recente e extraindo a pasta src para o seu projeto. Você pode incluir o arquivo src/autoload.php fornecido para carregar as classes da biblioteca.
Esta biblioteca fornece dois métodos convenientes, Path::normalize() e Path::join() . Ambos os métodos funcionam de maneira muito semelhante. A principal diferença é que, embora o método join() possa aceitar vários caminhos a se unir, o normalize() aceitará apenas um único caminho. Ambos os métodos retornarão um caminho normalizado como resultado.
O exemplo a seguir conterá vários casos de uso diferentes da biblioteca:
<?php
require ' vendor/autoload.php ' ;
use Riimu Kit PathJoin Path ;
// Both of the following will output 'foo/bar' on Unix and 'foobar' on Windows
echo Path:: normalize ( ' foo/bar ' ) . PHP_EOL ;
echo Path:: join ( ' foo ' , ' bar ' ) . PHP_EOL ;
// The join method accepts multiple arguments or a single array
echo Path:: join ( ' foo ' , ' bar ' , ' baz ' ) . PHP_EOL ; // outputs 'foo/bar/baz'
echo Path:: join ([ ' foo ' , ' bar ' , ' baz ' ]) . PHP_EOL ; // outputs 'foo/bar/baz'
// The '.' and '..' directory references will be resolved in the paths
echo Path:: normalize ( ' foo/./bar/../baz ' ) . PHP_EOL ; // outputs 'foo/baz'
echo Path:: join ([ ' foo/./ ' , ' bar ' , ' ../baz ' ]) . PHP_EOL ; // outputs 'foo/baz'
// Only the first path can denote an absolute path in the join method
echo Path:: join ( ' /foo ' , ' /bar/baz ' ) . PHP_EOL ; // outputs '/foo/bar/baz'
echo Path:: join ( ' foo ' , ' /bar ' ) . PHP_EOL ; // outputs 'foo/bar'
echo Path:: join ( ' foo ' , ' ../bar ' , ' baz ' ) . PHP_EOL ; // outputs 'bar/baz'
echo Path:: join ( '' , ' /bar ' , ' baz ' ) . PHP_EOL ; // outputs 'bar/baz'
// Relative paths can start with a '..', but absolute paths cannot
echo Path:: join ( ' /foo ' , ' ../../bar ' , ' baz ' ) . PHP_EOL ; // outputs '/bar/baz'
echo Path:: join ( ' foo ' , ' ../../bar ' , ' baz ' ) . PHP_EOL ; // outputs '../bar/baz'
// Empty paths will result in a '.'
echo Path:: normalize ( ' foo/.. ' ) . PHP_EOL ;
echo Path:: join ( ' foo ' , ' bar ' , ' ../.. ' ) . PHP_EOL ; O Path::normalize() também aceita um segundo parâmetro $prependDrive que assume um valor booleano e padrão é true. Nas plataformas do Windows, a letra de acionamento é uma parte importante do caminho absoluto. Assim, quando o parâmetro é definido como TRUE, o método preencherá a letra de unidade do diretório de trabalho atual a caminhos absolutos se o caminho absoluto não fornecer um em si.
O exemplo a seguir é verdadeiro para os sistemas Windows, se o diretório de trabalho estiver localizado no C: Drive:
<?php
require ' vendor/autoload.php ' ;
use Riimu Kit PathJoin Path ;
echo Path:: normalize ( ' /foo/bar ' ) . PHP_EOL ; // outputs 'C:fooBar'
echo Path:: normalize ( ' D:/foo/bar ' ) . PHP_EOL ; // outputs 'D:fooBar'
echo Path:: normalize ( ' /foo/bar ' , false ) . PHP_EOL ; // outputs 'fooBar' Esta biblioteca é direitos autorais (c) 2014-2017 Riikka Kalliomäki.
Consulte Licença para obter licença e cópia de informações.