yalesov / 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>