Вот 3 лучших способа сделать это.
Метод первый:
blockquote>$x = '+3'; echo "1+2$x";
Double Quotes (") позволяет вам просто передать переменная непосредственно внутри нее.
Метод второй:
blockquote>$x = '+3'; echo '1+2'.$x;
Если вы не хотите использовать двойные кавычки по какой-либо причине, пойдите с этим. (.) просто означает «Добавить» в основном. Поэтому, если вам нужно добавить что-то вроде 1 + 2 + 3 + 4 + 5 и иметь переменную в середине, вам нужно всего лишь:
$x = '+3'; echo '1+2'.$x.'+4+5';
Способ 3: (добавление переменной непосредственно внутри вызываемой переменной)
blockquote>$x = '+3'; $y = '+4'; $z = '+5'; echo "1+2${"x".$y.$z}"; Output: 1+2+3+4+5
Здесь мы добавляем
$y
и$z
к$x
, используя"."
;{}
приоритизирует работу внутри него перед рендерингом неопределенной переменной.Это лично очень полезная функция для вызова таких функций, как:
//Add the Get request to a variable. $x = $_GET['tool']; //Edit: If you want this if to contain multiple $xresult's change the if's //Conditon in the "()" to isset($get). Simple. Now just add $xresultprogram //or whatever. if($x == 'app') { $xresultapp = 'User requested tool: App'; } //Somewhere down far in HTML maybe... echo ${"xresult".$x}; //Note: doing ${"xresult".$_GET['tool']} directly wont work. //I believe this is because since some direct non-echo html was loaded //before we got to this php section it cant load cause it has already //Started loading client side HTML and JS.
выведет файл $ xresultapp, User request tool: App, если они сделали example.com?tool=app. Вы можете изменить с помощью инструкции else, чтобы определить, что происходит, когда что-то запрашивает d другой, тогда запрашивается приложение e.t.c. Помните, что все чувствительно к регистру, поэтому, если они запрашивают приложение в столицах, он не будет выводить $ xresultapp.
Вы можете получить ссылку на Scene
и Window
из ссылки на вашу кнопку. Оттуда вам решать, как вы хотите показать новое представление.
Вот как вы получаете эти ссылки:
Scene scene = btnSignIn.getScene();
Window window = scene.getWindow();
Stage stage = (Stage) window;
Вы можете изменить представление, изменив корень вашей сцены:
FXMLLoader loader = ... // create and load() view
btnSignIn.getScene().setRoot(loader.getRoot());
Или вы можете изменить всю сцену:
FXMLLoader loader = ... // create and load() view
Stage stage = (Stage) btnSignIn.getScene().getWindow();
Scene scene = new Scene(loader.getRoot());
stage.setScene(scene);