首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jumi (Joomla插件)破坏PHP全局关键字

Jumi (Joomla插件)破坏PHP全局关键字
EN

Stack Overflow用户
提问于 2010-03-02 18:48:08
回答 2查看 2.2K关注 0票数 2

当我通过Jumi包含一个PHP脚本时,它似乎破坏了global关键字。示例:

代码语言:javascript
复制
<?php

$a = 5;

function foo()
{
        global $a;
        if (isset($a))
                echo $a;
        else
                echo '$a is not set';
}

foo();

?>

当我单独运行这个PHP脚本(名为test.php)时,它正确地打印了5。当我在Joomla的一篇文章中通过Jumi运行它时,只包含了以下内容:

代码语言:javascript
复制
{jumi test.php}{/jumi}

它打印$a is not set

这是Jumi或Joomla中的一个bug,还是有一些(联合国)记录在案的方法来解决这个问题?

当我通过Jumi包含一个PHP脚本时,它似乎破坏了global关键字。示例:

代码语言:javascript
复制
<?php

$a = 5;

function foo()
{
        global $a;
        if (isset($a))
                echo $a;
        else
                echo '$a is not set';
}

foo();

?>

当我单独运行这个PHP脚本(名为test.php)时,它正确地打印了5。当我在Joomla的一篇文章中通过Jumi运行它时,只包含了以下内容:

代码语言:javascript
复制
{jumi test.php}{/jumi}

它打印$a is not set

这是Jumi或Joomla中的一个bug,还是有一些(联合国)记录在案的方法来解决这个问题?

UPDATE:如果我在脚本的顶部将$a标记为全局的:

代码语言:javascript
复制
<?php

global $a;
$a = 5;
function foo()
{
        global $a;
        if (isset($a))
                echo $a;
        else
                echo '$a is not set';
}
foo();

?>

test.php可以正常工作,既可以自己运行,也可以通过Jumi实现。我的最佳猜测是Jumi脚本包含在函数上下文中,而不是全局上下文中。

EN

回答 2

Stack Overflow用户

发布于 2011-12-07 22:22:40

您可以尝试一种稍微不同的方法-- 像这样,因为我认为Joomla默认限制范围。

票数 1
EN

Stack Overflow用户

发布于 2013-02-13 15:14:55

在joomla中使用Jumi非常容易,因为它在2.5、3.0版本中得到支持

我有一个解决办法:

  1. 安装Jumi。
  2. 转到仪表板(管理面板)。
  3. 单击Components -> New。
  4. 输入标题。
  5. 在自定义脚本中,您可以将PHP/JavaScript代码直接放入
  6. 您可以使用Jumi语法将文件名放在那里:{jumi[directory/filename.php]}

但是请记住为它创建菜单,以便它可以出现在菜单的onclick事件上。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2365777

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档