>백엔드 개발 >PHP 튜토리얼 >나뭇가지를 사용하여 데이터를 조합하고 데이터 구조를 시각화합니다.

나뭇가지를 사용하여 데이터를 조합하고 데이터 구조를 시각화합니다.

WBOY
WBOY원래의
2016-08-08 09:19:451433검색

비즈니스 시나리오:
제3자 플랫폼은 WeChat 이미지와 텍스트를 구현합니다. ajax를 사용하여 페이지에 더 많은 이미지와 텍스트를 로드하는 경우 대량의 JSON 데이터를 조합해야 합니다. 데이터 형식이 코드에 기록되면 데이터 구조가 생성되지 않습니다. 충분히 명확해야 합니다. 데이터 구조가 변경되면 변경이 더 어려워지므로 데이터 구조를 명확하게 표시하려면 나뭇가지 템플릿을 사용하세요. 나뭇가지 템플릿에 전달된 숫자를 수정하고 나뭇가지의 데이터 구조를 수정해야 합니다.
**프로젝트에 사용된 프레임워크: **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>

저작권: 이 글 블로그입니다. 이 글은 원본 기사이므로 해당 블로거의 허가 없이 복제할 수 없습니다.

위 내용은 내용의 측면을 포함하여 데이터 구조를 시각화하기 위해 데이터를 조립하는 나뭇가지의 사용을 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:PHP에서 쿠키 구현다음 기사:PHP에서 쿠키 구현