在PHP
我们这样echo
字符串中:
echo 'string';
但我看到PHP
框架Laravel
和脚本echo
字符串使用Curly Brackets
:
{string}
我如何在不使用任何PHP
框架的情况下做到这一点?
Curly Brackets
如果有其他方法可以缩短回声,则无需使用!
我更喜欢代码示例。
在PHP
我们这样echo
字符串中:
echo 'string';
但我看到PHP
框架Laravel
和脚本echo
字符串使用Curly Brackets
:
{string}
我如何在不使用任何PHP
框架的情况下做到这一点?
Curly Brackets
如果有其他方法可以缩短回声,则无需使用!
我更喜欢代码示例。
PHP 有一些打印字符串的方法,例如(但不限于)print
,和echo
或只是简写<?= "str" ?>
。
您从 laravel 中询问的括号打印在 php 中并不是按照说法。
那来自一个名为Blade
.
所以{}
打印东西的方式在php中是不可能的。
您将不得不坚持标准方式或使用模板引擎!
你可以通过短回声
<?= $variable; ?>
当你打开一个新的 php 标签
或者您使用,如您的问题中所述,使用诸如 laravel 之类的框架-差不多就是这样
你可以做什么,但我不确定这是否是个好主意 - 编写如下函数:
function x($string) {
echo $string;
}
x('Test'); // will output Test
简短的回答是你不能用 PHP 做到这一点。PHP 提供语言构造以输出到标准输出等。PHP 不提供预处理器。大多数模板框架都是预处理器,这意味着它们会将您{<STRING>}
转换为echo $x
语句。
所以要么创建自己的模板框架,要么坚持使用 PHP 的 API。
经过研究,我发现了一个Template Engine
名为Smarty,它允许我使用Curly Brackets
首先我创建了2个文件index.php
,template.html
然后我将我从模板页面/libs
下载的文件夹移动到我的脚本目录
在我的index.php
我需要Smarty.class
文件
require_once "libs/Smarty.class.php";
然后我打电话给Smarty
班级:
$smarty = new Smarty;
之后我推了变量:
$smarty ->assign("name",'Amr');
我显示了模板文件index.html
$smarty ->display("template.html");
最后我写了index.html
<p>{$name}</p>
它并输出:Amr