ZyBlog
码农老张
  • 首页
  • PHP文章
  • 存储运维
  • 项目产品
  • 路线图
PHP操作用户提交内容时需要注意的危险函数

对于我们的程序开发来说,用户的输入是解决安全性问题的第一大入口。为什么这么说呢?不管是SQL注入、XSS还是文件上传漏洞,全部都和用户提交的输入参数有关。今天我们不讲这些问题,我们主要探讨下面对用户的输入,有一些危险的函数在未经验证的情况下是不能直接使用这些函数来进行操作的

分类:PHP 标签:PHP基础
PHP大文件读取操作

简单的文件读取,一般我们会使用 file_get_contents() 这类方式来直接获取文件的内容。不过这种函数有个严重的问题是它会把文件一次性地加载到内存中,也就是说,它会受到内存的限制。因此,加载大文件的时候是绝对不能使用这种方式的。我们还是先看看这种方式加载的例子。

分类:PHP 标签:PHP基础,文件操作
彻底搞明白PHP的中引用的概念

之前我们其实已经有过几篇文章讲过引用方面的问题,这次我们来全面的梳理一下引用在PHP到底是怎么回事,它和C中的指针有什么不同,在使用的时候要注意些什么。什么是引用?在 PHP 中引用意味着用不同的名字访问同一个变量内容。它不是C的指针,保存的并不是内存地址,无法进行指针运算。

分类:PHP 标签:PHP基础
学习PHP生成器的使用

什么是生成器?听着高大上的名字,感觉像是创造什么东西的一个功能,实际上,生成器是一个用于迭代的迭代器。它提供了一种更容易的方式来实现简单的对象迭代,相比较定义类实现Iterator接口的方式,性能开销和复杂性大大降低。说了半天不如直接看看代码更直观。

分类:PHP 标签:PHP基础
在PHP中如何为匿名函数指定this?

在之前的文章中,我们已经学习过匿名函数的使用,没有看过的小伙伴可以进入传送门先去了解下闭包匿名函数的用法,传送:还不知道PHP有闭包?那你真OUT了。关于闭包匿名函数,在JS中有个很典型的问题就是要给它绑定一个 this 作用域。其实这个问题在PHP中也是存在的

分类:PHP 标签:PHP基础
变着花样来接参,PHP中接收外部参数的方式

对于PHP这样一个web语言来说,接参是非常重要的一个能力。毕竟从前端表单或异步请求传递上来的数据都要获取到才能进行正常的交互展示。当然,这也是所有能够进行web开发的语言的必备能力。今天我们就来看看PHP各种各样的接参形式。首先,我们要准备一个静态页面

分类:PHP 标签:PHP基础
一起搞懂PHP的错误和异常(二)

上回文章中我们讲到了错误是编译和语法运行时会出现的,它们与逻辑无关,是程序员在码代码时不应该出现的,也就是说,这些错误应该是尽量避免带到线上环境的,他们不能通过try…catch捕获到。而异常则正好相反。什么是异常?异常,指的是程序运行中出现的不符合预期的情况

分类:PHP 标签:PHP基础
一起搞懂PHP的错误和异常(三)

关于错误与异常的最后一篇文章,我们来进行一些总结。PHP中错误和异常的区别通过前面两篇文章的学习,我们来直接将错误和异常摆上来进行对比,看看他们的区别与联系:错误的出现通常是语法或编译运行时错误,是我们要避免的。而异常一般与业务逻辑有关,基本上是人为抛出,需要上层来处理

分类:PHP 标签:PHP基础
一起搞懂PHP的错误和异常(一)

在PHP的学习过程中,我们会接触到两个概念,一个是错误,一个是异常。啥玩意?他们不是一个东西嘛?如果接触过Java、C#之类的纯面向对象语言的同学,可能对异常是没有什么问题,毕竟所有的问题都可以try catch来解决。但是像PHP这种从面向过程发展到面向对象的语言来说,错误和异常就是两个完全不同的东西了。

分类:PHP 标签:PHP基础
PHP中使用DOMDocument来处理HTML、XML文档

PHP中使用DOMDocument来处理HTML、XML文档其实从PHP5开始,PHP就为我们提供了一个强大的解析和生成XML相关操作的类,也就是我们今天要讲的 DOMDocument 类。不过我估计大部分人在爬取网页时还是会喜欢用正则去解析网页内容

分类:PHP 标签:PHP基础
记一次PHP的Invalid binding type问题

记一次PHP的Invalid binding type问题首先说明下环境问题,新旧服务器的迁移。代码在老服务器运行没有任何问题。环境都是PHP7.3,结果新的服务器上流量导过来以后,就报出了如下问题:FastCGI sent in stderr: "PHP message: PHP Fat

分类:PHP 标签:PHP基础
后期静态绑定在PHP中的使用

什么叫后期静态绑定呢?其实我们在之前的文章PHP中的static中已经说过这个东西了。今天我们还是再次深入的理解一下这个概念。首先,我们通过一段代码来引入后期静态绑定这一概念

分类:PHP 标签:PHP基础
关于PHP的方法参数类型约束

在之前的文章PHP方法参数的那点事儿中,我们讲过关于PHP方法参数的一些小技巧。今天,我们带来的是更加深入的研究一下PHP中方法的参数类型。在PHP5之后,PHP正式引入了方法参数类型约束。也就是如果指定了方法参数的类型,那么传不同类型的参数将会导致错误。在PHP手册中

分类:PHP 标签:PHP基础
关于PHP中对象复制的那点事儿

我们已经在PHP设计模式之原型模式中讨论过关于PHP中对象复制的问题,这次就当做是一次复习。原型模式可以看作是对象复制中的一个重要内容。在学习原型模式时,我们了解到对象中的引用变量,也就是变量也是一个对象时,直接复制这个对象会导致其中的引用变量还是指向同一个对象。

分类:PHP 标签:PHP基础
use关键字在PHP中的几种用法

在学习了和使用了这么多年的PHP之后,您知道use这个关键字在PHP中都有哪些用法吗?今天我们就来看一下它的三种常见用法。1. 用于命名空间的别名引用

分类:PHP 标签:PHP基础
PHP中的对象比较

在之前的文章中,我们讲过PHP中比较数组的时候发生了什么?这次,我们来讲讲在对象比较的时候PHP是怎样进行比较的。首先,我们先根据PHP文档来定义对象比较的方式:同一个类的实例,比较属性大小,根据顺序,遇到不同的属性值后比较返回,后续的不会再比较不同类的实例

分类:PHP 标签:PHP基础
PHP中命名空间是怎样的存在?(二)

今天带来的依然是命名空间相关的内容,本身命名空间就是PHP中非常重要的一个特性。所以关于它的各种操作和使用还是非常复杂的,光使用方式就有很多种,我们一个一个的来看。子命名空间命名空间本身就像目录一样,所以命名空间当然也是可以定义子命名空间的,真的就和操作系统的各种目录层级是完全一样的。

分类:PHP 标签:PHP基础,命名空间
PHP中命名空间是怎样的存在?(三)

这是与命名空间有关的最后一篇。最后还是两个比较简单的内容,是关于命名空间和全局相关的一些类、函数、常量的使用对比。当然,最后我们还会总结一下命名空间的名称解析规则做为这三篇系列文章的结束。全局空间当文件中定义了命名空间,也就是namesapce指定了当前的命名空间后

分类: 标签:PHP基础,命名空间
静态成员在PHP中是怎么继承的?

静态成员,也就是用static修饰的变量或者方法,如果搞不清楚它们实现的原理,就很容易会出现一些错误。这次我们来研究的是在继承中静态成员的调用情况。首先来看这样一段代码

分类:PHP 标签:PHP基础
玩转PHP中的抽象类与接口

在面向对象开发中,特别是使用现代化框架的过程中,我们经常会和接口、抽象类打交道。特别是我们自己尝试去封装一些功能时,接口和抽象类往往会是我们开始的第一步,但你真的了解它们吗?抽象类定义抽象类的特点:顾名思义,它是抽象的,当然也就是不能被实例化的。

分类:PHP 标签:PHP基础
  • <<
  • ...
  • 23
  • 24
  • 25
  • ...
  • >>