1. テンプレートコメントの違い
| 記述方法 | 種別 | 特徴 |
|---|---|---|
<!-- HTMLコメント --> | HTML標準コメント | 最終的なWebページのソースに出力、ブラウザのソース表示で確認可能 |
## 1行コメント | Velocity1行コメント | エンジンのみ認識、ページに出力されない、行末まで有効 |
#* 複数行コメント *# | Velocity複数行コメント | 改行に対応、ページに出力されない |
開発のヒント:業務向けコードコメントは
##または#* *#を優先して使い、ソースコードへのコメント漏洩を防ぎます。
2. 変数の命名ルール
公式の基本ルール
- 変数の先頭文字はアルファベット(a‑z / A‑Z)必須
- それ以降に使用可:英字、数字
0‑9、アンダーバー_、ハイフン-
ハイフン - による演算子の曖昧さ
#set($name-d = "test")Code language: PHP (php)
実行時にエラーが発生:Encountered "name" ... Was expecting one of:
原因:Velocityが - を減算演算子と判断するため!
エンジンは$name - dと解釈し、変数$nameから変数dを引く処理とみなし構文エラーになります。
二つの解決方法:
- 推奨:アンダーバーによる命名(曖昧なし、一般的な慣習)
#set($name_d = "hello world")Code language: PHP (php)
- 波括弧で変数範囲を明示(ハイフン付き変数名に対応)
#set(${name-d} = "hello world")
${name-d}Code language: PHP (php)
有効・無効な記述例
# ✅正常
#set($name_d = "アンダーバー")
#set($name12d = "英字始まり+数字")
#set(${name-1_2d} = "ハイフン使用時は波括弧必須")
# ❌波括弧なしでハイフン → 解析エラー
#set($name-d = "エラー発生!")
#set($name-1_2d = "エラー発生!")Code language: PHP (php)
3. #set 構文の記述ルール
標準的な書き方(括弧周囲の空白は柔軟、統一したスタイル推奨)
#set($変数名 = "値")Code language: PHP (php)
文字列は二重引用符で囲む必要があります。イコールの両側に空白を入れると可読性が向上します。
コメント