youvision / think-layui-component
ThinkPHP 8 组件包:下载 layui 最新版发布包并部署到 theme/component/layui 目录。
Package info
github.com/indiboy-create/think-layui-component
pkg:composer/youvision/think-layui-component
Requires
- php: >=8.0
- ext-curl: *
- ext-zip: *
- topthink/framework: ^8.0
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
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:
- 注册
Youvision\ThinkLayuiComponent\Service,命令layui:publish生效; - 将配置文件发布到项目
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
- 将
version与url同步修改为新版本; - 执行
php think layui:publish --refresh。
缓存按 layui-{version}.zip 命名,版本号变化后会自动使用新的缓存文件。
六、注意事项
- 生产环境执行
composer install后需手动执行一次php think layui:publish,资源才会部署到theme/component/layui。 - 部署只复制文件,不删除目标目录中的旧文件;资源改名或删除后需手动清理。
runtime/layui/属于运行缓存,不应提交到版本库。- 不要直接修改
theme/component/layui中由命令部署的文件,重新部署会覆盖;需要定制请复制到项目自有目录。
许可证
MIT