【问题标题】:build PHP with ant scripts使用 ant 脚本构建 PHP
【发布时间】:2010-11-12 09:16:13
【问题描述】:

我只是想知道如何使用 Ant 来构建我用 PHP 编写的 Web 应用程序?我用谷歌搜索了一下,我发现这是可能的,但没有任何基本想法的例子或任何高级用途的例子。有谁能帮帮我吗?

谢谢!

【问题讨论】:

  • 准确了解您需要执行哪些构建任务会很有帮助。
  • 我计划使用脚本来准备好从我的测试站点转移到我的实时站点的一切。我的意思是确保必要的文件路径是正确的,以便访问实时站点的数据库等。
  • 我应该澄清一下,我也希望通过使用 ant 脚本对数据库进行任何必要的更改。 (即添加字段和更新现有信息)
  • 我已经更新了我的答案,以反映你们最新的 cmets 所做的澄清。

标签: php ant build


【解决方案1】:

这绝对是可能的。如果您正在寻找纯 php 解决方案,phing 可能就是您想要的。另请注意,通常没有理由构建 PHP 脚本。他们应该“正常工作”。

【讨论】:

  • 我意识到他们应该“正常工作”,但我今年夏天是一名 php 开发人员,我很确定我的雇主使用 ant 脚本为实时站点准备更新,所以我只是想知道他们是怎么做到的。
  • PHP 不仅仅用于网站。如果您有一个完整的单元测试 Web 应用程序,并且针对不同环境(如开发、测试和生产)具有不同的配置,那么您绝对应该使用 Phing 或其他构建系统。如果没有任何理由,Phing 就不会存在...... :)
  • 不指望连接和最小化 css 和 javascript 文件,这真的是一个很好的用途......
【解决方案2】:

虽然 Ant 本身是用 java 编写的,但您可以使用它来构建您想要的任何类型的应用程序。这是basic tutorialfull manual。除此之外,您需要澄清您想要做什么才能在此处获得更准确的答案。

更新(基于问题说明):

通过 Ant 可以轻松复制/移动文件/文件夹。浏览我上面链接的“Hello World”教程并熟悉FileSet 概念和CopyMkdirMove 任务以开始使用。这是another tutorial,它展示了如何设置基本构建(忽略 javac/war 等特定于 java 的内容)。

对数据库进行更改是一个完全不同的主题。如果您准备好“更改”脚本,则可以使用 Ant 的 Exec 任务来调用数据库的命令行客户端来运行这些脚本(尽管我可能不会在生产中这样做)。如果您想使用 Ant 来跟踪这些更改,那么您正在寻找错误的工具。 Liquibase 可以用来做到这一点,而且它最近似乎受到了很大的关注。它很像 Ant,因为它是用 Java 编写的,但可以在任何环境中使用。我不是 PHP 专家,所以我不知道是否有更多的 PHP 可用。

【讨论】:

    【解决方案3】:

    我们使用 ant 来“构建”php 应用程序。在最基本的情况下,ant 脚本只是将文件复制到测试网络服务器(在我的例子中为 localhost)上的文件夹中。

    为什么要这样做?好吧,这没什么大不了的,但它是一种避免将 .svn 文件放入网络服务器的便捷方法。如果您想更改网络服务器的位置,您可以构建到新位置。你也可以根据你是在 Linux 还是 Windows 上做不同的事情,但我从来没有使用过它。

    【讨论】:

    • 您还可以运行单元测试和样式检查(如 phpcheckstyle 和 PHP Mess Detector),我认为这是很有趣的事情之一。
    【解决方案4】:

    尝试过 Phing、Ant 和 Gradle,我强烈推荐 gradle。这里有一点说明Choosing tools for PHP application automation

    【讨论】:

      猜你喜欢
      • 2011-03-06
      • 1970-01-01
      • 2011-11-17
      • 1970-01-01
      • 1970-01-01
      • 2011-11-16
      • 1970-01-01
      • 2017-02-11
      • 1970-01-01
      相关资源
      最近更新 更多