pollora/entity
最新稳定版本:1.1
Composer 安装命令:
composer require pollora/entity
包简介
A modern PHP package for WordPress custom post types and taxonomies
README 文档
README
A modern PHP 8.2+ library for easily managing WordPress custom post types and taxonomies with a fluent interface and hexagonal architecture.
Features
- 🚀 Modern PHP 8.2+ with type declarations
- 🏗️ Fluent interface for easy configuration
- 🔧 Built on top of Extended CPTs library
- 📐 Hexagonal architecture for better separation of concerns
- 🧪 Fully tested with PestPHP
- 💡 Intuitive method naming with dedicated methods for boolean properties
Installation
composer require pollora/entity
Documentation
- Post Types Documentation - Complete guide for creating and configuring custom post types
- Taxonomies Documentation - Complete guide for creating and configuring custom taxonomies
Quick Start
Post Types
use Pollora\Entity\PostType; PostType::make('book', 'Book', 'Books') ->public() ->showInRest() ->hasArchive() ->supports(['title', 'editor', 'thumbnail']) ->menuIcon('dashicons-book-alt');
Taxonomies
use Pollora\Entity\Taxonomy; Taxonomy::make('genre', 'book', 'Genre', 'Genres') ->hierarchical() ->showInRest() ->showInQuickEdit();
Architecture
This package follows hexagonal architecture principles:
- Domain Layer: Core business logic (Entity, PostType, Taxonomy)
- Application Layer: Services that orchestrate operations
- Adapter Layer: WordPress integration adapters
The Domain layer remains independent of external dependencies, defining interfaces (ports) that adapters implement.
Testing
The package includes comprehensive unit tests using PestPHP with WordPress function mocks:
composer test
Test Structure
tests/helpers.php: Global WordPress function mockstests/ext_cpts_helpers.php: Extended CPTs namespace function mockstests/bootstrap.php: Test environment setup
License
This package is open-source software licensed under the MIT license.
统计信息
- 总下载量: 2.45k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 1
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: GPL-2.0-or-later
- 更新时间: 2024-10-21