Php 在joomla 3.1.1中实例化控制器
我试图实例化一个控制器并执行一些方法,但没有结果:(Php 在joomla 3.1.1中实例化控制器,php,joomla,Php,Joomla,我试图实例化一个控制器并执行一些方法,但没有结果:( 有什么想法吗?这行不通,请尝试:JControllerLegacy::getInstance('CONTROLLERNAME')假设您调用的控制器遵循命名约定 例如weblinkscocontrollerweblink以下是控制器实例化代码的形式。您不需要在Joomla 3扩展中使用jimport。Joomla自动加载以J前缀开头的所有类 <?php // No direct access defined( '_JEXEC' ) or
有什么想法吗?这行不通,请尝试:
JControllerLegacy::getInstance('CONTROLLERNAME')
假设您调用的控制器遵循命名约定
例如weblinkscocontrollerweblink
以下是控制器实例化代码的形式。您不需要在Joomla 3扩展中使用jimport。Joomla自动加载以J
前缀开头的所有类
<?php // No direct access
defined( '_JEXEC' ) or die( 'Restricted access' );
//sessions
jimport( 'joomla.session.session' );
//load tables
JTable::addIncludePath(JPATH_COMPONENT.'/tables');
//load classes
JLoader::registerPrefix('Lendr', JPATH_COMPONENT);
//Load plugins
JPluginHelper::importPlugin('lendr');
//application
$app = JFactory::getApplication();
// Require specific controller if requested
if($controller = $app->input->get('controller','default')) {
require_once (JPATH_COMPONENT.'/controllers/'.$controller.'.php');
}
// Create the controller
$classname = 'LendrController'.$controller;
$controller = new $classname();
// Perform the Request task
$controller->execute();
请尝试此最新的JOOMLA 3.0扩展示例作为参考。
<?php // No direct access
defined( '_JEXEC' ) or die( 'Restricted access' );
//sessions
jimport( 'joomla.session.session' );
//load tables
JTable::addIncludePath(JPATH_COMPONENT.'/tables');
//load classes
JLoader::registerPrefix('Lendr', JPATH_COMPONENT);
//Load plugins
JPluginHelper::importPlugin('lendr');
//application
$app = JFactory::getApplication();
// Require specific controller if requested
if($controller = $app->input->get('controller','default')) {
require_once (JPATH_COMPONENT.'/controllers/'.$controller.'.php');
}
// Create the controller
$classname = 'LendrController'.$controller;
$controller = new $classname();
// Perform the Request task
$controller->execute();