Symfony2 を使用しています。私のコントローラーは、によって作成されたカテゴリなどのいくつかの値を見つけて、それらをテンプレートに渡します。問題は、ユーザーがまだカテゴリを作成していない場合、メッセージを表示してカテゴリを作成するように勧めたいことです。
コードは次のとおりです。
if($number_of_categories == 0){
$newcommer = true;
//Here the template doesn't need any variables, because it only displays
// "Please first add some categories"
} else {
$newcommer = false;
//Here the variables, which I give to the template
//are filled with meaningfull values
}
return $this->render('AcmeBudgetTrackerBundle:Home:index.html.twig', array(
'newcommer' => $newcommer,
'expenses' => $expenses_for_current_month,
'first_category' => $first_category,
'sum_for_current_month' => $sum_for_current_month,
'budget_for_current_month' => $budget_for_current_month
));
問題は、ユーザーがカテゴリを持っていない場合、変数を埋めるものがないため、次のように記述しなければならないことです。
//What I want to avoid is this:
$expenses_for_current_month = null;
$first_category = null;
$sum_for_current_month = null;
$budget_for_current_month = null;
ただ避けるためにNotice: Undefined variable ...
これを達成するためのよりクリーンなソリューションはありますか? テンプレートに与えられた変数の数を動的に生成する方法はありませんか? 前もって感謝します!