У меня проблема с PHP и глобальными переменными. В этом коде:Глобальная переменная PHP не меняется
- на стартах странице, результат:
Test 123
. - После нажатия на: СписокBox1Показать результат:
XXXXXXXX
. - После нажатия на: СписокBox2Показать результат:
Test 123
, что не так!
Есть ли какой-либо метод, где я могу изменить глобальную переменную таким образом? Это необходимо изменить изнутри функции «ListBox1Click» и отображать из кода в: «ListBox2Click».
<?php
require_once("rpcl/rpcl.inc.php");
//Includes
use_unit("forms.inc.php");
use_unit("extctrls.inc.php");
use_unit("stdctrls.inc.php");
//Class definition
class Page1 extends Page
{
public $Label8 = null;
global $someVar;
$someVar = "Test 123";
$this->Label8->Caption = $someVar;
function ListBox1Click($sender, $params)
{
global $someVar;
$someVar = "XXXXXXXX";
$this->Label8->Caption = $someVar;
}
function ListBox2Click($sender, $params)
{
global $someVar;
$this->Label8->Caption = $someVar;
}
}
global $application;
global $Page1;
//Creates the form
$Page1=new Page1($application);
//Read from resource file
$Page1->loadResource(__FILE__);
//Shows the form
$Page1->show();
?>
Спасибо за помощь
Комментарий: У вас есть дополнительная закрывающая скобка ''} –
Не используй глобал. Когда-либо. Особенно в сценарии OO, где важна инкапсуляция. Списки аргументов существуют по какой-то причине. Используй их. –
Благодарим вас за консультацию, но проблема в том, что мне нужно хранить как-то несколько переменных, эти переменные должны быть доступны изнутри и в функции событий OnClick в ListBox. Но сейчас, как показано выше, после нажатия на listBox2, $ someVar меняется на «Test 123» и не остается «XXXXXXXX» – wcale