加入收藏 | 设为首页 | 会员中心 | 我要投稿 广州站长网 (https://www.020zz.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 交互 > 正文

PHP面试题大全(值得收藏)

发布时间:2020-12-24 23:09:34 所属栏目:交互 来源:网络整理
导读:副标题#e# PHP进阶、面试;文档、视频资源点击免费获取 一 、PHP基础部分 1、PHP语言的一大优势是跨平台,什么是跨平台? PHP的运行环境最优搭配为Apache+MySQL+PHP,此运行环境可以在不同操作系统(例如windows、Linux等)上配置,不受操作系统的限制,所

调试模式的优势在于: 开启日志记录,任何错误信息和调试信息都会详细记录,便于调试; 关闭模板缓存,模板修改可以即时生效; 记录SQL日志,方便分析SQL; 关闭字段缓存,数据表字段修改不受缓存影响; 严格检查文件大小写(即使是Windows平台),帮助你提前发现Linux部署问题; 可以方便用于开发过程的不同阶段,包括开发、测试和演示等任何需要的情况,不同的应用模式可以配置独立的项目配置文件。

10、TP中支持哪些配置模式?优先级?

惯例配置->应用配置->模式配置->调试配置->状态配置->模块配置->扩展配置->动态配置

以上是配置文件的加载顺序,因为后面的配置会覆盖之前的同名配置(在没有生效的前提下),所以优先顺序从右到左。

11、TP中的URL模式有哪几种?默认是哪种?

ThinkPHP支持四种URL模式,可以通过设置URL_MODEL参数来定义,包括普通模式、PATHINFO、REWRITE和兼容模式。

默认模式为:PATHINFO模式,设置URL_MODEL 为1

12、TP中系统变量有哪些?如何获取系统变量?

(1)系统变量:SERVER、 _SERVER、

S

ERVER、_ENV、 $_POST、 $_GET、 REQUEST、 _REQUEST、

R

EQUEST、_SESSION和 $_COOKIE变量

(2)获取系统变量:

13、ThinkPHP框架中D函数与M函数的区别是什么?

M方法实例化模型无需用户为每个数据表定义模型类,D方法可以自动检测模型类,如果存在自定义的模型类,则实例化自定义模型类,如果不存在,则会自动调用M方法去实例化Model基类。同时对于已实例化过的模型,不会重复去实例化(单例模式)。

五、smarty模板引擎

1、编译和缓存区别?

smarty的编译过程就是把模板拿过来,把里面的标签替换成相应php代码,这就是smarty的编译, 其实就是php和html混合的过程

smarty的缓存需要手动开启,smarty的缓存就是把编译好的文件执行后,同时生成一份静态的html页面,再次访问的时候,你访问的就是是html文件了,所以就效率来说,要高一些。

2、什么是smarty? Smarty的优点是什么?

Smarty是一个使用PHP写出来的PHP模板引擎,目的是要使用PHP程序同美工分离,使的程序员改变程序的逻辑内容时不会影响到美工的页面设计,美工重新修改页面时不会影响到程序的程序逻辑,这在多人合作的项目中显的尤为重要。(也易于程序的多样式开发)

Smarty优点

(1)速度快:相对其他模板引擎。

(2) 编译型:采用smarty编写的程序在运行时要编译成一个非模板技术的PHP文件

(3)缓存技术:它可以将用户最终看到的HTML文件缓存成一个静态的HTML页

(4)插件技术:smarty可以自定义插件。

不适合使用smarty的地方

(1)需要实时更新的内容。例如像股票显示,它需要经常对数据进行更新

(2)小项目。小项目因为项目简单而美工与程序员兼于一人的项目

3、在模板中使用{$smarty}保留变量

在模板中访问php中的变量

5、变量调解器

2018PHP经典面试题大全汇总(更新)-PHP面试题

6、php查询mysql数据库时,查询中文结果时出现的乱码。怎么解决?

(1)文件meta(设置浏览器解析的时候)

(2)连接数据库时编码设定

(3)PHP文件中使用header函数确定编码

7、缓存机制

如果开启了缓存,smarty同时生成一份静态的html页面,如果在设定的时间没有过期,再次访问的时候,你访问的就是是html文件了,减少了读取数据库,所以就效率来说,要高一些。

8、smarty的赋值和载入模板

9、marty模板技术的用途是什么?

为了php与html分开,美工和程序员各司其职,互不干扰。

10、smarty配置主要有哪几项?

(1)引入smarty.class.php;

(2) 实例化smarty对象;

(3)重新修改默认的模板路径;

(4)重新修改默认的编译后文件的路径;

(5)重新修改默认的配置文件的路径;

(6)重新修改默认的cache的路径。

(7) 可以设置是否开启cache。

(8)可以设置左侧和右侧定界符。

11、smarty在使用过程中需要注意哪些细节?

Smarty是基于MVC概念的一种模板引擎,它将一个页面程序分成了两部分来实现:即视图层和控制层,

也就是说smarty技术将用户UI与php代码分离开。

这样程序员和美工各司其职,互不干扰。

12、smarty运用过程中要注意以下几个问题:

(1)正确配置smarty。主要要实例化smarty对象,配置smarty模板文件的路径;

(2)php页面中使用assign赋值 和display显示页面;

(3)smarty模板文件中不允许出现php代码段,所有的注释,变量,函数都要包含在定界符内。

六、二次开发系统(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中自定义模型的理解?

(编辑:广州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读