Search by

youvision / think-layui-component

indiboy-create

ThinkPHP 8 组件包:下载 layui 最新版发布包并部署到 theme/component/layui 目录。

Package info

github.com/indiboy-create/think-layui-component

pkg:composer/youvision/think-layui-component

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

dev-main 2026-11-11 03:12 UTC

This package is auto-updated.

Last update: 2026-11-11 03:18:03 UTC


README

面向 ThinkPHP 的开源工程索引:组件、框架、服务与发布工具,按能力组织,持续整理。 仓库地址:https://github.com/indiboy-create/ThinkPHP-PanGu/ 在线站点:https://indiboy-create.github.io/ThinkPHP-PanGu/

youvision/think-layui-component

ThinkPHP 8 组件包:下载 layui 最新版发布包,解压后部署到项目 theme/component/layui 目录。

一、安装

composer require youvision/think-layui-component

ThinkPHP 8 骨架的 post-autoload-dump 会自动执行 service:discover 和 vendor:publish:

  1. 注册 Youvision\ThinkLayuiComponent\Service,命令 layui:publish 生效;
  2. 将配置文件发布到项目 config/layui_component.php。

项目若没有这两个脚本,手动执行:

php think service:discover
php think vendor:publish

依赖 PHP 的 curl 与 zip 扩展。

二、部署 layui

# 部署 layui 到 theme/component/layui
php think layui:publish

# 覆盖目标目录中已存在的同名文件
php think layui:publish --force

# 忽略本地缓存,重新下载发布包
php think layui:publish --refresh

部署完成后会输出 layui 版本、复制/跳过/失败数量和目标目录;失败时命令返回非 0 状态码。

模板中引入:

<link rel="stylesheet" href="/theme/component/layui/css/layui.css">
<script src="/theme/component/layui/layui.js"></script>

若项目未将 theme 目录直接对外提供访问,请在 Web 服务器或路由中将 theme/component/layui 映射为静态目录。

三、配置项

config/layui_component.php:

配置项 类型 默认值 说明
version string 2.13.9 layui 版本号,用于缓存文件命名和命令输出
url string 官方 GitHub Pages 地址 发布包下载地址,仅支持 http/https,需与 version 对应
root string layui 压缩包内资源目录名,官方包结构为 layui-v2.13.9/layui/
target string theme/component/layui 部署目录,相对项目根目录,不能使用绝对路径或 ..
cache_dir string runtime/layui zip 下载与解压目录,相对项目根目录
timeout int 300 下载超时时间,单位秒
cafile string 空 CA 证书绝对路径,Windows 出现 SSL 报错时填写 CA bundle
force bool false 是否覆盖同名文件,命令 --force 优先级更高
skip_dot_files bool true 是否跳过以点开头的隐藏文件,如 .gitkeep

四、编程调用

use Youvision\ThinkLayuiComponent\Layui;

$layui = app(Layui::class);

// 使用全局配置部署
$result = $layui->deploy();

// 覆盖同名文件,并重新下载
$result = $layui->deploy(true, true);

// 运行时覆盖配置,例如自定义部署路径
$layui = new Layui(app(), ['target' => 'public/static/ui/layui']);
$result = $layui->deploy();

deploy() 第一个参数为 null 时使用配置中的 force 值,传 true/false 则显式指定。

返回结构:

[
    'version' => '2.13.9',
    'target'  => '/path/to/project/theme/component/layui',
    'copied'  => 7,
    'skipped' => 0,
    'failed'  => 0,
]

五、升级 layui

  1. 将 version 与 url 同步修改为新版本;
  2. 执行 php think layui:publish --refresh。

缓存按 layui-{version}.zip 命名,版本号变化后会自动使用新的缓存文件。

六、注意事项

  1. 生产环境执行 composer install 后需手动执行一次 php think layui:publish,资源才会部署到 theme/component/layui。
  2. 部署只复制文件,不删除目标目录中的旧文件;资源改名或删除后需手动清理。
  3. runtime/layui/ 属于运行缓存,不应提交到版本库。
  4. 不要直接修改 theme/component/layui 中由命令部署的文件,重新部署会覆盖;需要定制请复制到项目自有目录。

许可证

MIT