zoukankan      html  css  js  c++  java
  • [译]PrestaShop开发者指南 第一篇 基础

    # 第一篇 基础

    PS(PrestaShop简称)一开始就设定了能够在它的基础上很简单的构建第三方模块的机制,让它成为一款具有极高定制性的电子商务软件。

    PS的可以在三个方面进行定制:

    * 主题
    * 模块
    * 系统功能重载

    默认情况下,PS已经内置了超过100个模块,官方的扩展站点上有超过2000个模块。

    ## 概念

    PS是用PHP技术以面向对象的方式开发的,你如果要开发模块的话,需要具备这方面的基础知识。

    模块是对PS进行以下方面的一种扩展:
    * 为PS提供额外功能
    * 在站点上查看额外项目
    * 与其他电子商务服务(购物指南、支付平台、物流等)进行通讯
    * 系统本身功能的重载,PS是完全面向对象的方式进行编码的,你可以在不修改原始代码的情况下,按你自己的需求替换或扩展核心功能

    ## PS的技术架构

    PS基于三层架构:

    * 数据对象 就是那些放在"classes"文件夹下的文件,对数据库的访问操作由它们控制
    * 数据控制 根目录下的那些文对用户提供的内容提供了访问入口
    * 设计 所有的主题文件放在"themes"文件夹

    这与MVC架构是同样的原理,并且是一种更简单、更易理解的方式。

    开发团队考虑到更佳的代码可读性,没有选择使用向Zend、Symfony或CakePHP这样的框架,因此可以进行更快速的编码工作。

    这样也得到了更高的性能、因为软件只由它需要的代码构成,也不用包含一堆的补充性的通用库。

    这种三层架构有很多优点:
    * 软件的代码更容易阅读
    * 开发者可以更快的添加和编辑代码
    * 前端设计师和切片人员可以完全在/themes文件范围内工作,而不必去理解系统原理甚至阅读一行PHP代码

    ## 模型

    模型代表了应用程序的行为:数据处理、数据库交互等等。它对被应用程序处理的数据进行声明、管理,并保证他的完整性。

    ## 视图

    视图就是用户交互的界面部分。它的首要作用是显示由模型提供的数据,其次处理用户的动作(鼠标点击、元素选择、按钮等)、并将这些事件发送给控制器。

    视图本身不进行任何数据处理,它仅仅显示模型的处理结果、和用户进行交互。

    ## 控制器

    控制器管理模型与视图之间的同步事件,有需要的话,同时进行更新。它接收所有的用户事件并出发相应动作来执行。

    动作如果要改变数据,控制器会“通知”模型去改变数据,然后模型会通知视图该数据发生了改变,以便视图进行相应更新。

    ## 数据库结构

    可以去下载一份PrestaShop 1.5 的[数据库结构一览表](http://doc.prestashop.com/download/attachments/9404440/pdw-1.5-20130605.pdf?version=1&modificationDate=1373965853000&api=v2),或者[MySQL Workbench的模型文件格式](http://doc.prestashop.com/download/attachments/9404440/pdm-1.5-20130605.mwb?version=1&modificationDate=1373965837000&api=v2)。

  • 相关阅读:
    Node Node
    二叉排序树的实现
    Matlab Tricks(十五) —— 圆的正确画法
    Matlab Tricks(十五) —— 圆的正确画法
    Matlab Tricks(十四) —— 句柄(handle)(图形对象属性的读取与修改)
    Matlab Tricks(十四) —— 句柄(handle)(图形对象属性的读取与修改)
    (机器学习/计算机视觉/深度学习)代码
    (机器学习/计算机视觉/深度学习)代码
    论文的发表流程、会议的组织流程
    论文的发表流程、会议的组织流程
  • 原文地址:https://www.cnblogs.com/x3d/p/prestashop-fundamentals.html
Copyright © 2011-2022 走看看