contenir/errors
Composer 安装命令:
composer require contenir/errors
包简介
Framework-agnostic admin-authored error-page content for Contenir CMS — admin writes per-status titles and bodies, Site renders.
README 文档
README
Framework-agnostic admin-authored error-page content for Contenir CMS.
The CMS lets an operator author per-status error pages (404, 500, 403, …). The consuming Site (Mezzio, Laminas MVC, anything else) reads those pages on every error and replaces the framework's default rendering with on-brand content.
This package provides the domain — an immutable per-status value plus
a repository interface, with file-based and in-memory implementations.
Framework-specific listeners/middleware come from sibling packages
(e.g. contenir/errors-laminas-mvc).
Install
composer require contenir/errors
Zero runtime dependencies — pure PHP 8.1+.
Usage
Reading pages
use Contenir\Errors\Repository\FileRepository; $repo = new FileRepository('/var/www/shared/errors.local.php'); $page = $repo->get(404); if ($page !== null && ! $page->isEmpty()) { // Render with $page->title and $page->body }
Writing pages (admin)
use Contenir\Errors\ErrorPage; $repo->save(new ErrorPage(404, 'Page not found', '<p>Try the homepage.</p>')); $repo->delete(404);
The body is expected to be a sanitized HTML fragment — inline elements only, no scripts/styles. Sanitization is the writer's responsibility; readers render raw and trust the contract.
File format
FileRepository reads/writes a PHP file that returns an array indexed
by HTTP status code:
<?php return [ 404 => [ 'title' => 'Page not found', 'body' => '<p>Try the <a href="/">homepage</a>.</p>', ], 500 => [ 'title' => 'Something went wrong', 'body' => '<p>We have been notified.</p>', ], ];
A missing or unreadable file resolves to no configured pages, so first-run and permission edge cases don't crash the consumer.
Testing
InMemoryRepository is shipped in src/ so consumers can use it in
their own test suites:
use Contenir\Errors\Repository\InMemoryRepository; use Contenir\Errors\ErrorPage; $repo = new InMemoryRepository([ new ErrorPage(404, 'Not found', '<p>Lost.</p>'), ]);
contenir/errors 适用场景与选型建议
contenir/errors 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 65 次下载、GitHub Stars 达 0, 最近一次更新时间为 2026 年 05 月 08 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 contenir/errors 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 contenir/errors 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 65
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 48
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-05-08