代码之家  ›  专栏  ›  技术社区  ›  too much php

将多个PHP脚本合并到单个文件中

php
  •  19
  • too much php  · 技术社区  · 16 年前

    我有一个PHP脚本,其中包含一个或两个其他库,它依赖于使用' include 声明。为了使它更容易移植,我想以某种方式“编译”脚本和 包括 D将它库成一个PHP脚本(与 ack 在一个文件中包含其所有Perl依赖项)。在PHP中有一种简单的方法可以做到这一点吗?

    澄清: 编译到Windows可执行文件可能是一个可接受的解决方案(部分),但脚本仍然需要在*nix上运行,在这里使用 #!/usr/bin/env php '在顶部。

    我希望能够将一个文件放到任何操作系统的$path中的某个地方,让它工作而不需要安装额外的PHP库。

    6 回复  |  直到 12 年前
        1
  •  11
  •   Travis Beale    16 年前

    较新版本的PHP支持Java中类似JAR文件的概念。看一看 phar . 您可以将所有应用程序文件打包到一个单独的存档中并运行它。

        2
  •  7
  •   codeless    13 年前

    php包scriptjoiner或更好的杂耍代码可能有助于:

    两者都是基于PHP解析器(http://packagist.org/packages/nikic/php parser)构建的,这使得连接脚本文件非常容易。

        3
  •  4
  •   Josh Andreas Rehm    16 年前

    没有一种内在的方法可以做到这一点。我建议将代码打包到一个目录中,然后以这种方式分发。我使用php来完成这项工作,将代码放在一个目录“something.module”中,然后遍历一个模块目录,包括每个.module目录下的主文件。但是对于一些更简单的事情,您可以有一个这样的结构:

    my_package/
      my_package.php
      include1.php
      include2.php
    

    my_package.php include(realpath(dirname(__FILE__).'/inclue1.php')) . 所有其他的小票都必须 include('my_packahe/my_package.php')

        4
  •  3
  •   J.C. Inacio    16 年前

    手动删除include/require的所有引用,并将文件“连接”在一起。 您还应该去掉开放标签和结束标签(“<?“PHP”?>“)在连接之前,将它们添加到最终文件中。

    对于一两个小型图书馆来说,它应该——希望——“只是工作”……

        5
  •  2
  •   Paul Biggar    16 年前

    phc 允许这样做。只需使用 --include 标记,它将组合所有代码(好吧,每个参数 include , require 等)放入单个PHP文件中。

    如果您愿意,它也可以编译它,但是不需要将它们全部合并到一个文件中。

        6
  •  1
  •   Byron Whitlock    16 年前

    您可以编写一个自定义脚本,打开所有文件,删除打开和关闭标记,并将它们连接在一起并另存为一个文件。应该很容易做到。

    也可以使用PHP编译器。它所做的比您正在寻找的要多得多,但是如果您只需要一个文件,您可以通过其中一个来运行您的开发项目。

    您还可以使用内置的PHP字节码编译器将所有内容编译为字节码,并将其保存在一个文件中。

    推荐文章