
PHP
文章平均质量分 84
普通网友
这个作者很懒,什么都没留下…
展开
-
20道PHP基础面试题 带你巩固一波地基(附答案)
1、什么事面向对象?主要特征是什么?面向对象是程序的一种设计方式,它利于提高程序的重用性,使程序结构更加清晰。主要特征:封装、继承、多态。2、SESSION 与 COOKIE的区别是什么,请从协议,产生的原因与作用说明?http无状态协议,不能区分用户是否是从同一个网站上来的,同一个用户请求不同的页面不能看做是同一个用户。SESSION存储在服务器端,COOKIE保存在客户端。Session比较安全,cookie用某些手段可以修改,不安全。Session依赖于cookie进行传递。禁用cookie原创 2021-05-14 20:18:36 · 1406 阅读 · 0 评论 -
关于 PHP 8.1 的 Fiber RFC
最新的 PHP 8.1 增加了一个 Fiber 的提案,最近讨论的比较多。有不少好事者拿来说事儿,说是 “Fiber 进入内核之后,Swoole 的使用者就大幅减少“实际上 Fiber 扩展进入内核后,由于它是一个非常底层的 API ,并不是直接可以使用的技术,不会对 Swoole 产生影响。真正和 Swoole 竞争的是应该是 Amphp 、ReactPHP 。Fiber 反而对 Swoole 是有好处的,PHP 内核开发者维护了协程切换的全局状态列表,Swoole PHPCoroutine 这部分的代原创 2021-05-12 21:08:09 · 2829 阅读 · 7 评论 -
PHP运行原理和机制
虽然说 PHP 学起来相对简单,但是要精通也不是一件简单的事,我们除了要知道怎么使用之外,还得知道它的工作原理。PHP 是一种适用于 Web 开发的脚本语言,可以将它看做是一个用C语言实现的包含大量组件的软件框架。了解 PHP 的底层实现,有助于我们更好的运用它,优化我们程序的性能,从而实现更加强大的功能1) Zend 引擎(核心)Zend 引擎整体用C语言实现,是 PHP 的内核部分,它负责将 PHP 代码翻译(词法、语法解析等一系列编译过程)为可执行的 opcode 操作码,并实现相应的处理方法原创 2021-05-11 20:45:59 · 1524 阅读 · 23 评论 -
从原理分析PHP性能
从原理分析PHP性能从原理分析PHP的性能,主要从以下几个方面:内存管理、变量、函数、运行机制、网络模型来进行分析。2.1内存管理类似Nginx的内存管理方式,PHP在内部也是基于内存池,并且引入内存池的生命周期概念。在内存池方面,PHP对PHP脚本和扩展的所有内存相关操作都进行了托管。对大内存和小内存的管理采用了不同的实现方式和优化。在内存分配和回收的生命周期内,PHP采用一次初始化申请+动态扩容+内存标识回收机制,并且在每次请求结束后直接对内存池进行重新mask。2.2变量总所周知,PHP是一原创 2021-05-10 20:18:46 · 716 阅读 · 4 评论 -
分享一波腾讯PHP面试题
1.php 的垃圾回收机制PHP 可以自动进行内存管理,清除不需要的对象。PHP 使用了引用计数 (reference counting) GC 机制。每个对象都内含一个引用计数器 refcount,每个 reference 连接到对象,计数器加 1。当 reference 离开生存空间或被设为 NULL,计数器减 1。当某个对象的引用计数器为零时,PHP 知道你将不再需要使用这个对象,释放其所占的内存空间。2. session 与 cookie 的区别和联系区别:1.存放位置:Session 保原创 2021-04-27 21:02:15 · 874 阅读 · 9 评论 -
11个提问频率最高的PHP面试题
1.请用最简单的语言告诉我PHP是什么?回答:PHP全称:Hypertext Preprocessor,是一种用来开发动态网站的服务器脚本语言。2.什么是MVC?回答:MVC由Model(模型), View(视图)和Controller(控制器)组成,PHP MVC可以更高效地管理好3个不同层的PHP代码。Model:数据信息存取层。View:view层负责将应用的数据以特定的方式展现在界面上。Controller:通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。3.问题:在原创 2021-04-26 20:25:41 · 229 阅读 · 0 评论 -
php该怎么入门?
不仅是PHP,学习任何编程语言,我觉得,都要浅尝辄止。什么意思呢?就是说,分阶段学习。这个方面,我非常推荐一个在线教程网站:菜鸟教程。菜鸟教程PHP学习第一步可以先学这一部分。划线的部分,可以直接跳过,后面再说。第二步学会php如何嵌入页面,学会页面如何和php进行数据交互。第三步了解更高级的php知识,记住,不要强行理解。能跟着案例做实验的,就做实验,不能的就跳过。第四步数据库操作,这是后端必知必会的,也了解下。第五步到了这一步,开始写案例!写案例!写案例!不要再往深处原创 2021-04-24 20:02:15 · 248 阅读 · 2 评论 -
一个高级PHP工程师所应该具备的
初次接触PHP,就为他的美所折服,于是一发不可收拾。很多面试,很多人员能力要求都有“PHP高级工程师的字眼”,如果您真心喜欢PHP,并且您刚起步,那么我简单说说一个PHP高级工程师所应该具备的,希望给初级或已经达到中级的PHP工程师一些帮助。平静的心态和所有程序员一样,要写一手好的程序,没有好的心态是不行的。遇事不可急躁,不可轻言放弃。在程序开发过程中,尤其是初中级程序员,写出的程序或架构会遇到很多问题,其中一些问题比较弱智,而有些问题根本没有碰到过,于是不可太过急躁,应该逐个排查问题的最初源泉,原创 2021-04-23 20:35:29 · 251 阅读 · 0 评论 -
PHP 8.1 新特性
PHP 8.1目前正在积极开发中,可能会在2021年11月末左右发布。我们已经了解了一些函数,更改和不赞成使用的内容,因此让我们逐一介绍它们。New features与每个版本一样,PHP 8.1添加了一些不错的新函数。请记住,该列表将在一年中增长。我还将列出尚未实现的函数,但是很有可能最终使用该语言。我将确保始终标记这些函数。用字符串键解包数组 RFCPHP 7.4 中已经允许数组拆包,但它仅适用于数字键。之前不支持字符串键的原因是因为关于如何合并数组重复项没有任何共识。 RFC通过遵循 arr原创 2021-04-21 17:03:17 · 1273 阅读 · 3 评论 -
2020PHP面试题大全【数据库部分】
常见的关系型数据库管理系统产品有?答:Oracle、SQL Server、MySQL、Sybase、DB2、Access等。SQL语言包括哪几部分?每部分都有哪些操作关键字?答:SQL语言包括数据定义(DDL)、数据操纵(DML),数据控制(DCL)和数据查询(DQL)四个部分。数据定义:Create Table,Alter Table,Drop Table, Craete/Drop Index等数据操纵:Select ,insert,update,delete,数据控制:grant,revok原创 2021-04-20 15:51:33 · 203 阅读 · 0 评论 -
PHP语言到底还能活多久?
一句话,全球80%的WEB项目都是用PHP来开发的,你是想赶快学会这项目能真实满足大量市场项目的技能呢?你还是沉浸于每天比比叨的消极讨论呢?我想说,事实求是一些,语言只是工具,项目有需求,岗位有需要,我等为何不赶快学会它,难道生存不比瞎逼叨更重要吗?多学习一门语言,多掌握一门开发技能,多满足一个项目需求,让自己更强大,难道有问题吗?为什么全球80%的WEB项目闲的没事干却用PHP来开发呢,原因很简单:简单、实用、快捷、强大、包容、免费等等优点,是其他语言在这方面没有的优点。当然我没有说PHP没有缺点,原创 2021-04-19 20:42:55 · 509 阅读 · 0 评论 -
2021PHP面试题大全【面向对象部分】
1、什么是面向对象?(理解着回答)面向对象是一种思想,是基于面向过程而言的,就是说面向对象是将功能等通过对象来实现,将功能封装进对象之中,让对象去实现具体的细节。面向对象有三大特征:封装性、继承性、多态性。现在纯正的OO语言主要是 Java 和 C#,PHP、C++也支持OO,C是面向过程的。2、简述 private、 protected、 public修饰符的访问权限。private : 私有成员, 在类的内部才可以访问。protected : 保护成员,该类内部和继承类中可以访问。publ原创 2021-04-17 19:38:18 · 379 阅读 · 0 评论 -
这份PHP面试题,我只挑重点,且很详细
基础篇一.Get 和 POST 的区别表单提交中get和post方式的区别有5点1.get是从服务器上获取数据,post是向服务器传送数据。2.get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTPpost机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。3.对于get方式,服务器端用Request.QueryString获取变量的值,对于p原创 2021-04-16 19:33:49 · 362 阅读 · 0 评论 -
PHP核心技术面试题,跳槽必备!
1 oop是什么?答:oop是面向对象编程,面向对象编程是一种计算机编程架构,OOP 的一条基本原则是计算机程序是由单个能够起到子程序作用的单元或对象组合而成。OOP具有三大特点1、封装性:也称为信息隐藏,就是将一个类的使用和实现分开,只保留部分接口和方法与外部联系,或者说只公开了一些供开发人员使用的方法。于是开发人员只 需要关注这个类如何使用,而不用去关心其具体的实现过程,这样就能实现MVC分工合作,也能有效避免程序间相互依赖,实现代码模块间松藕合。2、继承性:就是子类自动继承其父级类中的属性和方原创 2021-04-15 20:57:36 · 267 阅读 · 0 评论 -
【PHP】用了这么久的Laravel框架,你分析过核心架构了没
Laravel最初的设计是为了面向MVC架构的,它可以满足如事件处理、用户身份验证等各种需求。另外它还有一个由管理数据库强力支持,用于管理模块化和可扩展性代码的软件包管理器。Laravel以其简洁、优雅的特性赢得了大家的广泛关注,无论是专家还是新手,在开发PHP项目的时候,都会第一时间的想到Laravel。本文我们将分析一下laravel框架的核心架构。主要包含的内容有:容器、应用框架、内核、契约、入口文件、服务提供者、路由、门面。laravel框架的架构模式(设计核心,laravel 框架是使用服务原创 2021-04-14 22:03:26 · 333 阅读 · 3 评论 -
面试官问PHP四大主流框架的优缺点,看这篇就够了!
本篇文章我们来讲讲PHP四大框架的优缺点都有哪些,让你们在开发中更好的去选择使用哪款PHP框架去完成项目,废话不多说,我们一起来看看吧!!ThinkPHPThinkPHP(FCS)是一个轻量级的中型框架,是从Java的Struts结构移植过来的中文PHP开发框架。它使用面向对象的开发结构和MVC模式,并且模拟实现了Struts的标签库,各方面都比较人性化,熟悉J2EE的开发人员相对比较容易上手,适合php框架初学者。 ThinkPHP的宗旨是简化开发、提高效率、易于扩展,其在对数据库的支持方面已经包括M原创 2021-04-14 13:52:59 · 241 阅读 · 0 评论 -
教你如何选择PHP框架!
PHP被广泛应用于重大的项目。例如Facebook就是使用PHP来维护和创建它们的内部系统的。WordPress使用PHP来驱动它的内部构件,得到的回报是超过59%的网站都在使用WordPress作为内容管理系统。目前,有82%的网站,它们的服务器端使用的编程语言就是 PHP。本文将介绍三种最流行的PHP框架:Symfony、Laravel和Yii。将通过三种框架的比较,帮助你选择哪种框架有可能最符合你的需求。为什么要选择PHP框架?为什么要使用框架而不是原生PHP来开发你的应用程序?下面是使用框架的原创 2021-04-13 13:58:33 · 282 阅读 · 0 评论 -
随着微服务(服务化)的盛行,php不会越来越衰颓,swoole撑起php的另一片天
随着微服务(服务化)的盛行,php不会越来越衰颓,swoole撑起php的另一片天现在的PHPer,已经有很多人都从渲染模板的工作中解脱出来了,得益于前端的快速发展、以及前后端分离的理念普及。微服务的发展,更是如虎添翼,在良好的微服务架构中,服务本身可以由多种语言进行编写,涉及业务逻辑变化较大的服务,舍PHP其谁Swoole的发展和完善,也促成了大量PHPer的自我提升,突破PHP原有的多种限制,当你有应用场景,自然还能感受到协程的魅力。首先说一下对swoole的理解:PHP样貌下的C程序。很多PH原创 2021-04-12 16:40:09 · 192 阅读 · 0 评论 -
30道2020年腾讯PHP面试题整理(附带答案)
PHP开发工程师笔试试卷姓名:***一、PHP开发部分1.合并两个数组有几种方式,试比较它们的异同答:1)array_merge()2)’+’3)array_merge_recursivearray_merge 简单的合并数组array_merge_recursive 合并两个数组,如果数组中有完全一样的数据,将它们递归合并array_combine 和 ‘+’ :合并两个数组,前者的值作为新数组的键2.请写一个函数来检查用户提交的数据是否为整数(不区分数据类型,可以为二进制、八进制、原创 2020-09-18 21:04:38 · 1706 阅读 · 3 评论 -
一个月面试近20家大中小厂,最后成功上岸
记录一下最近碰到的比较盲点的面试题。公司都不算大,所以只挑出一些技术性比较强的问题做记录。PHP 基础相关:PHP 编译的过程?对 opcode 有没有了解?从 opcode 的角度出发,能否优化一下 php 的速度?PHP 变量底层是如何实现的?Nginx 与 php-fpm 的通信过程?Nginx 监听端口和 socket 方式,有何区别? php-fpm 是怎么调用 PHP 代码的?PHP 是如何连接 MySQL 的?连接池是如何实现的?谈下 PHP 和 Golang原创 2020-09-18 15:43:31 · 1118 阅读 · 4 评论 -
PHP面试:你连常见的查找算法都不知道?!
预警在本篇文章中,将为各位老铁介绍不同的搜索算法以及它们的复杂度。因为力求通俗易懂,所以篇幅可能较长,大伙可以先Mark下来,每天抽时间看一点理解一点。本文配套的Github,欢迎各位老铁star,会一直更新的。开篇和排序类似,搜索或者叫做查找,也是平时我们使用最多的算法之一。无论我们搜索数据库还是文件,实际上都在使用某种搜索算法来定位想要查找的数据。线性查找执行搜索的最常见的方法是将每个项目与我们正在寻找的数据进行比较,这就是线性搜索或顺序搜索。它是执行搜索的最基本的方式。如果列表中有n项。在最原创 2020-09-10 20:55:57 · 304 阅读 · 0 评论 -
三分钟学会 php 使用 swoole 的方法
php Swoole的基本使用项目中使用的PHP,但由于长耗时的任务,前端提交以后,需要服务端异步响应。服务器异步有多种方案,包括MQ,fsocket,Swoole等。Swoole 使用纯 C 语言编写,提供了 PHP 语言的异步多线程服务器,异步 TCP/UDP 网络客户端,异步 MySQL,异步 Redis,数据库连接池,AsyncTask,消息队列,毫秒定时器,异步文件读写,异步DNS查询。 Swoole内置了Http/WebSocket服务器端/客户端、Http2.0服务器端。最重要的是,完原创 2020-08-25 20:53:01 · 976 阅读 · 0 评论 -
PHP8新特性之JIT
PHP8 alpha1已经在6月25日发布,其中包含了不少的新特性,当然我自己认为最重要的还是JIT,相信关于JIT是大家最关心的,它到底怎么用,有什么要注意的,以及性能提升到底咋样?今天我们就来扒扒JIT。JIT :Just In Time, 一种编译器策略,将代码在运行时转换为依赖于体系结构的机器码,并即时执行。JIT 的好处:目前已经很难通过常规手段提升 PHP 的性能,JIT 基本上是目前性能提升的唯一手段;JIT 带来的性能提升可以让 PHP 在更多使用场景( CPU 密集)中发挥作原创 2020-07-07 17:27:22 · 790 阅读 · 0 评论 -
教你如何选择PHP框架!
PHP是世界上最受欢迎的编程语言之—。最近发布的PHP7令这种服务器的编程语言比以前变得更好,更稳定了。PHP被广泛应用于重大的项目。例如Facebook就是使用PHP来维护和创建它们的内部系统的。WordPress使用PHP来驱动它的内部构件,得到的回报是超过59%的网站都在使用WordPress作为内容管理系统。目前,有82%的网站,它们的服务器端使用的编程语言就是 PHP。本文将介绍三种最流行的PHP框架:Symfony、Laravel和Yii。将通过三种框架的比较,帮助你选择哪种框架有可能最符合原创 2020-07-06 15:34:13 · 787 阅读 · 0 评论