Questions tagged «php»

PHP是一种用于Web开发的服务器端脚本语言,但也用作通用编程语言。Joomla基于PHP。

4
使用JDatabase创建子查询的方法
在http://docs.joomla.org/Selecting_data_using_JDatabase上,没有使用JDatabase编写子查询的书面方法。 https://gist.github.com/gunjanpatel/8663333举例说明了一种实现此目的的方式(省略了一些位): $subQuery = $db->getQuery(true); $query = $db->getQuery(true); // Create the base subQuery select statement. $subQuery->select('*') ->from($db->quoteName('#__sub_table')) ->where($db->quoteName('subTest') . ' = ' . $db->quote('1')); // Create the base select statement. $query->select('*') ->from($db->quoteName('#__table')) ->where($db->quoteName('state') . ' = ' . $db->quote('1')) ->where($db->quoteName('subCheckIn') . ' IN (' . $subQuery->__toString() . ')') ->order($db->quoteName('ordering') . …

3
获取整个$ _POST的正确方法是什么?
在Joomla!2.5.x我可以简单地运行,JRequest::get('post');但是看到JRequestJoomla中已弃用了它!3.x我应该使用JInput。 在他们的那一刻,这是我用来获取整个代码的代码$_POST: $app = JFactory::getApplication(); $postData = $app->input->getArray(array_flip(array_keys($_POST))); 但这似乎很麻烦,如果与$app->input->set();我结合使用,我会遇到问题,我认为会有更好的方法吗? 在搜寻之前,我发现有人说你可以跑步 $app = JFactory::getApplication(); $postData = $app->input->post; 但是,当我尝试这样做时,我只是得到了该JInput对象的一个实例。
26 cms  php  jinput  jrequest 

3
什么是异常处理的正确方法?
在Joomla核心中,我仍然发现许多这样的调用: // Check for errors. if (count($errors = $this->get('Errors'))) { JError::raiseError(500, implode("\n", $errors)); return false; } 但是从平台版本12.1开始不推荐使用JError。那么我应该如何使用标准的PHP异常。

6
如何检测用户是否为超级用户?
为了确定访客是否是客人,我们使用以下方法: if ($user->guest) { echo 'Hello, guest!'; } 现在,如果我想确定访问者是否是注册的超级用户(管理员),那么该代码是什么? 我有一些外部PHP文件,除了Joomla网站的SuperUsers之外,其他任何人都无法访问。只是尝试通过导入Joomla CMS保护文件。

9
如何提高服务器响应时间?
除了使用诸如jotcache之类的缓存插件外,我还能做什么来改善网站的服务器响应时间? 我已经删除了所有不活动的文章模块,插件和组件,还有什么我可以做些改进的吗? 我说的是客户(浏览器)对他的请求作出响应之前的时间。而不是页面加载的时间。

2
joomla中的$ this-> baseurl在哪里定义?
我首先在stackoverflow.com上问了这个问题(这里的问题)。在评论中,您可以读到,如果我在这里问这个问题会更好。 在我使用的joomla网站上,echo $this->baseurl;但它返回包含“ /index.php”的网址。我想更改此设置以从baseurl中删除“ /index.php”。但我找不到的定义行$this->baseurl;。 我找到了这个线程,但这是基于问题所有者的模板的,而在我的模板中没有这样的东西。 建议非常感激:)


1
文档使用按引用分配(=&),但这在PHP 5中是否必要?
我已经在Joomla文档(例如JFactory / getSession)中注意到,这些示例使用按引用=&分配(=)而不是简单的赋值()。 $session =& JFactory::getSession(); 这只是过时的还是故意涵盖PHP 4的用户的? 在PHP 5下是否有必要?还是我忽略了一些与Joomla相关的东西?
12 php 

3
检查组件是否已安装/启用的最佳方法?
在joomla 2.5和3.x之间,检查是否已安装和/或启用另一个组件的最佳方法是什么?存在一个名为的帮助程序类,JComponentHelper但我相信isEnabled如果某些joomla版本未安装要检查的组件,则该函数实际上会引发错误。 这可以像直接建立数据库一样简单,但是我想看看是否有人使用其他类/帮助程序/方法。

1
如何将第3方库添加到Joomla,以使其在我的代码中普遍可用
我们使用了许多第三方开源产品,例如PhpExcel和HtmlPurifier。过去,我们始终为它们提供一个单独的文件夹,并相应地对其进行命名,但现在想知道是否存在使用Joomla \libraries文件夹安装/使用它们的更常规方法。 我已经在扩展中使用了自己的库,但是尚不清楚这是否确实适用于编写自己的库,或者是否可以与“文件夹中的任何内容”一起使用。在开始研发之前,我希望有一些建议或见识,但会在发现时有所更新。


4
如何使用Joomla构建RESTful API
自v1以来,我一直在构建Joomla扩展,但是我很快需要使自己构建并使用了一段时间的API生效。目前,我正在使用Joomla 2.5,并为此系统编写了插件: https://github.com/techjoomla/com_api 在上线之前,我希望将来尽可能地对系统进行验证。该API组件直到最近才开始升级以与Joomla v3一起使用,因此目前阻止该网站升级。我还认为,将公共API和用户门户分开是有意义的,因为作为移动应用程序将使用API​​,因此将其作为集成扩展没有任何好处。 当前的计划是在子域上重建API,这将使我们能够升级用户门户。我一直在阅读有关新的Joomla框架的信息,该框架看起来很令人兴奋。这是否适合为我们的移动应用程序构建RESTful API?如果是这样,他们是否有入门提示?我读过FoF可用于构建API,这是一个不错的选择吗?我看到了Kickstarter项目打算完全构建这种API,这是一个潜在的选择吗?我应该只为子域剥离当前的2.5个站点,使其仅运行API吗? 对于构建用于移动交互的基于Joomla的RESTful API的最佳方法的任何建议,将不胜感激。


2
JHtml:script()和$ doc-> addScript有什么区别?
我最近开发了一个模块,该模块需要将某些JS和CSS文件插入<head>每个页面的中。最初,我使用: $doc =& JFactory::getDocument(); $doc->addScript(JURI::base(true).'/modules/mod_x/js/mod_x.js'); 但是,我注意到,启用缓存后,网站会加载的缓存版本/cache和的非缓存版本/modules/mod_x/js/,从而导致JS错误。 当我将其更改为: JHtml::script(Juri::base().'modules/mod_x/js/mod_x.js'); 该脚本仅从缓存加载一次,从而解决了这些错误。 我在文档中读到,该addScript方法比该JHtml:script方法更“低级” ,但不仅如此... 当然,您还需要手动编写某些步骤[JHtml:script为您完成],这些步骤将使用上面的[JHtml:script方法] [如果使用addScript]自动完成。 ...没有进一步的细节。 那有什么区别呢?我假设JHtml:script最终会addScript在某个时刻调用文档对象,但是是否首先采取了其他中间步骤?

2
在组件视图页面中添加joomla的默认工具栏
我正在为joomla 2.5和3开发一个mvc组件。在许多组件中,我看到它们在管理端的设置页面顶部添加了joomla的默认命令按钮,例如new,edit,publish,trash,选项。例如。如果去组件->网络链接->链接页面,我正在谈论右上角的那些命令按钮。 那么,如何在组件的设置页面中添加这些命令按钮?单击时,它将执行相应的操作并显示相应的视图。例如,如果单击“新建”按钮,它将按原样显示我的mvc组件的添加条目视图。 因此,如何在管理员端的组件设置页面中添加完全可用的joomla命令按钮。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.