如何让 PHP 类库里的函数如 dump () 或 dd () 全局可用
它发生在我在 Laravel 或 Symfony之外使用 PHP(通常在 lib 库上工作时),而我总是想念dump
和dd
函数。你还记得var_dump
或print_r吗?我不想用那个!
我找到了一个始终预加载 PHP 库的简单方法。我不应该说预加载,这与PHP 7.4的预加载功能无关。在正常的 PHP 周期开始之前,这基本上是一种包含 php文件的方法。如果你在不使用 Composer 的情况下使用简单的15行脚本,则此功能特别有用。
所有这些都是内置的 PHP,并且已经存在了很长一段时间: https://php.net/auto-prepend-file。
如何始终加载symfony/var-dumper
-
在任意位置创建一个文件夹(通常在dotfiles)
-
执行composer:
composer require symfony/var-dumper
-
使用下面的内容创建一个示例
prepend.php
注意: 我并不推荐定义isYolo
这个方法.
<?php
require_once __DIR__.'/vendor/autoload.php';
// Define here any global function, constant or class you want
function isYolo()
{
return rand() % 2;
}
- 打开php.ini,并添加以下内容:
; Automatically add files before PHP document.
; http://php.net/auto-prepend-file
auto_prepend_file = /absolute/path/to/your/prepend.php
- 现在我们可以从任何地方访问
dump
,dd
,isYolo
,包括psysh控制台!
我已经这样使用了一年多了,还没有遇到过function already defined(方法已定义)
之类的报错
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。