向MAMP添加自定义PHP函数

向MAMP添加自定义PHP函数,php,mamp,Php,Mamp,我想知道什么是扩展MAMP PHP内核本身的最佳方法,这样定制函数就可以在全球范围内使用,而无需导入库 我想做的一个很好的例子是在我所有的本地项目中都有一个dd函数(这是var\u dump()+die(),灵感来自Laravel) 这些方法只需要在我的本地环境(安装了我的MAMP版本)上可用,并且仅用于调试目的,因此不必担心破坏终端服务器上的PHP功能 感谢您的帮助。有两种方法: 向php添加一个模块,该模块与所有其他模块一样加载。像数据库连接器、数学库、翻译函数之类的模块。所有这些函数都不是

我想知道什么是扩展MAMP PHP内核本身的最佳方法,这样定制函数就可以在全球范围内使用,而无需导入库

我想做的一个很好的例子是在我所有的本地项目中都有一个
dd
函数(这是
var\u dump()
+
die()
,灵感来自Laravel)

这些方法只需要在我的本地环境(安装了我的MAMP版本)上可用,并且仅用于调试目的,因此不必担心破坏终端服务器上的PHP功能


感谢您的帮助。

有两种方法:

  • 向php添加一个模块,该模块与所有其他模块一样加载。像数据库连接器、数学库、翻译函数之类的模块。所有这些函数都不是“php核心”的一部分。核心只实现语言本身。通过使用函数
    phpinfo()
    ,您可以在php设置中查看当前加载的模块及其配置。 实现一个模块是可能的,你需要知道C或C++语言。一个有趣的项目,你会学到很多。但是,这也是一个巨大的开销,你正在寻找什么

  • 在普通项目文件夹之外的普通php文件中实现函数。然后在http服务器php配置中将该文件注册为“为每个执行的脚本加载”。这正是“auto_prepend_file”功能所做的。这样,您就可以轻松地添加全局函数,这些函数在本地系统的所有脚本中始终可用


  • 相信我,您想尝试一下第二种方法:-)

    而不必编译自己的PHP扩展,创建一个全局函数,该函数在不导入任何内容的情况下自动可用于box上的所有脚本可能是不可能的

    您可以创建一个类似“tools.php”的文件,其中包含
    dd
    函数定义,并在应用程序中执行类似
    require“tools.php”
    的调用。将
    tools.php
    的开发版本放在一个仅在开发服务器上可用的目录中,路径在include\u路径中具有最高优先级


    然后在代码库中创建一个镜像
    tools.php
    ,在include_路径中优先级较低,它只包含开发方法的存根。因此,在dev框中,将包含tools.php的dev版本。但在生产中,将包括tools.php的生产版本

    对此,我的补充意见是,如果可以的话,您应该尝试放弃打印调试,转而考虑设置xdebug,以便检查内存空间并逐步完成应用程序的功能流程。您应该看看大多数支持php的http服务器中提供的“auto_prepend_file”功能。:-)@阿卡斯卡:好主意,谢谢!我甚至可以用它来覆盖我的开发php实例上的一些东西,我肯定会先尝试第二种方法!看起来很直截了当。谢谢