2017-01-09 7 views
0

を割り当てない私は、このクラス内の関数を使用して$host$user$password$db変数を更新する際に助けが必要。JoomlaのConfiguration.phpどのように私は、関数を使用して、クラス変数を更新し、それらに

基本的に関数内でいくつかの作業を行い、その変数の値を更新して出力を返します。

たとえば、$this->userを更新して出力をエコーすることができます。しかし、クラス変数$userを更新することはできません。

<?php 
 
class JConfig { 
 
\t public $offline = '0'; 
 
\t public $offline_message = 'This site is down for maintenance.<br />Please check back again soon.'; 
 
\t public $display_offline_message = '1'; 
 
\t public $offline_image = ''; 
 
\t public $sitename = ''; 
 
\t public $editor = 'tinymce'; 
 
\t public $captcha = '0'; 
 
\t public $list_limit = '20'; 
 
\t public $access = '1'; 
 
\t public $debug = '0'; 
 
\t public $debug_lang = '0'; 
 
\t public $dbtype = 'mysqli'; 
 
    public $host = ''; 
 
    public $user = ''; 
 
\t public $password = ''; 
 
\t public $db = ''; 
 
    public $dbprefix = 'i1jud_'; 
 
\t public $live_site = ''; 
 
\t public $secret = ''; 
 
\t public $gzip = '0'; 
 
\t public $error_reporting = 'default'; 
 
\t public $helpurl = 'https://help.joomla.org/proxy/index.php?keyref=Help{major}{minor}:{keyref}'; 
 
\t public $ftp_host = ''; 
 
\t public $ftp_port = ''; 
 
\t public $ftp_user = ''; 
 
\t public $ftp_pass = ''; 
 
\t public $ftp_root = ''; 
 
\t public $ftp_enable = '0'; 
 
\t public $offset = 'UTC'; 
 
\t public $mailonline = '1'; 
 
\t public $mailer = 'mail'; 
 
\t public $mailfrom = ''; 
 
\t public $fromname = ''; 
 
\t public $sendmail = '/usr/sbin/sendmail'; 
 
\t public $smtpauth = '0'; 
 
\t public $smtpuser = ''; 
 
\t public $smtppass = ''; 
 
\t public $smtphost = 'localhost'; 
 
\t public $smtpsecure = 'none'; 
 
\t public $smtpport = '25'; 
 
\t public $caching = '0'; 
 
\t public $cache_handler = 'file'; 
 
\t public $cachetime = '15'; 
 
\t public $cache_platformprefix = '0'; 
 
\t public $MetaDesc = ''; 
 
\t public $MetaKeys = ''; 
 
\t public $MetaTitle = '1'; 
 
\t public $MetaAuthor = '1'; 
 
\t public $MetaVersion = '0'; 
 
\t public $robots = ''; 
 
\t public $sef = '1'; 
 
\t public $sef_rewrite = '0'; 
 
\t public $sef_suffix = '0'; 
 
\t public $unicodeslugs = '0'; 
 
\t public $feed_limit = '10'; 
 
\t public $feed_email = 'none'; 
 
    public $log_path = ''; 
 
\t public $tmp_path = ''; 
 
\t public $lifetime = '15'; 
 
\t public $session_handler = 'database'; 
 
\t 
 
}

<?php 
 
class updates 
 
{ 
 
    public $user; 
 
    function __construct(){ 
 
    $this->user = "user"; 
 
    } 
 

 
    function username() 
 
    { 
 
     return $this->user = "new_user"; 
 
    } 
 
    
 
     
 
} 
 

 
$updates = new updates(); 
 
echo $updates->username(); 
 

 
?>

+0

最小限の再現可能な例を提供してください。 –

答えて

0

3つのメソッドusername、password、dbを作成します。

コンストラクタを使用し、変数をメソッドの結果で更新します。作品。

0

プラグインやpluginevents

https://docs.joomla.org/Plugin/Events/User

+0

文字通り助けが全くありません。 –

+0

これは、JUserオブジェクト –

+0

を変更したいときですが、やりたいことはもうありません。 thanks –

0

VAR見てみましょうあなたが言及しているconfiguration.phpのiablesは、joomlaユーザーではなく、データベース名、データベースユーザー、データベースパスワードを指しています。これはJUserオブジェクトとは関係がなく、サイトを移動しない限り変更することは決してありません。つまり、これはサイト全体の構成です。

あなたは、ユーザーを変更して達成しようとしていることを説明することから始めませんか?たとえば、インストールを実行するためのCLIスクリプトを作成しようとしているのですか、あるデータベースから別のデータベースにサイトを移動しやすくしたいのですか?

+0

私はこれらの変数が持つ初期値から始めようとしています。関数を更新し、これらの関数の値をこれらの変数に代入します。 –

+0

異なるデータベースに変更したいのですか?これらの値は構成オブジェクト内にあります。したがって、設定オブジェクトを変更する必要があります。 – Elin

+0

ok私は解決策を見つけました。私はオブジェクトを変更する必要はありません。私はJoomlaで直接作業していません。私はconfiguration.phpファイルの中で直接作業し、変数を取得して更新したいと思っています。 –

関連する問題