<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      介紹:Zend Framework如何創(chuàng)建視圖(一)

      在Zend Framework中創(chuàng)建視圖(view)主要有兩種方法:

      a、通過在index.php文件中為Zend_Controller_Front實例對象添加VeiwRenderer參數(shù),并將其設(shè)置為true,如下圖。

      indexJPG

       

      b、通過在index.php文件中為Zend_Controller_Front實例對象添加noVeiwRenderer參數(shù),并將其設(shè)置為true,在Controller中進行創(chuàng)建。

      本文主要是了解第一種情況下視圖(view)是被如何創(chuàng)建的。

      開始執(zhí)行程序:

      1.程序會先調(diào)用Zend_Controller_Front實例對象的dispatch方法,該方法會去判斷Zend_Controller_Front實例對象中是否將ViewRenderer設(shè)置為true,在動作經(jīng)紀助手中是否存在viewRenderer這個助手,如果ViewRenderer被設(shè)置為true并且動作經(jīng)紀助手中不存在viewRenderer,那么將創(chuàng)建一個試圖解析(ViewRenderer)助手,將默認值設(shè)為-80。

      2.進入Zend_Controller_Action_HelperBroker_PriorityStack對象的offsetSet方法,會去判斷傳進來的動作助手(此刻為Zend_Controller_Action_Helper_ViewRenderer)是否屬于抽象類Zend_Controller_Action_Helper_Abstract的子類,然后判斷一個由助手名稱為key構(gòu)建的字典($_helpersByNameRef)中是否存在該動作助手的名字,如果存在將從$_helpersByNameRef和_helpersByPriority兩個字典中刪除該數(shù)據(jù)項。在去判斷另一個傳參——-80是否已經(jīng)作為key存在于$_helpersByPriority中,如果存在系統(tǒng)將重新為該優(yōu)先值賦值——遍歷整個$_helpersByPriority的key集合,存在就將該傳參+1,然后將+1后的值再一次扔進遍歷總重新判斷,直到$_helpersByPriority中不存在該key值。例如,-80存在了,那么回去判斷-79是否存在,不存在的話,將-79作為_helpersByPriority中的key,動作助手作為value存入數(shù)據(jù)字典中。最后$_helpersByPriority需要遵循一個后進先出原則(LIFO),通過krsort函數(shù)將($_helperByPriority)重新排序,退出offsetSet方法。

      3.回到先前的dispatch方法中,得到或?qū)嵗痳equest、response、router和dispatcher對象。然后通過dispatcher(Zend_Controller_Dipatcher_Stanard)對象的dispatch方法去處理每個Controller和Action,由于每個Controller對象都繼承Zend_Controller_Action類,在Zend_Controller_Action初始化過程中又會創(chuàng)建Zend_Controller_Action_HelperBroker對象,該對象在初始化過程中又將循環(huán)靜態(tài)變量$_stack,該靜態(tài)變量就是Zend_Controller_Action_HelperBroker_PriorityStack對象的一個實例,然后執(zhí)行每個存在$_helperByPriority字典中的助手對象的init方法,此刻ViewRenderer已經(jīng)存在該字典中,所以ViewRenderer的init方法,該方法將初始化視圖(view)。

      其實,如果我們在第1步中,未能通過那個條件判斷(noViewRenderer為true或viewRenderer已經(jīng)存在)那么將跳過第2步,在第3步中如果存在viewRenderer助手,那么創(chuàng)建view;如果不存在那么就不會創(chuàng)建view,所有的view講需要開發(fā)人員手動創(chuàng)建。

      posted @ 2009-12-07 14:34  Miser  閱讀(1708)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 色秀网在线观看视频免费| 狠狠干| 成人欧美日韩一区二区三区| 亚洲a人片在线观看网址| 亚洲a成人片在线观看| 久久综合九色综合久桃花| 男女爽爽无遮挡午夜视频| 亚洲av午夜成人片| 亚洲国产精品人人做人人爱| 久草热久草热线频97精品| 日韩高清在线亚洲专区不卡| 精品国产AV无码一区二区三区| 国产精品日韩av在线播放| 免费无遮挡无码永久在线观看视频| 亚洲综合一区二区三区在线| 国产精品美女乱子伦高| 亚洲国产精品午夜福利| 丰满少妇在线观看网站| 久热色视频精品在线观看| 亚洲精品成人区在线观看| 欧美色欧美亚洲高清在线视频| 久久精品国产一区二区三区| 亚洲人成网站色7799| 亚洲一二区在线视频播放| 暖暖 在线 日本 免费 中文| 亚洲乱熟女一区二区三区| 人妻丰满熟妇无码区免费| 午夜大片免费男女爽爽影院 | 亚洲精品一区二区在线播| 镶黄旗| 黑巨人与欧美精品一区| 久久精品免费观看国产| 国产中年熟女高潮大集合| 国产97视频人人做人人爱| 91福利一区福利二区| 国产成人亚洲综合91精品| 中文字幕第55页一区| 国产精品午夜福利视频| 国产蜜臀一区二区三区四区| 中文字幕无码av不卡一区| 国产日产精品系列|