Php知识点-TP

1、ThinkPHP的特性有哪些?

(1)采用容器统一管理对象;

(2)支持facade;

(3)更易用的路由;

(4)注解路由支持;

(5)路由跨域请求支持;

(6)验证类增强;

(7)配置和路由目录独立;

(8)取消系统常量;

(9)类库别名机制等等。

2、PHP框架简述什么是单一入口和多入口以及优缺点?

单一入口:用一个文件处理所有的HTTP请求

可以进行集中的安全性检查,减轻维护其他功能代码的难度,如果不是单一入口,那么开发者就必须记得在每一个文件的开始加上安全性检查代码

程序的url看起来不美观,特别是对搜索引擎来说很不友好

多入口:每一次HTTP请求都存在一一对应的php文件

维护难度大但url美观

3、ThinkPHP中的MVC分层是什么?

模型(Model)、视图(View)、控制器(Controller)

4、如何理解ThinkPHP架构(核心+行为+驱动(CBD)) ?

核心:ThinkPHP的核心代码,MVC构架等

行为:ThinkPHP框架自带的一些方法、预留的一些拓展位置等

驱动:ThinkPHP已构建好的数据库驱动、缓存驱动、标签库驱动、模板引擎驱动等等,以及一些外置拓展;在开发过程中,可以直接使用它的这些驱动,简单高效。

  1. ThinkPHP如何防止SQL注入?

过滤用户输入使用参数化查询使用 ORM 工具更新 ThinkPHP 版本

6、ThinkPHP 如何开启调试模式?调试模式有什么好处?

主入口文件中加入define(“APP_DEBUG”,TRUE);

以除错方便优先,而且在异常的时候可以显示尽可能多的信息

7、ThinkPHP中支持哪些配置模式?优先级是怎样的?

惯例配置->应用配置->场景配置->扩展配置->模块配置->动态配置

8、ThinkPHP中URL模式支持哪几种?

ThinkPHP支持4中URL模式,通过URL_MODEL参数进行配置修改,默认为PATHINFO模式,配置值0,1,2,3依次是:普通模式、PATHINFO模式、REWRITE模式和兼容模式

9、ThinkPHP中M方法和D方法的区别 ?

M方法 用于高效实例化一个基础模型类,而 D方法 用于实例化一个用户定义模型类。

10、简述ThinkPHP 什么是惯例配置?

核心框架内置的配置文件,无需更改

  1. 简述ThinkPHP函数详解之M方法和R方法 ?

M方法用于实例化一个基础模型类

R方法用于调用某个控制器的操作方法,是A方法的进一步增强和补充

https://www.php.cn/faq/384160.html

12、简述ThinkPHP中session()方法?

用法:session(name,value=’’)

name(必须):如果传入数组 则表示进行session初始化,如果传入null表示清空当前session,如果是字符串则表示session赋值、获取或者操作。


Value(可选):要设置的session值,如果传入null表示删除session,默认为空字符串

  1. 简述ThinkPHP公共配置文件与各自项目中配置文件组合的方法 ?
    使用配置文件的特性return array();

可以在各自项目中的配置文件中这样定义:
复制代码 代码如下:
$config = array(‘‘=>‘‘,);
然后使用函数
复制代码 代码如下:
return array_merge(include‘./conf/config.php‘,$config);
这样就可以在最根目录下面使用公共的配置文件

14、ThinkPHP:create()方法有什么用呢?

可以对POST提交的数据进行处理

可以对表单进行令牌验证,防止表单重复提交

可以对数据自动验证,前提是你必须手动在Model文件夹中建立一个UserModel.class.php文件

可以对字段自动赋值,前提还是必须手动在Model文件夹中建立一个UserModel.class.php文件

15、Thinkphp5框架下如何实现生成一个二维码?

16、Thinkphp5.1控制器初始化函数initialize与构造函数__construct区别

调用时机不同:__construct是在控制器实例化的时候首先被调用,而initialize是在控制器的_initialize方法调用之后才被调用。

调用顺序不同:如果控制器中同时定义了__constructinitialize方法,则__construct会先于initialize被调用。

17、简述ThinkPHP5 的特性 ?

惰性加载

支持composer

遵守PSR-2、PSR-4规范

支持单元测试

安全机制,详细的日志能帮你轻轻松松的做到问题定位;

减少核心依赖,扩展更灵活,方便,支持

出色的性能和REST支持,远程调试,更好的支持

路由,配置和自动加载的缓存机制。

自动化模块部署

命令行访问支持

18、简述ThinkPHP 模型如何更新数据 ?

用模型静态方法:update

用模型直接调用Db类方法

模型的save()方法:

19、ThinkPHP自动完成中使用函数与回调方法 ?

使用函数function填充时,表示填充的内容是一个函数返回值,这个函数可以是PHP内置函数或用户自定义函数

使用方法 callback 填充时,表示填充的内容是一个当前 Model 的方法返回

备注:在ThinkPHP中,自动完成通常使用autoComplete方法实现,它可以接受一个闭包函数作为回调方法

namespace app\index\model;

use think\Model;

 

class User extends Model

{

    // 用户密码自动完成

    public function autoComplete()

    {

        return [

            'password' => function($value){

                // 对密码进行加密处理

                return md5($value);

            },

            // 自动完成创建时间和更新时间

            'create_time' => function(){

                return time();

            },

            'update_time' => function(){

                return time();

            },

        ];

    }

}

20、简述ThinkPHP中使用ajax接收json数据的方法 ?

1前端发送Ajax请求,将数据以JSON格式发送至服务器。

2在ThinkPHP后端创建对应的控制器和方法来接收这些数据。

3在ThinkPHP控制器方法中,使用input()函数获取POST过来的JSON数据。

4对接收到的JSON数据进行处理,并返回相应的响应。

21、简述 ThinkPHP、Yii、CodeIgniter、Laravel的优缺点?

TP:

易于上手,有丰富的中文文档

学习成本低,社区活跃度高

框架的兼容性较强

适合用于中小项目的开发

对ajax的支持不是很好

目录结构混乱,需要花时间整理

上手容易,但深入学习较难

Laravel:

简单易用

文档详细

强大ORM

资源文件管理

集成复杂

速度较慢

学习曲线陡峭

Yii

高效性

安全性

简单易用

数据库灵活

国内文献较少

文档不完备

支持度比较低

CodeIgniter

简单易用

扩展性

文档全面

过度灵活导致代码很容易变得混乱

开发对像:CodeIgniter适合程序开发者,但不一定适合新手

性能瓶颈

22、简要介绍ThinkPHP6的特点?

采用PHP7强类型(严格模式)

支持更多的PSR规范

多应用支持

ORM组件独立

改进的中间件机制

更强大和易用的查询

全新的事件系统

支持容器invoke回调

模板引擎组件独立

内部功能中间件化

SESSION机制改进

缓存及日志支持多通道

引入Filesystem组件

对Swoole以及协程支持改进

对IDE更加友好

统一和精简大量用法

23、简述ThinkPHP6的缓存机制 ?

提供了多种缓存类型,包括文件缓存、Memcached、Redis、数据库缓存等

24、简述ThinkPHP框架和Laravel框架区别 ?

渲染模版方式的不同:Laravel使用return view()来渲染模版,TP使用$this->display()的方式渲染模版

Laravel是一个重路由的框架,TP必须要有控制器方法才能正常访问

laravel具有强大的社区化扩展,强大的Blade模版引擎

中间件,Laravel特点,可以实现访问前后的处理,例如请求和返回,权限认证

条件判断语句书写方式存在差异

加密方式:TP使用md5();Laravel框架中内置了"哈希"Hash加密单向加密方法

25、简述ThinkPHP路由模式?

普通模式:关闭路由,完全使用默认的PATH_INFO方式URL

混合模式:开启路由,并使用路由定义+默认PATH_INFO方式的混合

强制模式:开启路由,并设置必须定义路由才能访问

ThinkPHP官方手册

26、如何使用Composer安装使用ThinkPHP6.0框架 ?

composer create-project topthink/think

安装完成之后,打开安装目录,我们可以看到有一个名字为think的文件,我们在命令提示符中用php运行php think run,以看见它给我们提供了一个网址:127.0.0.1:8000 ,在浏览器中运行,就可以看见如下界面。此时我们的thinkPHP就下载安装好了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值