| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> PHP知识库 -> 2021年PHP最新面试题(一) -> 正文阅读 |
|
[PHP知识库]2021年PHP最新面试题(一) |
1.什么是mvcs模式 ? ? MVCS 提供一种将你的应用程序分离到提供特定功能的无关联的层的很自然的方法。 view 层处理用户交互。 model 层处理用户创建的或从外部获取的数据。 controller 提供一种封装各层之间复杂交互的机制。 最后, service 层提供一种和外界(比如远程服务 API 或文件系统)交互的独立机制。 2.php有哪些设计模式? ? 策略模式:将一组特定的行为和算法封装成类,以适应某些特定的上下文环境,针对男性女性用? ? 户要各自跳转到不同的商品类目,并且所有的广告位展示不同的广告? 单例模式:单例模式生成一个对象后, 该对象可以被其它众多对象所使用,使某个类的对象仅允? ? ?许创建一个。构造函数private修饰,申明一个static getInstance方法,在该方法里创建该对象的实例。如果该实例已经存在,则不创建。比如只需要创建一个数据库连接。 工厂模式:工厂方法或者类生成对象,而不是在代码中直接new。使用工厂模式,可以避免当改变某个类的名字或者方法之后,在调用这个类的所有的代码中都修改它的名字或者参数。 注册模式:解决全局共享和交换对象。已经创建好的对象,挂在到某个全局可以使用的数组上,在需要使用的时候,直接从该数组上获取即可。将对象注册到全局的树上。任何地方直接去访问。 适配器模式:将各种截然不同的函数接口封装成统一的API。?PHP中的数据库MySQL,MySQLi,PDO三种,可以用适配器模式统一成一致,使?不同的数据库操作,统一成一样的API。类似的场景还有cache适配器,可以将memcache,redis,file,apc等不同的缓存函数,统一成一致。? 3.什么是面向对象?主要特征是什么? ? ? ??面向对象是程序的一种设计方式,它利于提高程序的重用性,使程序结构更加清晰。主要特征:封装、继承、多态。 4.?SESSION 与 COOKIE的区别是什么,请从协议,产生的原因与作用说明? 1、http无状态协议,不能区分用户是否是从同一个网站上来的,同一个用户请求不同的页面不能? 看做是同一个用户。 5.请说明 PHP 中传值与传引用的区别。什么时候传值什么时候传引用? 按值传递:函数范围内对值的任何改变在函数外部都会被忽略 6.TP的特性有哪些? 1).多表查询非常方便,在model中几句代码就可以完成对多表的关联操作 7.laravel有那些特点? 回答一: 1).强大的rest router:用简单的回调函数就可以调用,快速绑定controller和router 回答二: laravel框架引入了门面,依赖注入,Ioc模式,以及各种各样的设计模式等 8.TP框架和Laravel框架的区别 1、提交数据的方式 Laravel在提交表单时需要在表单中加入{csrf_field}来防止跨域攻击,而TP不会。 2、路由 Laravel必须先定义,再使用,路由文件为routes.php;TP在配置文件中开启路由后,路由格式是:'路由表达式' => '路由地址和参数'(使用路由的前提是URL支持phthinfo并且开启路由),路由可以使URL更符合SEO。 3、渲染模版方式 在Laravel框架里,使用return view()来渲染模版;而ThinkPHP里则使用了$this->display()的方式渲染模版。 4、操作数据库方式 都可以使用实例化(建立相对应的模型类)和DB:table('表名')来操作数据库,使用原生查询时不太相同,Laravel使用Db::操作('原生sql'),TP使用Db::query('原生sql')。 5、条件判断语句书写方式 Laravel框架里 if else判断语句和foreach语句 书写时必须以@if开头 以@endif结尾,如果没有则报语法错误,@foreach @endforeach同理。 而TP框架则和PHP语法规则使用方式一致直接ifesle语句判断和foreach循环遍历 6、中间件,Laravel特点,可以实现访问前后的处理,例如请求和返回,权限认证等; 7、Laravel升级十分简易,而TP大版本的升级要重构代码。 9.tp5和tp6区别 目录结构异同 10.redis 和 memache 缓存的区别 1)、存储方式: 11.redis数据类型和使用方法 Redis主要有5种数据类型,包括String,List,Set,Zset,Hash,满足大部分的使用要求 常用方法 设置值 :set key 获取值:get key? ?获取长度strlen? 头部插入值lpush 尾部插入rpush ? ?移除?第一个 lpop 移除最后一个rpop? 获取指定元素linex("key",0)? 12.Get与post两种方式 1. Get从服务器获取数据,post向服务器传送数据
① echo和print都可以做输出,不同的是,echo不是函数,没有返回值,而print是一个函数有返回值,所以相对而言如果只是输出echo会更快,而print_r通常用于打印变量的相关信息,通常在调试中使用。 14.抽象类和接口的概念以及区别? 抽象类:它是一种特殊的,不能被实例化的类,只能作为其他类的父类使用。使用abstract关键字声明。 15.什么是构造函数,什么是析构函数,作用是什么? 构造函数(方法)是对象创建完成后第一个被对象自动调用的方法。它存在于每个声明的类中,是一个特殊的成员方法。作用是执行一些初始化的任务。Php中使用 16.$this和self、parent这三个关键词分别代表什么?在哪些场合下使用?
17.双引号和单引号的区别 双引号解释变量,单引号不解释变量 双引号里插入单引号,其中单引号里如果有变量的话,变量解释 双引号的变量名后面必须要有一个非数字、字母、下划线的特殊字符,或者用{}讲变量括起来,否则会将变量名后面的部分当做一个整体,引起语法错误 双引号解释转义字符,单引号不解释转义字符,但是解释’\和\ 能使单引号字符尽量使用单引号,单引号的效率比双引号要高(因为双引号要先遍历一遍,判断里面有没有变量,然后再进行操作,而单引号则不需要判断) 18.PHP 中传值与传引用的区别。什么时候传值什么时候传引用? 按值传递:函数范围内对值的任何改变在函数外部都会被忽略 19.linux常用命令 查看目录pwd? 创建文件touch? 创建目录mkdir? 删除文件rm? 删除目录rmdir 移动改名文件 mc? ?查询目录find? ? 修改权限chmod? 压缩包 tar? 安装 yum install 修改文件vi? 查看进程ps? ?停止进程kill? ?定时任务crontab? 20.语句include和require的区别是什么?为避免多次包含同一文件,可用什么语句代替它们? 区别: |
|
PHP知识库 最新文章 |
Laravel 下实现 Google 2fa 验证 |
UUCTF WP |
DASCTF10月 web |
XAMPP任意命令执行提升权限漏洞(CVE-2020- |
[GYCTF2020]Easyphp |
iwebsec靶场 代码执行关卡通关笔记 |
多个线程同步执行,多个线程依次执行,多个 |
php 没事记录下常用方法 (TP5.1) |
php之jwt |
2021-09-18 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年2日历 | -2025/2/27 1:59:33- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |