【小(xiǎo)編推薦】zencart常量解釋

2014-07-05   | ∏¶Ω®;  發布者:梁國(guó)芳  &nσβbsp;|   查看(kàn):3320次

php
 zencart系統裡(lǐ)面使用(yòng)的(de)常量有(yǒu)兩種類型,一<∞"(yī)種是(shì)文(wén)件(jiàn)定義的(de)常量,另一<↓(yī)種是(shì)數(shù)據庫裡(lǐ)面♥₹φ定義的(de)常量。

文(wén)件(jiàn)定義的(de)常量是(πβ≈shì)固定,而數(shù)據庫裡(lǐ)面定義的(de)常量是( ‌∑shì)可(kě)以動态改變的(de)。這(zh∑γ™è)是(shì)他(tā)們的(de)區(qū)别之一(yī)。


當我們在開(kāi)發中遇到(dào)一(yī)些(xε$™♣iē)常量,如(rú)果不(bù)知(zhī)道(dào)©↕他(tā)具體(tǐ)什(shén)麽意思,也(yě)不(bù)知(€λzhī)道(dào)他(tā)具體(tǐ)在什(shén)麽位置,那(nà™↑←")我們可(kě)以查詢整個(gè)網站(zhàφ∞$n)的(de)文(wén)件(jiàn),這♥Ω$×(zhè)個(gè)查詢可(kě)以借助IDE來(÷&•lái)查詢,個(gè)人(rén)建議(yì)使用(yòng) ​ phpeclipse,因為(wèi)他(tā)不(bù)僅π♣ 可(kě)以查詢還(hái)有(yǒu)代碼提示功能(néng),這(zh↕≠₹è)個(gè)功能(néng)很(hěn)方便,它可(kě)以大(dà)大("→dà)的(de)加快(kuài)我們開(kāi)發的(de)進度。


說(shuō)到(dào)這(zhè)個(gè)常量的(de)定義我們都(dō&&u)很(hěn)清楚了(le),特别是(shì)÷λ 文(wén)件(jiàn)中定義的(de)常量,我們隻有✔εα®(yǒu)define()一(yī)下(xià)就(jiù)可(¥✔↕kě)以了(le)。而數(shù)據庫中定義的(de)常量是(shì)∏®可(kě)以動态改變他(tā)的(de)值。呵呵‌£呵...“動态的(de)常量”,說(shuō)起來(¶×φlái)有(yǒu)點矛盾。那(nà)麽₹≤這(zhè)個(gè)“動态常量&rα&dquo;是(shì)怎麽定義的(de)呢(ne)?具體(tǐ)看(kà≥÷<n)看(kàn)他(tā)所在文(wén)件(jiàn)includ₹ε≥λesinit_includesinit_db_ ☆↓✘config_read.php 中的(de)定義吧(ba),代碼如(r ©ú)下(xià):

$use_cache = (isset($_GET['nocache‍>']) ? false : true ) ;$configuratioβ©¶n = $db->Execute('selec↕☆t configuration_key as cfgkey↑ , configuration_value as cfgv♦§alue from ' . TABLE_CONFIGURATION, '', ​★ε$use_cache, 150); &nb↑÷<≤sp;while (!$configuration->EOF) {&nσ‍ ♦bsp;  /** * dynamic define ba↓↕£sed on info read from DB  $;*/  define(strtoupper( ∞≥$configuration->fields['cfgkey']),βδ $configuration->fields['cfgvalue'™♦]);///定義數(shù)據庫常量 ÷α‍↑; $configuration->MoveNext();}$c↔ε× onfiguration = $db->Execut¥÷→★e('select configuration_×Ω§key as cfgkey, configuratio≈↓π n_value as cfgvalue f•Ω♦rom ' . TABLE_PRODUCT_TYPE ↓•₩_LAYOUT);while (!$configuratiεσπon->EOF) {  /**&nb>δsp;* dynamic define based♣π on info read from DB * $σ'@ignore */  define(strtou♦♥β←pper($configuration->fie£≈lds['cfgkey']), $configuration ♣γπ->fields['cfgvalue']'€);//定義數(shù)據庫常量  $configu×→"ration->movenext();}

這(zhè)個(gè)文(wén)件(jiàn)是(shì)在初始化(huà)的(de)時(shí)候執行(xíng)了(le),所÷♦φ以在系統裡(lǐ)面可(kě)以直接使用(y₹₽≈→òng)數(shù)據庫裡(lǐ)面的(de)≥♣∞常量來(lái)取得(de)他(tā)的(de)值。比如(r<•ú)STORE_NAME。 
如(rú)果以後開(kāi)發中發現(xiàn)在文(wén)件(jiàn)中± 找不(bù)到(dào)某一(yī)個(gè)常量的(de) €₹話(huà),可(kě)以去(qù)後台--工(gōng)具--開(kāi)↔♣★♦發工(gōng)具,裡(lǐ)面使用(yσ©©òng)常量查詢功能(néng),其實他(tā)就(↕≠★jiù)是(shì)查詢 
CONFIGURATION 和(hé) ★©♥PRODUCT_TYPE_LAYOUT 這(zhè)兩個(gè)表。  ₹©>;