Прогресс-бар в клинке (Laravel)

Я делаю проект с Laravel, в котором я передаю три переменные в моем файле просмотра лезвия,

$state_0
$state_1
$state_2

и я хотел бы сделать индикатор выполнения, используя загрузочную рамку твиттеров css Bootstrap. Таким образом, чтобы установить ширину каждого индикатора выполнения, я должен был бы рассчитать что-то вроде этого

//calc percentage of a state
$percentage= 100*$state_0/($state_1+$state_2+$state_3)

Однако выполнение расчетов и переменных в блейд-файле не очень профессионально. Я вынужден установить эти переменные в контроллере, или есть более разумный способ сделать это?

ура

2 ответа

Решение

Рассчитайте их в контроллере и передайте результат, который будет использоваться в представлении:

    //controller method
    $data = array(
        'percentage' => 100*$state_0/($state_1+$state_2+$state_3),
        'foo' => $foo,
        'bar' => $bar,
    );
    $view = View::make('myview', $data);

По вашему мнению, вы можете получить доступ к переменным $ процентам, $ foo и $bar.

Контроллер будет хорошим местом, особенно если вам нужно использовать этот расчет в одном месте вашего приложения. Помните, что вспомогательные библиотеки загружаются фреймворком каждый раз, даже если они не используются.

Другие вопросы по тегам