php - 在 PHP 中的类初始化时传递可选配置变量

标签 php class oop

请耐心等待,因为我对 OOP 概念还很陌生,所以我的想法可能是错误的。

我正在为我经常使用的某些功能开发一个类,我希望它可以在初始化时在任何新项目中进行配置。这里需要注意的是,我想设置某些默认变量,并允许它们在默认值正常的情况下保持未配置状态。这里有一些代码试图让这个概念更清晰。

class someClass{

    // Setting parameter defaults
    private $param_a = 60;
    private $param_b = 100;

   /*
    * The construct function. What I'd like to do here is make the param_a and param_b optional,
    * i.e if it doesn't get set on initialization it takes the defaults from the class.
   */

   function __construct($param_a, $param_b, $foo){
       // do something ...
   }    
}

$foo = "some value";

// init example using defaults
$someclass = new someClass($foo); // $param_a and $param_b should be 60 and 100 respectively

// init example using custom options
$someclass = new someClass(40, 110, $foo);

就如何设置类配置而言,我的方向正确吗?如果是这样,如何使 param_a 和 param_b 可选?

最佳答案

function __construct($foo, $param_a = 60, $param_b = 100){
   // do something ...
} 

您可以首先提供必需的方法参数,然后提供带有默认参数的参数,使它们成为可选的。

然后将它们分配给构造函数内的类变量。

另一种方法是使用 func_get_args() 并解析它。

关于php - 在 PHP 中的类初始化时传递可选配置变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27770910/

相关文章:

php - 使用 Laravel 将动态生成的表单输入插入 MySQL 数据库

php - 在 wordpress 中设置 php 生成的链接样式

php - 我是否需要创建一个新对象才能在页面上使用类函数超过 1 次?

具有静态方法访问的变量中的 PHP 引用类

php - 将 css li 添加到 php?

c++ - 将基类对象分配给派生类

javascript - 如何使用jquery的ajax方法将json字符串传输到另一个页面?

javascript - 创建基于表单选择的 Javascript 确认框 - PHP

oop - Julia:了解 OOP 的多重分派(dispatch)

oop - 是否有可能进一步将最佳实践嵌入到编程语言中?