snicco / snicco
Snicco项目的开发单仓库
v2.0.0-beta.9
2024-09-07 14:26 UTC
Requires
- php: ^7.4|^8.0
- ext-filter: *
- ext-hash: *
- ext-json: *
- ext-mbstring: *
- ext-mysqli: *
- cache/simple-cache-bridge: ^1.2.0
- cache/tag-interop: ^1.1
- cache/taggable-cache: 1.2.0
- codeception/codeception: ^4.1.29
- defuse/php-encryption: ^2.3
- filp/whoops: ^2.14.5
- illuminate/collections: ^8.81
- illuminate/container: ^8.81
- illuminate/contracts: ^8.81
- illuminate/database: ^8.81
- illuminate/events: ^8.81
- illuminate/filesystem: ^8.81
- illuminate/macroable: ^8.81
- illuminate/support: ^8.81
- illuminate/view: ^8.81
- laminas/laminas-httphandlerrunner: ^2.1
- lucatume/wp-browser: ~3.1.4
- middlewares/negotiation: ^2.1.0
- nikic/fast-route: 1.3.0
- nyholm/psr7: ^1.0.0
- nyholm/psr7-server: ^1.0.2
- paragonie/constant_time_encoding: ^2.4
- phpunit/phpunit: ^9.5.13
- pimple/pimple: ^3.5
- psr/cache: ^1.0.0
- psr/container: ^1.1
- psr/event-dispatcher: ^1.0
- psr/http-factory: ^1.0.0
- psr/http-message: ^1.0.0
- psr/http-server-handler: ^1.0.0
- psr/http-server-middleware: ^1.0.0
- psr/log: ^1.1.1
- psr/simple-cache: ^1.0.0
- symfony/browser-kit: ^5.4
- symfony/css-selector: ^5.4
- symfony/dom-crawler: ^5.4.6
- webimpress/safe-writer: ^2.2
- webmozart/assert: ^1.10
Requires (Dev)
- ext-curl: *
- cache/array-adapter: ^1.0.0
- cache/integration-tests: 0.17.0
- codeception/module-cli: ^1.1.1
- cweagans/composer-patches: ^1.7
- fakerphp/faker: ^1.3.0-stable
- guzzlehttp/guzzle: ^7.0.1
- guzzlehttp/psr7: ^2.1
- knplabs/github-api: ^3.0
- laminas/laminas-diactoros: ^2.8
- php-stubs/wordpress-stubs: ^5.9.0
- symfony/finder: ^5.0
- symplify/easy-coding-standard: 10.1.2
- symplify/monorepo-builder: 9.4.70
- vimeo/psalm: 4.22.0
- vlucas/phpdotenv: 5.4.1
- wp-cli/wp-cli: ^2.6
Replaces
- snicco/better-wp-api: v2.0.0-beta.9
- snicco/better-wp-cache: v2.0.0-beta.9
- snicco/better-wp-cache-bundle: v2.0.0-beta.9
- snicco/better-wp-cli: v2.0.0-beta.9
- snicco/better-wp-cli-testing: v2.0.0-beta.9
- snicco/better-wp-hooks: v2.0.0-beta.9
- snicco/better-wp-hooks-bundle: v2.0.0-beta.9
- snicco/better-wp-mail: v2.0.0-beta.9
- snicco/better-wp-mail-bundle: v2.0.0-beta.9
- snicco/better-wp-mail-testing: v2.0.0-beta.9
- snicco/better-wpdb: v2.0.0-beta.9
- snicco/better-wpdb-bundle: v2.0.0-beta.9
- snicco/blade-bridge: v2.0.0-beta.9
- snicco/blade-bundle: v2.0.0-beta.9
- snicco/content-negotiation-middleware: v2.0.0-beta.9
- snicco/debug-bundle: v2.0.0-beta.9
- snicco/default-headers-middleware: v2.0.0-beta.9
- snicco/eloquent: v2.0.0-beta.9
- snicco/encryption-bundle: v2.0.0-beta.9
- snicco/event-dispatcher: v2.0.0-beta.9
- snicco/event-dispatcher-testing: v2.0.0-beta.9
- snicco/guests-only-middleware: v2.0.0-beta.9
- snicco/http-routing: v2.0.0-beta.9
- snicco/http-routing-bundle: v2.0.0-beta.9
- snicco/http-routing-testing: v2.0.0-beta.9
- snicco/https-only-middleware: v2.0.0-beta.9
- snicco/illuminate-container-bridge: v2.0.0-beta.9
- snicco/kernel: v2.0.0-beta.9
- snicco/kernel-testing: v2.0.0-beta.9
- snicco/method-override-middleware: v2.0.0-beta.9
- snicco/minimal-logger: v2.0.0-beta.9
- snicco/must-match-route-middleware: v2.0.0-beta.9
- snicco/no-robots-middleware: v2.0.0-beta.9
- snicco/open-redirect-protection-middleware: v2.0.0-beta.9
- snicco/payload-middleware: v2.0.0-beta.9
- snicco/pimple-bridge: v2.0.0-beta.9
- snicco/psr7-error-handler: v2.0.0-beta.9
- snicco/redirect-middleware: v2.0.0-beta.9
- snicco/session: v2.0.0-beta.9
- snicco/session-bundle: v2.0.0-beta.9
- snicco/session-psr16-bridge: v2.0.0-beta.9
- snicco/session-testing: v2.0.0-beta.9
- snicco/session-wp-bridge: v2.0.0-beta.9
- snicco/share-cookies-middleware: v2.0.0-beta.9
- snicco/signed-url: v2.0.0-beta.9
- snicco/signed-url-psr15-bridge: v2.0.0-beta.9
- snicco/signed-url-psr16-bridge: v2.0.0-beta.9
- snicco/signed-url-testing: v2.0.0-beta.9
- snicco/signed-url-wp-bridge: v2.0.0-beta.9
- snicco/str-arr: v2.0.0-beta.9
- snicco/templating: v2.0.0-beta.9
- snicco/templating-bundle: v2.0.0-beta.9
- snicco/testable-clock: v2.0.0-beta.9
- snicco/testing-bundle: v2.0.0-beta.9
- snicco/trailing-slash-middleware: v2.0.0-beta.9
- snicco/wp-auth-only-middleware: v2.0.0-beta.9
- snicco/wp-capability-middleware: v2.0.0-beta.9
- snicco/wp-guests-only-middleware: v2.0.0-beta.9
- snicco/wp-nonce-middleware: v2.0.0-beta.9
- dev-master
- v2.0.0-beta.9
- v2.0.0-beta.8
- v2.0.0-beta.7
- v2.0.0-beta.6
- v2.0.0-beta.5
- v2.0.0-beta.4
- v2.0.0-beta.3
- v2.0.0-beta.2
- v2.0.0-beta.1
- v1.10.1
- v1.10.0
- v1.9.1
- v1.9.0
- v1.8.1
- v1.8.0
- v1.7.0
- v1.6.2
- v1.6.1
- v1.6.0
- v1.5.0
- v1.4.2
- v1.4.1
- v1.4.0
- v1.3.0
- v1.2.1
- v1.2.0
- v1.1.3
- v1.1.2
- v1.1.1
- v1.1.0
- v1.0.2
- v1.0.1
- v1.0.0
- dev-beta
- dev-feat/controller-middleware
This package is auto-updated.
Last update: 2024-09-07 14:27:14 UTC
README
在这个开发 单仓库 中,你会发现许多独立的包,这些包将帮助您更快地开发可测试的、可维护的且符合PSR规范的强大企业级WordPress项目。
此仓库中的所有包都专门设计为可在分布式WordPress代码中使用,并且默认可作用域。
目录
仓库概览
您可以在 src/Snicco
目录中找到所有包。
以下是仓库的简要概述:(提示:点击链接访问每个包的专用文档)
组件
此目录包含完全解耦的PHP组件,您可以在任何WordPress(或任何其他PHP项目)中使用。
- BetterWPAPI:一种更好的方式与分布式WordPress包中的WordPress核心功能交互。
- BetterWPCache:使用
WP_Object_Cache
实现的PSR6/PSR16实现。支持缓存标签。 - BetterWPCLI:WP-CLI的缺失部分,已经非常出色。
- BetterWPHooks:2022年对WordPress钩子系统的重新设计。(PSR-14兼容)
- BetterWPMail:对
wp_mail
函数的长期期待升级。 - BetterWPDB:在WordPress中处理自定义表时让您保持安全和平静。
- EventDispatcher:一个通用的、PSR-14兼容的事件调度器,为
snicco/better-wp-hooks
提供动力。 - HttpRouting:一个基于fast-route的快速路由系统和PSR7/PSR15中间件调度器,特别适用于没有100%控制请求生命周期的遗留软件。
- Kernel:一个最小化和可定制的应用程序引导器。
- Psr7ErrorHandler:一个强大、PSR-7/PSR-3兼容的错误处理器。
- Session:适用于由于各种原因不能使用
$_SESSION
的应用程序的自定义会话实现。 - SignedURL:一个独立的包,用于生成和验证受保护的URL。
- StrArr:一个零依赖、类型安全和与 psalm 兼容的实现,用于 illuminate/support 字符串和数组辅助工具。
- Templating:用于使用和组合不同模板引擎的统一、不可变 API。
- TestableClock:测试依赖于时间的代码的帮助类。
桥梁
此目录包含一个组件中定义的接口的不同实现。
- Blade:为
snicco/templating
提供了一个 100% 测试过的、独立的 illuminate/view 实现。 - IlluminateContainer:为使用
snicco/kernel
提供了 illuminate/container 的适配器。 - Pimple:为使用
snicco/kernel
提供了 pimple/pimple 的适配器。 - Session-PSR16:允许使用任何 PSR16 缓存后端与
snicco/session
。 - SessionWP:允许使用自定义表或
WP_Object_Cache
与snicco/session
。 - SingedURL-PSR15:为
snicco/signed-url
提供了一个 PSR15 中间件。 - SingedURL-PSR16:允许使用任何 PSR16 缓存作为
snicco/signed-url
的存储。
中间件
此目录包含可以插入到 snicco/http-routing
组件的 PSR15 中间件。
- DefaultHeaders:向所有发出的响应添加自定义头。
- HttpsOnly:将所有请求重定向为 HTTPS。
- MethodOverride:允许将表单提交处理为
PUT|PATCH|DELETE
请求。 - Negotiation:执行内容和语言协商。
- NoRobots:禁止搜索引擎索引当前请求路径。
- Payload:将 JSON(和其他)数据转换为普通的 PHP 数组。
- Redirect:将请求重定向到配置的位置。
- ShareCookies:将 cookie 对象转换为响应头。
- TrailingSlash:将
/foo/
重定向为/foo
或相反。 - WPAuthOnly:仅授予已认证的 WordPress 用户访问权限。
- WPCapability:仅授予配置了权限的 WordPress 用户的访问权限。
- WPGuestsOnly:仅授予访客 WordPress 用户的访问权限。
- WPNonce:一次性解决所有 WordPress Nonces 问题。
包
bundle
是 snicco/kernel
组件的插件,它集成了一个或多个 组件 或 桥梁,以提供开箱即用的功能。
虽然所有组件都可以在不使用 snicco/kernel
组件的情况下使用,但 bundles 使得使用和配置变得轻松。
- BetterWPCacheBundle
- BetterWPHooksBundle
- BetterWPMailBundle
- BetterWPDBBundle
- BladeBundle
- DebugBundle:将 filp/whoops 与
snicco/psr7-error-handler
集成。 - EncryptionBundle:与 defuse/php-encryption 库紧密集成。
- HttpRoutingBundle
- SessionBundle:集成
snicco/session
,snicco/http-routing
和snicco/session-wp-bridge
。 - TemplatingBundle
- TestingBundle:适用于基于
snicco/kernel
的应用程序的全栈测试框架,基于 codeception/codeception 和 lucatume/wp-browser。
测试
此目录包含 组件 的测试实用程序。这些软件包仅应作为开发依赖项使用。
- BetterWPMailTesting:提供可测试的邮件传输,用于测试。
- EventDispatcherTesting:提供可测试的事件调度器,用于测试。
- HttpRoutingTesting:提供用于测试自定义 Middleware 的实用程序。
- KernelTesting:包含用于测试自定义依赖注入适配器的测试用例。
- SessionTesting:包含用于测试
snicco/session
的自定义会话驱动程序的测试用例。 - SignedUrlTesting:包含用于测试
snicco/signed-url
的自定义存储的测试用例。
贡献
我们为我们的 贡献指南 设立了单独的文档。
变更日志
我们的变更日志 是使用神奇的 npm 包 semantic-release 自动生成的。
安全性
请审查我们的安全策略,了解如何安全地报告漏洞。
许可证
本项目遵循GNU LGPLv3许可协议,除非每个包的相应LICENSE.md文件中另有说明。请参阅LICENSE.md
致谢
我们想特别感谢
- @matthiasnoback:感谢他在PHP包设计方面的教导。这对我们设置这个项目产生了重大影响。
- @TomasVotruba:感谢他在管理PHP单仓方面的教导。