php方法太多参数怎么办

php方法太多参数的解决办法:1、把参数对象化;2、定义一个BookModel类;3、对create方法进行改造,要求它的参数为BookModel类即可。

php方法太多参数怎么办

本文操作环境:Windows7系统、PHP7.1、Dell G3。

php方法太多参数怎么办?

PHP方法参数过多优化方案

我们在编写PHP方法时,通常有若干个参数,就像下面的代码:

立即学习“PHP免费学习笔记(深入)”;

Class Book{    public function create($name, $cateId, $author)    {        $params = [            'name' => $name,            'cateId' => $cateId,            'author' => $author        ];    }}

登录后复制

没有任何问题。

但是,随着业务的发展,参数可能会不断增加。就像上面的例子,创建一本书刚开始只有name/cateId/author三个参数,慢慢可能就变成了下面这样:

Class Book{    public function create($name, $cateId, $author, $year, $price, $publish, $country, $language)    {        $params = [            'name' => $name,            'cateId' => $cateId,            'author' => $author,            'year' => $year,            'price' => $price,            'publish' => $publish,            'country' => $country,            'language' => $language,        ];    }}

登录后复制

It works well!但是看起来总觉得不太优雅,当你调用这个方法的时候,鬼才知道参数的顺序是怎么样的!

如何优化呢?我们可以尝试把参数对象化。请看下面的代码:

class BookModel{    protected $name;    protected $cateId;    protected $author;    protected $year;    protected $price;    protected $publish;    protected $country;    protected $language;    public function getName()    {        return $this->name;    }    public function setName($name)    {        $this->name = $name;    }    public function getCateId()    {        return $this->cateId;    }    public function setCateId($cateId)    {        $this->cateId = $cateId;    }    public function getAuthor()    {        return $this->author;    }    public function setAuthor($author)    {        $this->author = $author;    }    public function getYear()    {        return $this->year;    }    public function setYear($year)    {        $this->year = $year;    }    public function getPrice()    {        return $this->price;    }    public function setPrice($price)    {        $this->price = $price;    }    public function getPublish()    {        return $this->publish;    }    public function setPublish($publish)    {        $this->publish = $publish;    }    public function getCountry()    {        return $this->country;    }    public function getLanguage()    {        return $this->language;    }    public function setLanguage($language)    {        $this->language = $language;    }}

登录后复制

上面定义了一个BookModel类,包含了一些属性。然后我们对create方法进行改造,要求它的参数为BookModel类。由于BookModel的数据结构是明确的,使用起来非常方便。create方法调整后:

Class Book{    public function create(BookModel $bookModel)    {        $params = [            'name' => $bookModel->getName(),            'cateId' => $bookModel->getCateId(),            'author' => $bookModel->getAuthor(),            'year' => $bookModel->getYear(),            'price' => $bookModel->getPrice(),            'publish' => $bookModel->getPublish(),            'country' => $bookModel->getCountry(),            'language' => $bookModel->getLanguage(),        ];    }}

登录后复制

看,面向对象编程的优势在这里凸显出来了!

推荐学习:《PHP视频教程》

以上就是php方法太多参数怎么办的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2097480.html

(0)
上一篇 2025年2月24日 13:17:24
下一篇 2025年2月24日 13:17:41

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • js 如何调用php

    js调用php的方法:首先创建一个代码示例文件;然后在js中通过语句“alert(jstext);”实现调用即可。 本教程操作环境:windows7系统、php5.6版,该方法适用于所有品牌电脑。 推荐:《PHP视频教程》 JS调用PHP和…

    2025年3月5日
    200
  • php怎么接收url参数

    php获取url中的参数信息,是PHP面试过程中常见的考点之一,也是我们日常项目开发过程中,经常需要实现的一个功能,我们可以通过PHP中parse_url等相关函数来实现。 那么对于PHP新手来说,具体怎么实现可能有一定的难度,其实也是非常…

    2025年2月25日 编程技术
    200
  • vlookup函数的参数及其意义解释

    我们在使用excel的时候一定有用过vlookup函数吧。那么对于这种函总共有几个,每个函数具体是怎么使用的,据小编所知vlookup函数一共有四个,分别是lookup_value、table_array、col_index_num、ran…

    2025年2月25日
    300
  • php如何去掉url中的参数

    php去掉url中的参数的方法是:可以通过trim()函数来实现。该函数可以删除字符串中的指定字符,并返回已修改的字符串。具体使用方法如:【trim($url,”?”);trim($url,”#&#822…

    2025年2月24日
    300
  • php如何获取函数参数

    php获取函数参数的方法:可以通过func_get_args()函数来获取,函数语法为:【func_get_args(void)】。array_get_args()函数可以获取函数参数列表的数组。 func_get_args() 函数的作用…

    2025年2月24日
    300
  • 虚拟主机中php如何修改参数

    php修改参数的方法:首先找到并打开“.htaccess”;然后调整PHP脚本单次最大可执行时间为60秒;接着调整PHP脚本单次执行最大可用内存为512M;最后修改PHP上传文件的大小即可。 推荐:《PHP视频教程》 虚拟主机修改PHP参数…

    2025年2月24日
    300
  • php页面跳转怎样传递参数

    php页面跳转传递参数的方法:可以通过使用服务器端的session来实现页面间参数的传递。session是服务器端的临时储藏室,常被称作会话。要使用session,就必须通过session_start()语句启动session。 可以使用服…

    2025年2月24日
    200
  • php如何判断有没有参数

    php判断有没有参数的方法:首先通过“$_SERVER[“REQUEST_URI”];”方法获取链接;然后通过if语句判断链接中是否存在参数;最后通过echo输出判断结果即可。 推荐:《PHP视频教程》 例:php判…

    2025年2月24日
    200
  • php-fpm 如何关闭参数

    php-fpm关闭参数的方法:使用【PHP-FPM】来控制【PHP-CGI】的FastCGI进程,代码为【kill -INT cat /usr/local/php/var/run/php-fpm.pid】。 php-fpm关闭参数的方法: …

    2025年2月24日
    300
  • 如何计算PHP函数中传递的参数数量

    在开始本文之前不知道大家对php函数有多少了解,那如果你还是刚入门的新人我就推荐大家先看看php自学手册中的《php函数》章节,毕竟有句话说的好php的真正威力源自于它的函数~ 那么本文将给大家介绍关于函数的基础知识:计算PHP函数中传递的…

    编程技术 2025年2月24日
    300

发表回复

登录后才能评论