anniballo / zend-press
此包已被废弃且不再维护。未建议替代包。
这是一个简单的库,用于在 ZendFramework 2 项目中使用官方 WordPress API。
dev-master
2015-07-30 09:47 UTC
Requires
Requires (Dev)
- codeclimate/php-test-reporter: dev-master
- phpunit/phpunit: >=4.7.0
This package is not auto-updated.
Last update: 2018-04-29 17:43:30 UTC
README
ZendPress
这是一个简单的库,用于在 ZendFramework 2 (http://framework.zend.com/) 项目中使用官方 WordPress API (http://wp-api.org/)。
如果您需要在 Zend 框架项目中管理内容并且想使用 WordPress 后端引擎,您可以考虑使用官方的 WordPress API。
使用 API,您可以在 ZF2 的 MVC 结构中管理整个内容流程。
安装
使用当前版本,您可以检索特定实体或实体集合(RESTful GET 操作)。创建、更新和删除操作尚未实现(RESTful POST、PUT、DELETE 操作)。
该包仍在开发中,尚未准备好用于生产。如果您想测试它(并且贡献 ^^)可以在项目的 composer.json 中添加
需求部分;
"require": { "anniballo/zend-press": "dev-master", }
将 WordPress API URI 添加到 config/autoload/global.php
return array( 'zendpress' => array( 'api' => array( 'uri' => 'http://example.com/wp-json' ) ) );
将模块添加到 config/application.config.php
'modules' => array( 'ZendPress', ),
示例
示例,如何在 Controller 中检索单个帖子(ID 100)
$sl = $this->getServiceLocator(); $entityManager = $sl->get('ZendPress\Api\EntityManager'); $entityManager->setEntity($sl->get('ZendPress\Entity\Post')); /** @var \ZendPress\Entity\Post $post */ $post = $entityManager->get(100); var_dump($post);
示例,如何检索帖子集合
$sl = $this->getServiceLocator(); $collectionManager = $sl->get('ZendPress\Api\CollectionManager'); $collectionManager->setEntity($sl->get('ZendPress\Entity\Post')); /** @var \ZendPress\Entity\Post $post */ foreach($collectionManager as $post){ var_dump($post); }
示例,如何设置分页参数
$sl = $this->getServiceLocator(); $collectionManager = $sl->get('ZendPress\Api\CollectionManager'); $collectionManager->setEntity($sl->get('ZendPress\Entity\Post')); $collectionManager->setItemCountPerPage(1); // Set how many items per page $collectionManager->setCurrentPageNumber(1); // Set current page /** @var \ZendPress\Entity\Post $post */ foreach($collectionManager as $post){ var_dump($post); }
示例,如何检索经过筛选的帖子集合
$sl = $this->getServiceLocator(); $collectionManager = $sl->get('ZendPress\Api\CollectionManager'); $collectionManager->setEntity($sl->get('ZendPress\Entity\Post')); $filter = $sl->get('ZendPress\Api\Filter'); $filter->addFilter($filter::CATEGORY_NAME,'slug-of-category'); $collectionManager->setApiFilter($filter); /** @var \ZendPress\Entity\Post $post */ foreach($collectionManager as $post){ var_dump($post); }