2014-11-22 56 views
2

PHP我們echo字符串是這樣的:PHP短路回聲字符串?

echo 'string'; 

但我使用Curly Brackets看到PHP框架,如Laravel和腳本echo字符串:

{string} 

我如何能做到不使用任何PHP框架?

如果還有其他方法可以縮短回聲,則不需要使用Curly Brackets

我更喜歡代碼示例。

+0

Laravel使用模板引擎'Blade'(默認),這就是爲什麼語法和php不一樣。 – Jite 2014-11-22 06:19:48

+0

我不再使用PHP,但也許你可以通過文檔查看與Regex的特定匹配,然後在'{}'之間回顯任何內容。 – 2014-11-22 06:21:34

回答

3

您可以通過

<?= $variable; ?>短回波當你打開一個新的PHP標籤

,或者你使用,如在你的問題的框架描述,如laravel - 這幾乎是它

什麼你可以做,但我不確定這是否是一個好主意 - 編寫如下功能:

function x($string) { 
    echo $string; 
} 

x('Test'); // will output Test 
+0

遠離談論Laravel,我看到一個PHP腳本使用這種方式來回顯{字符串} ..我認爲這是一種編碼或插件/引擎的方式,但我真的不知道它是什麼!順便提一下功能解決方案! – 2014-11-22 06:29:42

+0

儘管可以創建一個更短的函數,但我不會推薦這樣做,它會使代碼更難閱讀和理解,這不是一件好事。 (是的,我注意到答案說這可能不是一個好主意,我只是支持它!) – Jite 2014-11-22 06:31:31

+0

謝謝!不確定{},我還沒有在laravel和MVC之外看到它{ – baao 2014-11-22 06:31:31

3

PHP有幾種方法可以打印鋼琴例如(但不限於)printecho或簡寫爲<?= "str" ?>
從laravel詢問的括號打印不是每個在PHP中說。
這是來自名爲Blade的模板引擎。

所以{}打印東西的方式是不可能在PHP中。
你將不得不堅持標準的方式或使用模板引擎!

+0

但我看到一個PHP腳本(而不是框架)使用這種方式來回聲{字符串},也在HTML文件中工作!感謝你的信息。 – 2014-11-22 06:39:13

+2

是否是php文件的名稱:somename.blade.php? :) – Jite 2014-11-22 06:41:25

+0

不,它被命名爲file.html – 2014-11-22 06:42:57

2

簡短的答案是你不能用PHP做到這一點。 PHP提供了輸出到標準輸出的語言結構等.PHP不提供預處理器。大多數模板框架都是預處理器,意味着它們將{<STRING>}轉換爲echo $x語句。

因此,要麼創建自己的模板框架,要麼堅持PHP的API。

+0

關於創建我自己的模板,我只是想這樣做{echo}從頭開始創建一個php框架,我發誓上帝,我看到一個PHP腳本(而不是框架)使用這種方式來回聲{字符串},也在HTML文件中工作!感謝你的信息。 – 2014-11-22 06:37:49

+0

鏈接到PHP腳本...? – 2014-11-22 06:43:43

+0

以下是腳本,轉到「模板」目錄並打開例如「links.html」,您會看到他使用{}回顯: http://goo.gl/JWGPL6 – 2014-11-22 07:03:30

0

研究後,我發現了一個Template Engine稱爲Smarty,讓我用Curly Brackets

第一回波我創建了2個文件index.phptemplate.html

然後我感動,我從template page下載到我的腳本文件夾/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

+0

是的,所以我們都沒事。 – 2014-11-22 07:34:55

+0

是的:)謝謝所有的信息:) – 2014-11-22 07:37:07