liberty_code / file
v1.0.0
2022-01-27 22:50 UTC
Requires
- php: ~7 || ~8
- liberty_code/data: ^1.0.
- liberty_code/di: ^1.0.
- liberty_code/library: ^1.0.
- liberty_code/register: ^1.0.
- liberty_code/view: ^1.0.
This package is auto-updated.
Last update: 2024-09-28 05:05:54 UTC
README
描述
该库包含文件组件,用于管理文件和使用文件系统功能,供其他库组件使用。
需求
- 脚本语言:PHP:版本 7 || 8
安装
有多种方法可以实现
Composer
需求
需要安装 composer。更多信息:https://getcomposer.org.cn
命令:移动到项目根路径
cd "<project_root_path>"
命令:安装
php composer.phar require liberty_code/file ["<version>"]
注意
包含供应商
如果项目使用 composer,必须包含供应商
require_once('<project_root_path>/vendor/autoload.php');
配置
安装命令允许在 composer 文件 "
{ "require": { "liberty_code/file": "<version>" } }
包含
下载
- 下载以下存储库。
- 将其放在存储库根路径上。
包含源代码
require_once('<repository_root_path>/include/Include.php');
用法
文件
文件允许获取特定文件的信息和内容。
元素
文件
允许设计一个文件,该文件包含配置,以获取特定文件的信息和内容。
Base64File
扩展文件功能。允许从指定的 base 64 数据源获取文件信息和内容。
NameFile
扩展文件功能。允许设计一个命名文件,以获取文件名信息。
FsFile
扩展命名文件功能。允许从文件系统获取文件信息和内容。
FileFactory
允许设计文件工厂,从指定的配置提供新或特定的文件实例。
StandardFileFactory
扩展文件工厂功能。提供文件实例。
NameFileFactory
扩展文件工厂功能。提供命名文件实例。
// Get file factory
use liberty_code\file\file\factory\name\model\NameFileFactory;
$fileFactory = new NameFileFactory();
...
// Get new file from configuration
$file = $fileFactory->getObjFile(array(...));
...
注册
使用文件系统作为存储支持进行注册。
元素
DirRegister
允许使用文件系统作为支持来管理项目。它使用特定目录,其中每个项目存储在特定文件中。
示例
use liberty_code\file\register\directory\model\DirRegister;
$register = new DirRegister();
...
$register->putItem('key_1', '...'); // Register specified item for key 1
$register->putItem('key_N', '...'); // Register specified item for key N
...
foreach($register->getTabKey() as $key) {
var_dump($register->getItem($key));
}
/**
* Show:
* item for key 1
* item for key N
*/
...
模板存储库
在视图中使用模板存储库,使用文件系统作为存储支持。
元素
DirTmpRepository
扩展模板存储库功能。它使用目录路径列表,其中模板文件位于,以加载和获取指定的模板内容。
示例
// Get repository
use liberty_code\file\view\template\repository\directory\model\DirTmpRepository;
$repository = new DirTmpRepository([
'dir_path' => ['... directory path']
]);
...
// Get template content, if required
if($repository->checkExists('template_key'))
{
var_dump($repository->getStrContent('template_key'));
}
...