YAMLファイルにPHPを埋め込む時のポイント

こんにちは。hirafujiです。久々の投稿になります。

OJTに突入して、早いもので一ヶ月半もの月日が経ちました。
私は新規立ち上げのプロジェクトに配属されたので、この一ヶ月半で、ウェブサイトの設計から始まり、書類の作成、実装、テストまで、プロジェクトの何から何までを体験することができました。

そしてついに今朝、人生初のリリースというものを体験しました! この「肩の荷が降りた感」はたまりませんですね ><

…と一段落ついたところで、今回は、OJT中に悩まされた、yamlファイルへの、PHPコードの埋め込みのポイントについて書きたいと思います!

【phpの閉じタグの直後には半角スペース】

yamlファイルにphpコードを埋め込む際は、phpの閉じタグ( ?> のことです )の直後に半角スペースを入力しないと、ymlファイルはうまく動いてくれなくなります。これにはとことん悩まされました…。

どうやら、phpの閉じタグ直後の改行コードは(なぜか)削除されてしまうため、YAMLファイルの書式が崩れてしまうのが原因のようです。

と、ここまで書いておいてアレですが、似た様な記事がsymfonyで開発日記にすでに書いてありましたので、詳しくはこちらをご覧下さい…。

【例えばこんな風に使います】

以前書いた、sfCssTabsのコードを利用して実験してみます。
sfCssTabsPluginの使い方、ctSite.ymlの書き方については以前触れましたので、そちらをご覧下さい。

sfCssTabsの子タブを大量生産

tab_img
この様に子タブを10個表示したい場合、上記のポイントをふまえてphpコードを埋め込むことによって、ctSite.ymlへの記述はたったこれだけで済むわけです。


  # Configuration of the sub Tabs
  subTabs:
  <?php for( $i = 1; $i <= 10; $i++ ): ?>_
    - label:          '子タブ<?php echo $i; ?>'
      module:      'question'
      action:        'list'
      linkOptions: {}
      parentTab:   'questions'
  <?php endfor; ?>_

 ※’_'は半角スペースを表しています!

じゃじゃーん。
簡単ですね〜。助かりますね〜。

色々と(というほどでもないですが)実験した結果、シングルクォート内のphpコードの閉じタグの直後には、半角スペースは必要ない様です。上記のコードで言えば、label の部分ですね。
とは言え、半角スペースを入れたところで動作は何も変わらず、子タブ名に半角スペースが表示されるだけのようですので、さほど気にする必要も無いかと思いますが。

しかし、上記のコードでは、子タブのリンク先URLが全て同じなため、子タブを10個も表示する意味が全くありませんね…。
ということで、次回はそれぞれの子タブのリンク先に異なるパラメータを渡す方法について触れたいと思います!

1 件のコメント so far »

  1. by スタートアップ研修記 » symfony sfCssTabsPlugin リンク先にパラメータを渡す, on 10.28.08 @ 5:39 PM

     

    [...] 前回のyamlファイルの回で次回予告をしてしまった流れもありつつ、今回はsfCssTabsのctSite.ymlを記述する際のポイントについて書きたいと思います。 [...]

Comment RSS · TrackBack URI

コメントをどうぞ

名前: (Required)

eMail: (Required)

Website:

Comment:

Spam Protection by WP-SpamFree