ビジネスシナリオ:
サードパーティのプラットフォームで WeChat の画像とテキストを実装する場合、ajax を使用してページにさらに多くの画像とテキストを読み込む場合、データ形式とデータの構造を組み立てる必要があります。データ構造が変わると変更が難しくなるため、将来データ構造が変更された場合は、twig テンプレートを使用してデータを組み立てます。小枝テンプレートに渡される数値を変更し、小枝のデータ構造を変更するだけです。
**プロジェクトで使用されているフレームワーク:**symfony
twig:
<code> { <span>"base_resp"</span>: { <span>"ret"</span>:{{ baseResp<span>.ret</span> }}, <span>"err_msg"</span>:<span>"{{ baseResp.errMsg }}"</span> }, <span>"app_msg_info"</span>: { <span>"item"</span>: [ {% if weixinNewses is not empty %} {% for weixinNews <span>in</span> weixinNewses %} { <span>"seq"</span>:{{ weixinNews<span>.id</span> }}, <span>"app_id"</span>:{{ weixinNews<span>.id</span> }}, <span>"file_id"</span>:{{ weixinNews<span>.id</span> }}, <span>"title"</span>:<span>"{{ weixinNews.title }}"</span>, <span>"digest"</span>:<span>"{{ weixinNews.digest }}"</span>, <span>"create_time"</span>:<span>"{{ weixinNews.createdTime|datetimeToSecond }}"</span>, <span>"multi_item"</span>: [ { <span>"seq"</span>:{{ weixinNews<span>.id</span> }}, <span>"cover"</span>:<span>"{{ weixinNews.thumbMediaUrl }}"</span> …… } ], <span>"content_url"</span>:<span>"{{ weixinNews.detailUrl }}"</span>, <span>"img_url"</span>:<span>"{{ weixinNews.thumbMediaUrl }}"</span>, <span>"author"</span>:<span>"{{ weixinNews.author }}"</span>, <span>"show_cover_pic"</span>:<span>1</span>, <span>"update_time"</span>:<span>"{{ weixinNews.updatedTime|datetimeToSecond }}"</span> }, {% endfor %} {<span>#这里要有{}#}</span> {} {% endif %} ], <span>"file_cnt"</span>: { <span>"total"</span>:{{ fileCnt<span>.total</span> }}, <span>"img_cnt"</span>:{{ fileCnt<span>.imgCnt</span> }} …… }, <span>"is_upload_cdn_ok"</span>:{{ appMsgInfo<span>.isUploadCdnOK</span> }}, <span>"search_cnt"</span>:{{ appMsgInfo<span>.searchCnt</span> }} } }</code>
action:
<code><span>/** * 加载更多图文 *<span> @Template</span>() *<span> @param</span> Request $request *<span> @Route</span>("/xxx,name="xxx") *<span> @return</span> array */</span><span>public</span><span><span>function</span><span>getWeixinNewsesHtmlAction</span><span>(Request <span>$request</span>)</span>{</span><span>$weixinNewses</span>=xxx;<span>//微信图文信息</span><span>$baseResp</span> = <span>array</span>(<span>"ret"</span>=><span>$ret</span>,<span>"errMsg"</span>=><span>$errMsg</span>); <span>$fileCnt</span> = <span>array</span>( <span>"total"</span>=><span>$count</span>, <span>"imgCnt"</span>=><span>0</span>, <span>"voiceCnt"</span>=><span>0</span>, <span>"videoCnt"</span>=><span>0</span>, <span>"appMsgCnt"</span>=><span>$count</span>, <span>"commondityMsgCnt"</span>=><span>0</span>, <span>"videoMsgCnt"</span>=><span>0</span>, <span>"shortVideoCnt"</span>=><span>0</span>, <span>"appMsgSentCnt"</span>=><span>0</span> ); <span>$appMsgInfo</span> = <span>array</span>(<span>"isUploadCdnOK"</span>=><span>0</span>, <span>"searchCnt"</span>=><span>empty</span>(<span>$query</span>)?<span>0</span>:<span>$count</span> ); <span>return</span><span>array</span>((<span>"baseResp"</span>=><span>$baseResp</span>,<span>"fileCnt"</span>=><span>$fileCnt</span>,<span>"weixinNewses"</span>=><span>$weixinNewses</span>,<span>"appMsgInfo"</span>=><span>$appMsgInfo</span>)); }</code>
著作権表示: この記事はブロガーによるオリジナル記事であり、ブロガーの許可なく複製することはできません。
上記では、twig を使用してデータを組み立て、データ構造を視覚化する方法を内容も含めて紹介しました。PHP チュートリアルに興味のある友人の参考になれば幸いです。