【发布时间】:2018-08-23 11:33:12
【问题描述】:
在 CI 2 中,我们可以用一行代码初始化一个类并调用其方法(或属性)之一。
例如,$val = $this->load->library('some_library')->some_method($data);
但是,CI 3 似乎已删除此功能。
我正在将 CI 2 应用程序迁移到 CI 3,而原始应用程序使用了数百个这样的“内联”引用。有谁知道是否有一个干净有效的解决方法,这样我就可以继续我的更新,而无需将这些引用分成 2 行?
【问题讨论】:
-
能否请您出示一下,这是在哪里记录的?我刚刚检查了codeigniter.com/userguide2/general/creating_libraries.html,看来你需要先加载你的库,然后调用它的函数......
-
我不确定它是否被正式记录。我在 CI 发布的关于新版本功能的公告中看到了这一点。也许它从未被正式记录,但它是集成到 v 2 中的一个功能,而 v 3 中不再存在。
-
查看 system/core/loader.php 并检查函数 library()、_ci_load_library() 和 Ci 相关的代码。 2.0 和 3.0 也许你会在那里找到你要找的东西......
-
我会的。实际上,我只是花了一天时间更新应用程序,将所有内联引用转换为标准方法,但我仍然对它被删除(或从未记录过?)的原因感兴趣;有时这是一个方便的功能。
标签: php codeigniter class methods continuous-integration