yalesov / zf2-phing-task

为ZF2应用程序收集的Phing任务。

v2.1.3 2016-07-06 12:27 UTC

This package is not auto-updated.

Last update: 2024-09-14 19:58:40 UTC


README

为ZF2应用程序收集的Phing任务。

注意:在引导过程中,它将查找config/application.config.yml而不是config/application.config.php。如果您使用PHP配置文件,您必须在每个任务的main()方法中更改代码。

安装

Composer:

{
  "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>