面试题之二次开发系统(DEDE、ecshop)
1.对二次开发的理解 二次开发,简单的说就是在现有的软件上进行定制修改,功能的扩展,然后达到自己想要的功能,一般来说都不会改变原有系统的内核。 2. MVC Model(模型)数据处理。 View(视图) 模板显示。 Controller(控制器) 控制流程。 MVC的概念是什么?各层主要做什么工作? MVC(即模型-视图-控制器)是一种软件设计模式或者说编程思想。 M指Model模型层,V是View视图层(显示层或者用户界面),C是Controller控制器层。 使用mvc的目的是实现M和V分离,从而使得一个程序可以轻松使用不同的用户界面。 在网站开发中, 模型层一般负责对数据库表信息进行增删改查, 视图层负责显示页面内容, 控制器层在M和V之间起到调节作用,控制器层决定调用哪个model类的哪个方法, 执行完毕后由控制器层决定将结果assign到哪个view层。 3.二次开发程序安装后访问时候出现一些警告以及错误 根据错误,来修改服务器配置参数以及百度 4. 功能,模板的更换,功能的添加修改 其实也就是面向对象的应用 用,以及模板的更换类似smarty的使用 5. 用过哪些二次开发的东西? Dedecms phpcms ecshop,基本这些的东西如果基础好了 学习起来都是没问题的。 6. 像php做一次开发好,还是二次开发好? 一般中小企业都用cms系统二次开发,都是为了效率。当然如果想一次开发也行,会用框架而且时间充足的话就可以了,大企业都是团队来开发的,杜绝版权问题。 7. 二次开发过程中很多类与类之间进行之间的方法访问,是通过什么方式传递的? 不是类继承而是对象组合,把实例化好的对象通过global传递进去 8. dedecms如果更换目录,后台某项就进不去了如何解决? 后台核心设置中修改成现在的 项目目录名称 9. dedecms中自定义模型的理解? 在织梦系统中有内容模型这个概念,不同内容模型可以用来构建不同内容形式的站点,在系统中自带了以下几种模型:普通文章、图集、软件、商品、分类信息、专题。通过系统自带的模型,我们可以用来构建不同类型的站点,例如:使用图集可以做一个图片站,用软件模型构建一个软件下载站点。 当然以上随系统附带的模型被称为系统模型,用户可以自己定义一些模型,比如图书、音乐专辑等,自定义了这些模型才可以构建更多内容形式的站点。 相当于我们自动添加了表结构,适应现在当前需求的变化 10. dede中概念,设计和使用模板,必须要理解下面几个概念 1、板块(封面)模板: 指网站主页或比较重要的栏目封面频道使用的模板,一般用“index_识别ID.htm”命名,此外,用户单独定义的单个页面或自定义标记,也可选是否支持板块模板标记,如果支持,系统会用板块模板标记引擎去解析后才输出内容或生成特定的文件。 2、列表模板: 指网站某个栏目的所有文章列表的模板,一般用 “list_识别ID.htm” 命名。 3、档案模板: 表示文档查看页的模板,如文章模板,一般用 “article_识别ID.htm” 命名。 4、其它模板: 一般系统常规包含的模板有:主页模板、搜索模板、RSS、JS编译功能模板等,此外用户也可以自定义一个模板创建为任意文件。 11. dede中几种标签的使用? 列表 内容 等标签 只能在其本范围内使用,列表标签只能在列表中使用,内容标签只能在内容标签中使用。 全局标签能在所有页面中使用 12.熟悉常用类库 (例如:dedesql.class.php);熟悉系统函数库(common.func.php);熟悉自定义函数库(extend.func.php);熟悉前台入口文件(common.inc.php)