久久内射,爱上碰,国产xj一区免费,快播日韩久久久

我們的使命

助力跨境賣家高效建立全球銷售網(wǎng)絡(luò)

喜報2021年我司獲《江蘇省國家高新技術(shù)企業(yè)》認定

分類目錄

文章標簽

熱門推薦

相關(guān)咨訊

opencart前臺編輯,magento控制器

2022-09-16 10:05:48 - 米境通跨境電商

    

    用了一年的Opencart,總覺得要記下點什么。一方面檢驗一下自己對這個開源程序的理解程度,另一方面是作個筆記,以備不時之需!

    1.MVCL

    MVC算是老生常談了,opencart里多了一個語言層L,在目錄里看起來是這樣的:

    opencart

    |--admin

    |--catalog

    |----controller

    |----language

    |----model

    |----view

    |--image

    |--system

    |--index.php

    opencart是網(wǎng)站根目錄,catalog前臺,system核心文件。這樣的結(jié)構(gòu)目錄看起來一目了然

    2.注冊樹模式

    opencart的核心架構(gòu)運用的是注冊樹模式,registry.php

    finalclassRegistry{

    private$data=array();

    publicfunctionget($key){

    return(isset($this->data[$key])?$this->data[$key]:null);

    }

    publicfunctionset($key,$value){

    $this->data[$key]=$value;

    }

    publicfunctionhas($key){

    returnisset($this->data[$key]);

    }

    }

    入口文件index.php中則這樣:

    //Registry

    $registry=newRegistry();

    //Loader

    $loader=newLoader($registry);

    $registry->set('load',$loader);

    把所有核心文件的實例都保存在Registry對象中,其結(jié)果就是Registry對象像一顆巨大的樹,包含了所有控制結(jié)構(gòu)的對象,然后,

    在控制器中加載語言包這樣的:

    1$this->load->language('checkout/cart');

    加載模型是這樣的:

    $this->load->model('catalog/product');

    接收表單參數(shù)這樣的:

    $this->request->post['quantity']

    加載配置文件:

    $this->config->get('config_template')

    加載模版:

    $this->load->view('default/template/error/not_found.tpl',$data)

    這樣的好處是我們在處理業(yè)務(wù)邏輯的時候可以以這樣的方法調(diào)用任意模版、模型、配置文件、第三方類庫等。雖然看起來這樣加載顯得冗余,且大多數(shù)時候也確實不需要這么多的類庫,但是opencart的核心文件非常小巧,這樣的設(shè)計我覺得還是比較高效的。

    3.前端控制器(FrontController)、路由和輸出

    3.1在控制器目錄controller/common中有兩個特殊的控制器類maintenance.php和seo_url.php每次有url請求時在入口處都是先加載這兩個類,這兩個類的2個作用:

    a.劫取每次請求的url并重新處理,當然也可以不處理url,具體在配置文件中配置

    b.類似鉤子,配合接下來的路由選擇分發(fā)

    3.2路由

    a.front.php負責分發(fā)(dispatch),并用maintenance.php或seo_url.php去調(diào)用action.php類

    b.action.php獲取當前請求的url,實例化并執(zhí)行

    3.3輸出

    a.打開緩沖區(qū),把當前控制器的$data變量和對應(yīng)的模版全部輸出,并保存在Response.php類的私有變量$output中

    publicfunctionview($template,$data=array()){

    $file=DIR_TEMPLATE.$template;

    if(file_exists($file)){

    extract($data);

    ob_start();

    require($file);

    $output=ob_get_contents();

    ob_end_clean();

    return$output;

    }else{

    trigger_error('Error:Couldnotloadtemplate'.$file.'!');

    exit();

    }

    }

    publicfunctionsetOutput($output){

    $this->output=$output;

    }

    b.入口文件最后一句,$response->output();輸出
    聯(lián)系我們
  • 24H客服
  • 聯(lián)系電話:16651690460(龍經(jīng)理)
  • 微信咨詢:
南京天遙路聯(lián)網(wǎng)絡(luò)科技有限公司,版權(quán)所有 Copyright By ?米境通ERP4.0,2015-2025,蘇ICP備:蘇ICP備15044100號-4, 蘇公網(wǎng)安備:32011402011043
久久r最新视频| 亚洲一区无码在线视频| 日韩网页在线| 超碰超碰超碰88| 国产亚洲人成网站在线观看| 看一区二区黄片| 超碰在线人人| 操碰久久91| 色开心播播网| 国产手机在线国内精品| 色偷偷色噜噜色| www.色av| 午夜久久久久久| 亚洲r片视频在线观看| 久久99热精品免费观看| 国产精品无码久久综合| 久久精品三级影院| 特a级免费毛片| 男人天堂成人在线| 涩爱av520com| 精品一二三区久久AAA片| a级动态视频| 久久久无码精品亚洲日韩蜜桃| 久久久久久禁| 国产在线视频二区| 密桃人妻| 黄色片网站麻豆| 一级毛片av| 曰韩人妻毛茸茸偷拍| 神马久久久| 日本成熟XXXXX| 妓女网站| 久久日韩精品一区二区五区| 东京热影音先锋中文| 日本αV网| 欧美日韩一区二区三区人妻| 无码国产AAA毛片| 久久无码精品国产大片黄| 可以看的AV网站| 日韩专区 中文字幕| 肥美的熟妇耸动白浆|