PHP

PHP MySQL 数据库简介

我们可以通过PHP操作数据库。在学习PHP需要哪些准备?这一节我们就通过宝塔已经准备好了LNMP环境,其中M指的就是MySQL。读者如果不熟悉MySQL的一些基本知识可以跳转MySQL教程自行学习。熟悉数据库的读者可以往这里看了。这里我将演示通过PHP PDO(php database object)来操作我们的数据库(PDO面向对象操作,简单容易上手)。PDO可以理解为一个PHP内置

PHP 连接MySQL详解

本节我们将详细介绍如何通过PHP连接我们的数据库。总的来说,我们有三种方法来连接我们的数据库。下面我们通过一张表格来总览一下具体有哪些方法:方式特点PHP版本推荐度PDO支持多种数据库、防SQL注入、面向对象PHP 5.1+最推荐MySQLi只支持MySQL、性能较好PHP 5.0+推荐mysql扩展已废弃,不要使用PHP 5.5废弃不要用我们主要讨论PDO(php database object

PHP 创建MySQL数据库详解

本节主要介绍如何通过PDO和MySQLi来创建数据库:1. PDO:分两步走,第一步是连接数据库,第二步是通过exec()类内方法来创建数据库。我们先认识exec()这个PDO的方法:exec() 是用来执行不返回结果集的SQL语句的方法,返回受影响的行数。特性说明用途执行不返回数据的SQL适合CREATE, INSERT, UPDATE, DELETE, ALTER, D

​PHP iterable伪类型详解

1. 在PHP中,什么是 iterable?iterable 是 PHP 7.1 引入的一个伪类型,用于在参数、返回值类型声明中表示“任何可以使用 foreach 循环遍历的值”。它包括数组和实现了 Traversable 接口的对象。虽然数组也属于 iterable,但 iterable 不一定是数组,因此不能直接使用数组专用函数。在只需要遍历的场景下,使用 iterable 类型声明比 arr

PHP OOP static静态方法详解

我们知道,如果一个类没有实例化对象,我们是不能调用其实例方法的。不过,我们可以通过static关键字声明静态方法,这些方法属于类本身,不需要实例化就能访问。1. 什么是静态方法?静态方法是使用static关键字声明的方法,它属于类本身而不是类的任何实例。静态方法可以直接通过类名调用,无需创建对象实例。2. 如何定义静态方法?在类中使用static关键字声明:<?phpclass

PHP OOP抽象类详解

在PHP里,什么是抽象类?抽象类指的是不能被直接实例化的类,它专门用作其他类的基类,用于定义抽象方法(抽象方法指的是通过abstract修饰的方法)和具体方法(有实现的方法)。抽象类必须用abstract来修饰!值得注意的是,如果一个类至少有一个抽象方法,那么这个类就是抽象类。比如我们准备一个抽象类People,由于每个人学习、放松、运动、恋爱的方法不同,所以我们可以抽象出四个方法。因为是抽象方法

PHP(5.4+) OOP trait:高效的代码复用机制

什么是PHPtrait?在PHP中,trait是一种代码复用机制,它用于解决 PHP 单继承的限制,我们可以理解为"代码片段",能够被多个类复用,是一种水平代码复用的方式。为什么会有PHPtrait?PHP 5.4之前,一直都是单继承方式。比如我们有一个父类Base,一个子类Son,子类通过extends继承父类,通过PHP描述为:<?php&nb

PHP OOP static静态属性详解

我们知道,如果一个类没有实例化对象,我们是不能调用其实例属性的。不过,我们可以通过static关键字声明静态属性,这些属性属于类本身,不需要实例化就能访问。1. 什么是静态属性?静态属性是使用static关键字声明的属性,它属于类本身而不是类的任何实例。所有类的实例共享同一个静态属性。如何定义静态属性?2. 在类中使用static关键字声明:<?phpclassDo

PHP OOP命名空间(Namespace)详解

在PHP中,什么是命名空间?情景:大型项目往往会出现函数、变量、常量等元素重名现象,为了解决这些问题,我们要么就小心翼翼地遵守命名规范;要么就划分命名空间,通过引入不同空间的变量实现重名元素的引用。使用命名空间的好处在于它能有效避免了命名冲突、提高代码可读性。简单理解,命名空间是PHP中用来封装和组织代码的一种方式。1. 如何定义命名空间呢?我们可以使用namespace关键字来声明命名空间,比如

PHP OOP接口详解

什么是PHP接口?在PHP中,接口是一种特殊的抽象类,它定义了一个契约,规定实现类必须遵循的方法。与抽象类不同,接口中的所有方法都是抽象的(PHP 8.0后允许存在默认方法实现)。接口既然是特殊的抽象类,那就有特殊的写法,接口和抽象类的区别主要体现在:1. 接口不同于抽象类通过"abstract class"来声明,而是通过关键字“interface”来声明。2. 接口要求所有方法都具有publi