是否可以从stdClass扩展CI_Controller / CI_Model

时间:2018-11-27 00:13:33

标签: php codeigniter stdclass

我使用stdClass初始化一个类,

$Upload = new stdClass;
  1. 是否可以扩展此类的控制器/模型?
  2. 是否可以为此类创建一个构造?

如果可能的话,我希望有一个控制器或模型可以上传。 我想要的原因是因为我在创建的php文件中拥有此文件,并且该文件中有功能。并且根据功能,我想为其所需的目的创建不同的stdClass

1 个答案:

答案 0 :(得分:0)

stdClass是内置在PHP中的预定义class。它本质上是一个空对象。它也用于类型转换到对象。所以不,它不能有构造函数。

已经定义了CodeIgniter类CI_ControllerCI_Model,所以不能通过扩展stdClass创建'controller'或'model'。但是也许我误解了你的问题。

您可以在模型或控制器中的任何位置使用stdClass,并轻松地向其中添加属性。

// create an instance of stdClass
$Upload = new stdClass;
// add a "name" property
$Upload->name = "foo";
// add a "title" property
$Upload->title = "Bar";

echo $Upload->name;  //outputs foo

上面的内容可能通过类型转换数组更容易创建

$upload = (object) ['name'=>'foo', 'title'=>'bar'];
echo $upload->name;  //outputs foo