Heim >Backend-Entwicklung >PHP-Tutorial >Verwenden Sie Twig, um Daten zusammenzustellen und Datenstrukturen zu visualisieren

Verwenden Sie Twig, um Daten zusammenzustellen und Datenstrukturen zu visualisieren

WBOY
WBOYOriginal
2016-08-08 09:19:451431Durchsuche

Geschäftsszenario:
Eine Plattform eines Drittanbieters implementiert WeChat-Grafiken und -Texte, um mehr Grafiken und Texte auf die Seite zu laden. Wenn das Datenformat in den Code geschrieben wird, ist dies nicht der Fall Seien Sie klar genug. Wenn sich die Datenstruktur ändert, ist dies schwieriger. Verwenden Sie daher eine Twig-Vorlage, um die Datenstruktur in Zukunft klar sichtbar zu machen Sie müssen die an die Twig-Vorlage übergebene Nummer und die Datenstruktur von Twig ändern.
**Im Projekt verwendetes Framework: **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>

Aktion:

<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>

Urheberrechtserklärung: Dieser Artikel ist ein Blog. Dies ist ein Originalartikel und darf nicht ohne die Erlaubnis des Bloggers reproduziert werden.

Das Obige stellt die Verwendung von Twig zum Zusammenstellen von Daten zur Visualisierung der Datenstruktur vor, einschließlich Aspekten des Inhalts. Ich hoffe, dass es für Freunde hilfreich sein wird, die sich für PHP-Tutorials interessieren.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn