v1.0.0 2022-01-27 22:50 UTC

This package is auto-updated.

Last update: 2024-09-28 05:05:54 UTC


README

描述

该库包含文件组件,用于管理文件和使用文件系统功能,供其他库组件使用。

需求

  • 脚本语言:PHP:版本 7 || 8

安装

有多种方法可以实现

Composer

  1. 需求

    需要安装 composer。更多信息:https://getcomposer.org.cn

  2. 命令:移动到项目根路径

     cd "<project_root_path>"
    
  3. 命令:安装

     php composer.phar require liberty_code/file ["<version>"]
    
  4. 注意

    • 包含供应商

      如果项目使用 composer,必须包含供应商

        require_once('<project_root_path>/vendor/autoload.php');
      
    • 配置

      安装命令允许在 composer 文件 "

        {
            "require": {
                "liberty_code/file": "<version>"
            }
        }
      

包含

  1. 下载

    • 下载以下存储库。
    • 将其放在存储库根路径上。
  2. 包含源代码

     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'));
}
...