2013-06-11 4 views
6

Ho un metodo statico pubblico di classe che acquisisce alcune informazioni del database e restituisce un numero intero. In un controller posso chiamare quel metodo bene. Come posso chiamare quel metodo statico in un template blade?Come si usa una funzione statica in blade.php tempate in laravel 4?

Ad esempio:

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

Grazie

risposta

6

Si potrebbe o

A- fanno un Facciata: http://laravel.com/docs/facades

B- Spostare in un aiutante/libreria: https://stackoverflow.com/a/13481218/2446119

Personalmente penso che aiutanti e biblioteche sono molto più facili e veloci da programmare, ma le facciate sono più pulite.

+0

Ecco un'altra buona risorsa: http: //jasonlewis.me/article/laravel-4-develop-packages-using-the-workbench –

0

Un modo originale di farlo è incorporare PHP nel modello di blade, almeno in Laravel 4.0; Ho migrato un vecchio progetto, scritto male, in laravel. Essendo così sopraffatto dal numero di problemi che ho incontrato e dai limiti di tempo, non ho avuto il tempo di cercare un modo migliore per farlo. Ho fatto un sacco di moduli html per un totale di circa 30k linee di codice.

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

Quindi è possibile accedere ai dati normalmente:

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

Questo è ciò che ha funzionato per me.

NOTA: Aggiungere solo i miei 2 centesimi per motivi di documentazione. Ci sono modi migliori e più puliti per farlo, come indicato dalla risposta accettata.