php - 许多方法参数与批量参数

标签 php laravel performance

在效率方面哪个更好:

  1. 有很多参数的方法
  2. 包含所有提到的参数的批量参数

我的意思是:

public function addToDb($firstName, $lastName, $phone, $address, ...)
{

或者

public function addToDb(Request $request)
{
  $firstName = $request->firstName;
  $lastName= $request->lastName;
  $phone= $request->phone;
  $address= $request->address;
  //

请记住,在此示例中,$request 类可能有许多无用的参数和方法。

最佳答案

第二种方法更优先。例如你定义

function addToDb($firstName, $lastName, $phone, $address){...}

并使用此方法例如 10 次。如果将来您的应用需要更改并且您必须更改某些参数,例如 $firstName, $lastName, 必须更改为 name,那么您必须更改你的初始功能

function addToDb($name, $phone, $address){...}

并且调用此方法的 int 10 次你也必须更改。但是在几秒钟内你必须像这样只改变函数体

public function addToDb(Request $request)
{
  $name = $request->firstName . '' . $request->lastName; 

也可以使用三阶结构

function someFunction(...) {
    $parameterWithData = [
        'firstName' => 'firt name',
        'lastName' => 'last name'
        .....
    ];
    $this->test($parameterWithData);
}


function test($parameterWithData)
{
    extract($parameterWithData);
    dd($firstName, $lastName); // must be print `first_name, last name`
}

extract 函数中,您可以将所有键用作变量 http://php.net/manual/en/function.extract.php

关于php - 许多方法参数与批量参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53740477/

相关文章:

php - 规划、扩展和优化大型 Web 应用程序

php - Laravel Queue Worker 内存占用太大 :/

php - Lumen 无法更改返回 View 的 header

php - PDO 构造函数中的 mysqli

php - Safari 推送通知证书问题

php - 减少对特定 session 的 SQL 查询

php - sqlstate[42703] 在 heroku 上是什么意思?

performance - 寻找执行计算的有效方法 - Matlab

linux - 如何从 Linux 上的系统缓存中逐出文件?

javascript - 如何动态加载 Google Analytics JavaScript?