我有一个带有30多个潜艇的.pm文件。这些subs中的功能需要从我的CakePHP页面调用。在CakePHP项目中包含.pm文件的Cake方式是什么,所以我可以从View或Controller调用subs?
我应该把.pm文件放在哪里?我应该如何将文件包含到CakePHP项目中?如何调用.pm文件中的subs?
我在CakePHP文档中找不到任何内容。看起来它应该是应用程序的地方,但我找不到任何可以做我想做的事情。
答案 0 :(得分:2)
CakePHP是一个PHP框架。根据{{3}},.pm
文件包含基本上由函数定义组成的Perl源代码。从PHP的角度来看,这与丰田的蓝图一样可重复使用。我认为在技术上可以编写一个PHP扩展,它能够编译Perl代码并将其方法暴露给PHP函数,但这将是一项艰巨的任务。
显而易见的解决方法是编写一个Perl可执行文件来加载模块,执行您需要的任何操作并以PHP可以使用的格式打印输出。之后,Wikipedia是您的朋友。
答案 1 :(得分:0)
根据perl脚本的工作方式(我不知道.pm和.pl之间有什么区别),您可以使用PHP的exec函数创建模型或组件并访问数据,如下所示:
exec("path_to_perl /path/to/script.pl arguments to be passed",$output);
在模型/组件方法中包装perl输出。比在你的控制器中只需要调用传递相关参数的模型/组件方法。
注意:只需确保在运行此命令时,您已正确保护脚本中的输入/输出数据