使用数组将参数传递给 HMVC 模块方法

发布于 2024-12-24 20:37:56 字数 521 浏览 0 评论 0原文

在 Codeignitors 中使用 HMVC 组件时,我们可以呈现这样的特定操作,

echo modules::run('site/news/view', 1);

这里 1 是发送到视图方法的参数。

现在我有一个参数数组,我需要将其传递给函数

$params = array(1, "latest", "desc"); //suppose this are the parameters I received dynamically some how and dont knows its length

现在,我需要单独发送这些参数,就像

echo modules::run('site/news/view', 1, "latest", "desc");

在其他函数中一样 call_user_func_array() 在这种情况下不起作用(我认为) 。

While using the HMVC Component in Codeignitors, we can render a particular actions like this

echo modules::run('site/news/view', 1);

Here the 1 is the parameter send to the view method.

Now I have an array of parameters, which i need to pass to the function

$params = array(1, "latest", "desc"); //suppose this are the parameters I received dynamically some how and dont knows its length

Now, I need to send these parameters seperately as

echo modules::run('site/news/view', 1, "latest", "desc");

Like in other functions call_user_func_array() will not work at this case(I think).

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

垂暮老矣 2024-12-31 20:37:56

好吧,不可能让现有函数按照您需要的方式工作(除非进行修改)。您应该以函数已经可用的方式进行编码。如果它不能按您需要的方式工作,请在允许的情况下修改源代码,或者编写您自己的版本,或扩展主类,以满足您的需求。

我可以很容易地回答这个问题,但这次我希望你也能这样做。我之前已经回答过你的问题了&刚刚查看了您的个人资料,6 个问题(已接受 1 个)0 个答案,并且对于大多数问题,您没有提供任何信息。看来你自己什么也做不了。

你依靠这个社区来完成你的工作,这是非常不公平的。所以除非你给我看你的一些作品,否则我拒绝回答。

Well, its not possible to make an existing function work the way you need (unless modified). You should code, the way THE FUNCTION ALREADY WORKS. If it does not work the way you need, modify the source if allowed, or else write you own version of it, or extend the main class, to fit your needs.

I could answer this question easy, but this time I will want you to do the same. I have answered your question before & just viewed your profile, 6 Questions (1 accepted) 0 answers and on most of the questions no input from your side. You don't seem to do anything on your own.

You relying on this community to get your job done, which is so unfair. So UNLESS you show me some of your work, I refuse to answer.

指尖上得阳光 2024-12-31 20:37:56

我创建了一个“seo 前端控制器”,我(残酷地)以这种方式解决了同样的问题

if( count($params) == 2 ) {
    echo modules::run( 'controller/method', $params[0], $params[1] );
} else if( count($params) == 3 ) {
    echo modules::run( 'controller/method', $params[0], $params[1], $params[2] );
}

I created a "seo front controller" and I (brutally) resolved the same problem in ths way

if( count($params) == 2 ) {
    echo modules::run( 'controller/method', $params[0], $params[1] );
} else if( count($params) == 3 ) {
    echo modules::run( 'controller/method', $params[0], $params[1], $params[2] );
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文