array-6ren">
gpt4 book ai didi

php - "use"和将参数传递给 Controller ​​函数之间的区别

转载 作者:可可西里 更新时间:2023-11-01 13:19:37 25 4
gpt4 key购买 nike

我没有具体的问题,只是想加深我对 Silex 和一些新的 PHP 功能的理解。这是基于 Silex 文档“用法”页面上的代码示例:

$blogPosts = array(
1 => array(
'date' => '2011-03-29',
'author' => 'igorw',
'title' => 'Using Silex',
'body' => '...', );

$app->get('/blog/{id}', function (Silex\Application $app, $id) use ($blogPosts) {
//do stuff
}

问题

  • $app$id 作为参数 传递给函数,和 之间有什么区别使用-ing $blogPosts 变量?

  • $blogPosts 是否也可以作为参数 传递给函数?

  • 另外,我更常看到 use ($app)使用-ing $app 和将其作为参数传递有什么区别?

最佳答案

这与 silex 无关,而与“一些新的 PHP 特性”有关。您正在创建一个匿名函数(也称为闭包),可以使用不同的 $app$id 值多次重复使用,但只有相同的 $blogPosts 值。

<?php
$a = "a";
$b = "b";
$c = function ($d) use ($b) {
echo $d . "." . $b . PHP_EOL;
};
$b = "c";
$e = function ($d) use ($b) {
echo $d . "." . $b . PHP_EOL;
};

$c($a); // prints a.b, and not a.c
$e($a); // prints a.c

在这里,我用 $b 构建了一个函数,构建完成后,我将它与变量一起使用,这些变量的命名方式不必与函数参数的命名方式相同。

关于php - "use"和将参数传递给 Controller ​​函数之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15852369/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com