【问题标题】:How to access Joomla protected property?如何访问受 Joomla 保护的财产?
【发布时间】:2013-02-05 02:10:42
【问题描述】:

我已经尝试过了,它正在工作:

<?php
define( '_JEXEC', 1 );
define( 'DS', DIRECTORY_SEPARATOR );
define( 'JPATH_BASE', dirname(__FILE__).DS."../apitest/");

require_once( JPATH_BASE . DS . 'includes' . DS . 'defines.php' );
require_once( JPATH_BASE . DS . 'includes' . DS . 'framework.php' );
require_once( JPATH_BASE . DS . 'libraries' . DS . 'joomla' . DS . 'factory.php' );

$conn = JDatabase::getConnectors();

print_r($conn);
?>

但是,当我尝试这样做时:

<?php
define( '_JEXEC', 1 );
define( 'DS', DIRECTORY_SEPARATOR );
define( 'JPATH_BASE', dirname(__FILE__).DS."../apitest/");

require_once( JPATH_BASE . DS . 'includes' . DS . 'defines.php' );
require_once( JPATH_BASE . DS . 'includes' . DS . 'framework.php' );
require_once( JPATH_BASE . DS . 'libraries' . DS . 'joomla' . DS . 'factory.php' );

$conn = JDatabase::$connection;

print_r($conn);
?>

返回:

Fatal error: Cannot access protected property JDatabase::$connection in C:\xampp\htdocs\apitest1\index.php on line 10

如何访问 $connection 变量?

【问题讨论】:

    标签: php database joomla protected


    【解决方案1】:

    试试这个

    define( '_JEXEC', 1 );
    define('JPATH_BASE', dirname(__FILE__) );//this is when we are in the root
    define( 'DS', DIRECTORY_SEPARATOR );
    
    require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
    require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );
    
    $mainframe =& JFactory::getApplication('site');
    $mainframe->initialise();
    $db = &JFactory::getDBO(); //Your database object is ready
    $sql = "SELECT * FROM #__users";
    $db->setQuery($sql);
    $db->query();
    $res = $db->loadAssocList();
    print_r($res)
    

    希望对你有所帮助..

    【讨论】:

      【解决方案2】:

      这是受保护的,因此您需要使用 getter 来读取,并使用 setter 来写入此属性。

      谷歌搜索 Joomla API 显示如下:

      http://docs.joomla.org/API16:JDatabase/getConnection

      示例用法

      $conn = $connectorInstance.getConnection();
      

      您可能还想看看this article

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-06-22
        • 1970-01-01
        • 2017-01-30
        • 2019-02-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多