這樣找代碼的思路對嗎?

來源:互聯網
上載者:User
下面這句話出自discuz程式,應該怎麼理解呢?
$recommendgroups = array();
if($_G['forum']['status'] != 3 && helper_access::check_module('group')) {
loadcache('forumrecommend');
$recommendgroups = $_G['cache']['forumrecommend'][$_G['fid']];
}

if($recommendgroups) {
if(empty($_G['cookie']['collapse']) || strpos($_G['cookie']['collapse'], 'recommendgroups_'.$_G['fid']) === FALSE) {
$collapse['recommendgroups'] = '';
$collapseimg['recommendgroups'] = 'collapsed_no.gif';
} else {
$collapse['recommendgroups'] = 'display: none';
$collapseimg['recommendgroups'] = 'collapsed_yes.gif';
}
}

我的痛點是不理解這個二維數組是怎麼來的$_G['forum']['status']


回複討論(解決方案)

html頁面有一個loop迴圈
顯然這個 html 是模板了,因為 php 和 js 都沒有 loop 迴圈
不過常見的模板引擎似乎也沒有 loop 迴圈
你還是貼出標記吧

$_G['cache']['forumrecommend'][$_G['fid']]
我主要是不理解這個多維陣列,它是啥意思呢

找到根目錄下,forum.php
裡面有個方法,loadforum();
該方法在/source/function/function_forum.php
方法中的:$forum = C::t('forum_forum')->fetch_info_by_fid($fid);,就是擷取板塊的設定
方法中有:$_G['forum'] = &$forum;,所以$_G['forum']['status']有值

loadcache('forumrecommend');
在pre_common_syscache中找到cname等於forumrecommend的快取資料(位元據),放入$_G['cache']中
$_G['cache']['forumrecommend']是版主推薦的資訊,對應的表pre_forum_forumrecommend 版主推薦表
$_G['fid']就是當前的板塊id

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.