【问题标题】:How to call a function which is outside of CodeIgniter application in Controller?如何在 Controller 中调用 CodeIgniter 应用程序之外的函数?
【发布时间】:2023-03-29 04:04:01
【问题描述】:

您好,我对如何调用在普通核心 php 文件中定义的函数有疑问。现在我想在 Codeigniter 应用程序的控制器中调用这个函数。

我的意思是,例如在某个目录的 test.php 中有一个名为 getdetails() 的函数。现在有一个带有控制器 email.php 的 codeIgniter 应用程序。

现在我想在 email.php 中调用 getdetails() 函数。

谁能帮我出点主意。

【问题讨论】:

  • 这与您在此处提出的问题不完全相同:stackoverflow.com/questions/tagged/codeigniter 吗?
  • 如果它是程序性的,简单的方法是把它变成一个帮助文件。你之前不是创建了一个库吗?
  • 实际上我没有尝试过,但在正常情况下工作正常,但我需要使用的函数包含适用于 zend 框架的代码。我无法在 codeigniter 中加载.....
  • 重写它,如果你试图将一个框架中的代码包含在另一个框架中,你会给自己带来各种各样的痛苦。

标签: php codeigniter


【解决方案1】:

构建您自己的助手,将其保存为 test_helper.php 在您的应用程序助手文件夹中:

function getdetails($paramater1, $parameter2){
    echo "test";
}

然后在你的控制器中加载它:

$this->load->helper('test');

你可以在任何加载它的地方使用它:

getdetails();

【讨论】:

  • 我完全不能再写函数了。我已经在服务器上预先构建了一个在 zend 框架上编写的函数。现在我想在我的 codeIgniter 控制器中调用该函数........
  • 没有魔法,这些是不同的框架。不幸的是,您可能需要翻译一次。尝试仅在此帮助程序中包含 Zend 函数函数,以便您可以使用该函数?但我很确定它会搞砸一切。
  • 好吧,如果您仍将 zend 框架托管在某个地方,您可以始终使用 file_get_contents 到 zend 框架中的某个页面,该页面专门为您运行该功能....但那是真正的阴暗。您可能应该只研究该函数的作用并重新编写它。
【解决方案2】:

您只需要在尝试调用该函数之前包含该文件。 includeinclude_once

【讨论】:

  • 只包含你不能访问它尝试一次用小例子......你会看到什么问题
  • codeIgniters helper 是一个很好的方法,并且很容易拥有自己的自定义函数。没有必要将内容与 include/include_once 混合在一起
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-13
  • 2011-10-02
  • 2014-05-17
  • 2016-10-29
  • 2015-11-24
相关资源
最近更新 更多