2015-02-07 36 views
3

我想使添加可在視圖中使用的自定義函數成爲可能。例如,我想調用一個將顯示數據的函數。我不想從控制器執行此操作,因爲我試圖儘可能使其成爲可定製的。Laravel 5訪問視圖中的自定義函數

顯然有人給我發送了關於可能創建服務提供商的信息,並將其注入到應用的基礎中?

+0

什麼樣的數據將是的功能顯示?你能更具體一點嗎? – lukasgeiter 2015-02-07 12:46:22

+0

可能是視圖作曲家可以幫到你嗎? http://laravel.com/docs/4.2/responses#view-composers – 2015-02-07 13:07:22

+0

Laravel 5 doc - > http://laravel.com/docs/5.0/views#view-composers – 2015-02-07 13:41:14

回答

7

您可以直接在bootstrap/app.php中創建自定義幫助函數,但有更好的方法。

如果你只是想喜歡Laravel's helpers簡單的功能,在您的應用程序目錄下創建一個helpers.php文件,並要求其在bootstrap/app.php文件,然後你可以創建你在它想要的所有的自定義功能,用於爲例:

<?php 

function coolText($text) { 
    return 'Cool ' . $text; 
} 

,並呼籲它在您的觀點:

<div>{{ coolText($someVar) }}</div> 

對於一些更高級的,你可以創建一個輔助類我在您的應用程序目錄中,將其綁定到您的AppServiceProvider.php中,並在該課程中添加您選擇的任何方法。

應用程序/ Helpers.php

<?php namespace Helpers; 

class Helpers 
{ 
    public function coolText($text) 
    { 
     return 'Cool ' . $text; 
    } 
} 

您可以在您的視圖注入這一類或該類訪問它在您的視圖中創建一個Facade

<div>{{ Helpers::coolText($someVar) }}</div> 
+3

謝謝。試過這個,它第一次運作。你先生是個傳奇人物。 – RavensGate 2015-02-07 15:00:46

+0

如果您的問題已解決,請使用複選符號將此問題標記爲可接受,它會將您的帖子標記爲已回答。 – 2015-02-07 15:09:37

+0

如果我的函數是一個get方法,例如:'public function getReviews()'我怎麼能在我的視圖中檢索它.. ?? !! – 2016-03-31 05:24:01

相關問題