是否可以从 stdClass 扩展 CI_Controller / CI_Model

Is it possible to extend CI_Controller / CI_Model from stdClass

我正在使用 stdClass 初始化一个 class,例如:

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

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

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