SplFileInfo::setInfoClass
(PHP 5 >= 5.1.2, PHP 7)
SplFileInfo::setInfoClass — Задает имя класса, объекты которого будут создаваться методами SplFileInfo::getFileInfo() и SplFileInfo::getPathInfo()
Описание
$class_name
= "SplFileInfo"
] )Задает имя класса, объекты которого будут создаваться при вызове методов SplFileInfo::getFileInfo() и SplFileInfo::getPathInfo(). Класс должен быть или SplFileInfo или наследоваться от SplFileInfo.
Список параметров
-
class_name
-
Имя класса используемого при вызове SplFileInfo::getFileInfo() и SplFileInfo::getPathInfo().
Возвращаемые значения
Эта функция не возвращает значения после выполнения.
Примеры
Пример #1 Пример использования SplFileInfo::setFileClass()
<?php
// определяем класс наследник SplFileInfo
class MyFoo extends SplFileInfo {}
$info = new SplFileInfo('foo');
// задаем имя класса
$info->setInfoClass('MyFoo');
var_dump($info->getFileInfo());
?>
Результатом выполнения данного примера будет что-то подобное:
object(MyFoo)#2 (0) { }
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Другие базовые расширения
- Стандартная библиотека PHP (SPL)
- Обработка файлов
- Функция SplFileInfo::__construct() - Создает новый объект SplFileInfo
- Функция SplFileInfo::getATime() - Получает время последнего обращения к файлу
- Функция SplFileInfo::getBasename() - Получает базовое имя файла
- Функция SplFileInfo::getCTime() - Возвращает время последнего изменения индексного дескриптора файла
- Функция SplFileInfo::getExtension() - Получает расширение файла
- Функция SplFileInfo::getFileInfo() - Получает объект SplFileInfo для файла
- Функция SplFileInfo::getFilename() - Получает имя файла
- Функция SplFileInfo::getGroup() - Получает группу файла
- Функция SplFileInfo::getInode() - Получение индексного узла для файла
- Функция SplFileInfo::getLinkTarget() - Получение пути по ссылке
- Функция SplFileInfo::getMTime() - Получает время последнего изменения
- Функция SplFileInfo::getOwner() - Определяет владельца файла
- Функция SplFileInfo::getPath() - Получение пути без имени файла
- Функция SplFileInfo::getPathInfo() - Получение объекта SplFileInfo для заданного пути
- Функция SplFileInfo::getPathname() - Определение пути к файлу
- Функция SplFileInfo::getPerms() - Получает список разрешений для файла
- Функция SplFileInfo::getRealPath() - Определяет абсолютный путь к файлу
- Функция SplFileInfo::getSize() - Получает размер файла
- Функция SplFileInfo::getType() - Получает тип файла
- Функция SplFileInfo::isDir() - Сообщает, является ли файл каталогом
- Функция SplFileInfo::isExecutable() - Сообщает, является ли файл исполняемым
- Функция SplFileInfo::isFile() - Сообщает, ссылается ли объект на обычный файл
- Функция SplFileInfo::isLink() - Сообщает, является ли файл ссылкой
- Функция SplFileInfo::isReadable() - Сообщает, является ли файл доступным для чтения
- Функция SplFileInfo::isWritable() - Сообщает, является ли элемент доступным для записи
- Функция SplFileInfo::openFile() - Получает объект SplFileObject для файла
- SplFileInfo::setFileClass
- SplFileInfo::setInfoClass
- Функция SplFileInfo::__toString() - Возвращает путь к файлу в виде строки
Коментарии
Be careful when using this method, as the functionality isn't exactly the same as instantiating the extending class directly. This can really trip you up if you're using type hints or instanceof checks.
<?php
class CustomFileInfo extends SplFileInfo
{
public function getExtension()
{
$ext = strtolower(parent::getExtension());
return 'jpeg' === $ext ? 'jpg' : $ext;
}
}
$path = __DIR__ . '/foobar.jpeg';
$good = new CustomFileInfo($path);
echo "<pre>";
var_dump($good instanceof SplFileInfo);
var_dump($good instanceof CustomFileInfo);
$bad = new SplFileInfo($path);
$bad->setInfoClass('CustomFileInfo');
var_dump($bad instanceof SplFileInfo);
var_dump($bad instanceof CustomFileInfo);
echo "</pre>";
?>
Outputs:
bool(true)
bool(true)
bool(true)
bool(false)