0

我有一个 .pm 文件,其中包含 30 多个订阅者。这些 subs 中的功能需要从我的 CakePHP 页面中调用。在 CakePHP 项目中包含 .pm 文件以便我可以从视图或控制器调用 subs 的 Cake 方法是什么?

我应该把 .pm 文件放在哪里?我应该如何将文件包含到 CakePHP 项目中?如何在 .pm 文件中调用 subs?

我在 CakePHP 文档中找不到任何东西。它似乎应该在的地方是在应用程序中,但我找不到任何可以做我想做的事情。

4

2 回答 2

2

CakePHP 是一个 PHP 框架。根据Wikipedia,一个.pm文件包含基本上由函数定义组成的 Perl 源代码。从 PHP 的角度来看,这就像丰田的蓝图一样可重用。我想从技术上讲,编写一个能够编译 Perl 代码并将其方法公开给 PHP 函数的 PHP 扩展是可行的,但这将是一项艰巨的任务。

显而易见的解决方法是编写一个 Perl 可执行文件来加载模块,执行您需要的任何操作并以 PHP 可以使用的格式打印输出。之后,程序执行函数就是你的朋友。

于 2013-08-21T12:47:56.073 回答
0

根据您的 perl 脚本的工作方式(我不知道 .pm 和 .pl 之间的区别是什么),您可以创建一个模型或组件并使用 PHP 的 exec 函数访问数据,如下所示:

exec("path_to_perl /path/to/script.pl arguments to be passed",$output);

将 perl 输出包装在您的模型/组件方法中。比在您的控制器中只需调用传递相关参数的模型/组件方法。

注意:只需确保在运行此命令时您已正确保护脚本中的输入/输出数据

于 2013-08-21T13:10:37.647 回答