heartsentwined / zf2-phing-task
为 ZF2 应用收集的 Phing 任务。
Requires
- php: >=5.3.3
- yalesov/yaml: 2.*
- yalesov/zf2-assetwig: 3.*
- yalesov/zf2-doctrine: 2.*
- zendframework/zendframework: 2.*
README
为 ZF2 应用收集的 Phing 任务。
注意:在引导过程中,它将查找 config/application.config.yml 而不是 config/application.config.php。如果您使用 PHP 配置文件,您必须更改每个任务的 main() 方法中的代码。
安装
{
"require": {
"yalesov/zf2-phing-task": "2.*"
}
}
Phing 并未包含在此包中。
您可以通过 Composer 安装它,并在 vendor/bin/phing 使用 CLI。
{
"require": {
"phing/phing": "*"
}
}
或通过 PEAR,并在 phing 使用 CLI。
$ pear channel-discover pear.phing.info $ pear install [--alldeps] phing/phing
使用方法
在继续使用其余任务之前,您必须通过 ZfTask 初始化 Zf2 应用实例。
ZfTask
使用文件 foo/bootstrap.php 引导 ZF2 应用。引导文件必须返回一个 Zend\Mvc\Application 实例。
<project> <target> <includepath classpath="vendor/yalesov/zf2-phing-task/src/task" /> <taskdef name="zf" classname="ZfTask" /> <zf bootstrap="foo/bootstrap.php" /> </target> </project>
foo/bootstrap.php:
/* do some bootstrap */ $application = Zend\Mvc\Application::init(/* config array */); return $application;
DoctrineEntityTask
为 EntityManager doctrine.entitymanager.orm_default 生成实体,基础目录在 foo/src,过滤器 Foo\Entity。
<project> <target> <includepath classpath="vendor/yalesov/zf2-phing-task/src/task" /> <taskdef name="d-entity" classname="DoctrineEntityTask" /> <d-entity em="doctrine.entitymanager.orm_default" filter="Foo\Entity" output="foo/src" /> </target> </project>
DoctrineRepoTask
为 EntityManager doctrine.entitymanager.orm_default 生成仓库,基础目录在 foo/src,过滤器 Foo\Entity。
<project> <target> <includepath classpath="vendor/yalesov/zf2-phing-task/src/task" /> <taskdef name="d-repo" classname="DoctrineRepoTask" /> <d-repo em="doctrine.entitymanager.orm_default" filter="Foo\Entity" output="foo/src" /> </target> </project>
DoctrineProxyTask
为 EntityManager doctrine.entitymanager.orm_default 生成代理,在目录 foo/cache/proxy,过滤器 Foo\Entity。
<project> <target> <includepath classpath="vendor/yalesov/zf2-phing-task/src/task" /> <taskdef name="d-proxy" classname="DoctrineProxyTask" /> <d-proxy em="doctrine.entitymanager.orm_default" filter="Foo\Entity" output="foo/cache/proxy" /> </target> </project>
DoctrineUpdateTask
更新 EntityManager doctrine.entitymanager.orm_default 的数据库模式。
<project> <target> <includepath classpath="vendor/yalesov/zf2-phing-task/src/task" /> <taskdef name="d-update" classname="DoctrineUpdateTask" /> <d-update em="doctrine.entitymanager.orm_default" /> </target> </project>
DoctrineDropTask
从 EntityManager doctrine.entitymanager.orm_default 的连接中删除所有数据库表。
此任务与 Doctrine CLI 的行为不同。它删除 所有 表,而不仅仅是那些在元数据映射文件中找到的表。
<project> <target> <includepath classpath="vendor/yalesov/zf2-phing-task/src/task" /> <taskdef name="d-drop" classname="DoctrineDropTask" /> <d-drop em="doctrine.entitymanager.orm_default" /> </target> </project>
TwigTask
加载 Twig 模板 foo/bar。
<project> <target> <includepath classpath="vendor/yalesov/zf2-phing-task/src/task" /> <taskdef name="twig" classname="TwigTask" /> <twig file="foo/bar" /> </target> </project>