Pathjoin - это библиотека PHP для нормализации и соединения путей файловой системы. Цель этой библиотеки состоит в том, чтобы упростить работу с путями файловой системы, бесстрасльными платформой и сепаратором системного каталога.
Цель нормализации пути файла состоит в том, чтобы предоставить одно согласованное представление пути файла. Другими словами, нормализация в этой библиотеке решится . и .. Ссылки на каталог, а также подать несколько сепараторов каталогов в один. Это значительно облегчает избегать общих проблем при сравнении путей друг с другом.
В то время как PHP предоставляет встроенную функцию realpath() , он не используется в каждом случае, поскольку он работает с помощью файловой системы. Эта библиотека просто объединяет и нормализует пути, используя обработку строк. Не требуется, чтобы файлы или каталоги были читаемыми или даже существуют.
Документация API доступна по адресу: http://kit.riimu.net/api/pathjoin/
Самый простой способ установить эту библиотеку - использовать композитор для обработки ваших зависимостей. Чтобы установить эту библиотеку через композитор, просто следуйте этим двум шагам:
Получите composer.phar , запустив установку командной строки Composer в корне проекта.
После того, как вы запустите сценарий установки, у вас должен быть файл composer.phar в вашем корне проекта, и вы можете запустить следующую команду:
php composer.phar require "riimu/kit-pathjoin:^1.2"
После установки этой библиотеки через композитор вы можете загрузить библиотеку, включив файл vendor/autoload.php , который был сгенерирован Composer во время установки.
Если вы уже знакомы с тем, как использовать композитор, вы можете альтернативно добавить библиотеку в качестве зависимости, добавив следующий файл composer.json в свой проект и запустив команду composer install :
{
"require" : {
"riimu/kit-pathjoin" : " ^1.2 "
}
} Если вы не хотите использовать композитор для загрузки библиотеки, вы также можете загрузить библиотеку вручную, загрузив последний выпуск и извлекая папку src в свой проект. Затем вы можете включить предоставленный файл src/autoload.php для загрузки классов библиотеки.
Эта библиотека предоставляет два удобных метода, Path::normalize() и Path::join() . Оба эти метода работают очень похожим образом. Основное отличие состоит в том, что, хотя метод join() может принимать несколько путей для соединения, normalize() примет только один путь. Оба метода вернут нормированный путь в результате.
Следующий пример будет содержать множество различных случаев использования библиотеки:
<?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 ; Path::normalize() также принимает второй параметр $prependDrive , который берет логическое значение и значения по умолчанию. На платформах Windows буква диска является важной частью абсолютного пути. Таким образом, когда параметр устанавливается на TRUE, метод будет подготовить букву привода текущего рабочего каталога к абсолютным путям, если абсолютный путь не обеспечивает самого самого.
Следующий пример верно для Windows Systems, если рабочий каталог расположен на 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' Эта библиотека является Copyright (C) 2014-2017 Riikka Kalliomäki.
Смотрите лицензию на лицензию и копирование информации.