2013-06-11 4 views
6

Ich habe eine Klasse statische statische Methode, die einige Datenbankinformationen ergreift und eine ganze Zahl zurückgibt. In einem Controller kann ich diese Methode einfach gut nennen. Wie rufe ich diese statische Methode in einer Blade-Vorlage auf?Wie benutze ich eine statische Funktion in blade.php tempate in Laravel 4?

Zum Beispiel:

@foreach ($tasks as $task) 
    {{Task::percentComplete($task->id)}}%<br /> 
@endforeach 

Danke

Antwort

6

Sie können entweder

A- Machen Sie es eine Fassade: http://laravel.com/docs/facades

B- es in einen Helfer/Bibliothek verschieben: https://stackoverflow.com/a/13481218/2446119

Ich persönlich denke, dass Helfer und Bibliotheken sind viel einfacher und schneller zu programmieren, aber Fassaden sind sauberer.

+0

Hier ist eine weitere gute Ressource: http: //jasonlewis.me/article/laravel-4-develop-packages-using-the-workbench –

0

Ein hackischer Weg, um es zu tun ist einfach PHP in Ihre Blade-Vorlage zu integrieren, zumindest in Laravel 4.0; Ich habe ein schlecht geschriebenes altes Projekt nach Laravel migriert. Ich war so überwältigt von der Anzahl der Probleme, mit denen ich zu kämpfen hatte, und ich hatte keine Zeit, nach einem besseren Weg zu suchen. Ich habe eine Reihe von HTML-Formularen mit insgesamt etwa 30.000 Zeilen Code erstellt.

<?php 
$haystack=Session::get('orderInfo.form.conditions',array()); 
?> 

Dann können Sie Ihre Daten normalerweise zugreifen:

{{in_array('Special Assignments',$haystack)?'checked="checked"':''}} 

Das ist, was für mich gearbeitet.

HINWEIS: Nur meine 2 Cent für die Dokumentation hinzufügen. Es gibt bessere und sauberere Wege, um es zu tun, wie von der angenommenen Antwort angegeben.

Verwandte Themen