我在雄辩的 ORM 库中遇到过这一行:
return with(new static)->newQuery();
我以前从未见过使用过“with”,在 PHP 文档中也找不到它。我猜“with”是大多数搜索中的停用词,所以我什至没有接近。
在多年的 PHP 编程中从未遇到过“with”,我觉得我错过了。它有什么作用?我确实遇到过一条关于 ORM 的评论,在 PHP-5.4 中不再需要提到“with”,但这与所说的一样多。如果那是准确的,最好知道 PHP-5.4 的等价物是什么。
更新:支持答案的详细信息:-
我在 Laravel 的 Immuminate/Support/helpers.php 辅助脚本中找到了这个辅助函数:
if ( ! function_exists('with'))
{
/**
* Return the given object. Useful for chaining.
*
* @param mixed $object
* @return mixed
*/
function with($object)
{
return $object;
}
}
正如一些答案中提到的。该全局范围函数允许在一个语句中创建对象并在 t 中运行方法。它(不知何故)在安装 Laravel 时在 composer autoload_files.php 脚本中注册,因此它会在每个页面上加载,即使它不包含任何类。
谢谢大家。不要假设所有东西都必须是现代框架中的命名空间类。