jmichaelward/ contracts-wp
WordPress的PHP合约。
Requires
- php: ^7.4 || ^8.0
This package is auto-updated.
Last update: 2024-09-18 20:19:51 UTC
README
此库提供了一组小型接口,旨在用于WordPress面向对象开发。它是第一个此类库的进化,即OOPS-WP,其中包含了一些这些概念,但也包括一系列抽象类,以帮助加快并保持插件和主题的快速和一致性构建。
这次,我故意让库变得更小;目的是让开发者从这些接口开始,以便他们可以扩展它们以创建更特定于他们项目需求的接口和抽象类。如果你不喜欢OOPS-WP中的抽象类方法,但你看到了这些较小合约的价值,你可能会发现这个库作为你自己的基础很有用。
值得注意的是,这个版本包含了一些与我的第一次尝试不同的合约:Enqueueable、Initializable和Hydratable。Enqueueable绝对是WordPress特定的,可以在负责使用WordPress将脚本和样式表入队的类中实现,而Initializable是Runnable的变体,但它们可以一起使用。
另一方面,Hydratable是一个在PHP社区中普遍存在的概念,我想在这里添加它,因为我经常使用它。那些经常编写单元测试的人会理解,在构造函数中调用WordPress功能对象是多么具有挑战性。如果你需要在对象使用之前填充数据,并且想以“正确”的方式做,你可以实现Hydratable接口,并将从其他来源填充数据的逻辑放入该方法中。基本上,它实现了关注点的分离,使你的测试更容易编写。我希望你会试试。
要求
为了安装Contracts-WP,你的环境中必须安装PHP 7.4或更高版本。
安装
最好使用Composer安装此库。只需运行composer require jmichaelward/contracts-wp
并确保从Composer的vendor目录自动加载依赖项。