Specifically speaking, why does the below code work (outputs "test").
<?
$variable = 'test';
?>
<?=$variable?>
Is this hacky, or functionality?
Specifically speaking, why does the below code work (outputs "test").
<?
$variable = 'test';
?>
<?=$variable?>
Is this hacky, or functionality?
<?=?>
is a Short Tag for echo();
According to PHP
Outputs all parameters.
echo is not actually a function (it is a language construct), so you are not required to use parentheses with it. echo (unlike some other language constructs) does not behave like a function, so it cannot always be used in the context of a function. Additionally, if you want to pass more than one parameter to echo, the parameters must not be enclosed within parentheses.
echo also has a shortcut syntax, where you can immediately follow the opening tag with an equals sign. Prior to PHP 5.4.0, this short syntax only works with the short_open_tag configuration setting enabled.
Gives you the also the next example:
I have
<?=$foo?>
foo.