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>