pugの中に無理矢理phpを入れないといけなくなったので。
現在開発しているシステムがphpなんですが、なかなか良いプリプロセッサーがなかったことと、普段からpugに慣れ親しんでいるので、今回は思い切ってpugに無理矢理phpをぶち込むことにしました。
(gulp-pugでコンパイルしています)
まずは基本形
pug内にphpを書く01
文字を書くときのように縦棒を使ってphpを書く。私はこっちの書き方を先に知ってしまったので、こっちを使っています。
div.sample
| <?php echo 'haha!'; ?>
↓
<div class="sample">haha!</div>
pug内にphpを書く02
タグの後に.(ドット)を入れることによって以下にphpを記入することができる。
※インデントは中に入れないとエラーになる
div.sample.
<?php echo 'haha!'; ?>
↓
<div class="sample">haha!</div>
ちょっと積んだ系
タグ内に入れるとき01
イコールの前に!(ビックリマーク)を入れて、=(イコール)の後と"(ダブルクォーテーション)の前に1つスペースを空ける。そうしないと<>がエスケープされてしまうらしい。
img(src!= "<?php echo 'hey.jpg' ?>")
↓
<img src="hey.jpg">
タグ内に入れるとき02
イコールの後の記述じゃない場合の入れ方がどこをググってもなかったんですが、ノリでこう記述したら行けた。シンプルに"(ダブルクォーテーション)で囲えばOK。
ググっても出てこなかったのでなんかこれ悩んでる人がちゃんとググって出るようにしたいからそれっぽいこと書いておきたいな。
”php pug タグ内に記述 できない”
こんな感じか(独り言)
img(src!="./hey.jpg" "<?php echo 'heyhey!' ?>")
↓
<img src="./hey.jpg" heyhey!>
まとめ
すごい疲れてる時にコーディングしていると、大抵はphp自体の記述ミスだったり、"がコンフリクト起こしていたりしました。そういうミスが起きるときは凄まじく疲れているので寝ましょうー