PHP核心笔记

admin3天前it知识46

一、语言基础

1. 语法结构

  • 脚本标记:<?php ... ?>(标准)、<% ... %>(ASP兼容模式)

  • 指令分隔符:分号;(语句结束符)

  • 注释方式:

    • // 单行注释

    • # 单行注释(脚本模式)

    • /* ... */ 多行注释

2. 变量系统

  • 声明方式:$variable = value;(无需类型声明)

  • 命名规则:以字母/下划线开头,区分大小写

  • 七大类型:

    • 布尔值(Boolean)

    • 整数(Integer)

    • 字符串(String)

    • 浮点数(Float)

    • 数组(Array)

    • 对象(Object)

    • 资源(Resource)

3. 数据类型检测

is_bool($var); // 布尔值检测
is_string($var); // 字符串检测
is_array($var); // 数组检测
is_object($var); // 对象检测
is_numeric($var); // 数值检测

二、核心特性

1. 面向对象编程

  • 类定义:class ClassName { ... }

  • 对象创建:$obj = new ClassName;

  • 继承机制:extends ParentClass

  • 接口实现:implements InterfaceName

2. 异常处理

try {    // 可能抛出异常的代码} catch (Exception $e) {    echo "Error: " . $e->getMessage();}

3. 命名空间

namespace My\App\Namespace;use Another\Namespace\Classname;

三、数据库交互

1. PDO扩展

$pdo = new PDO('mysql:host=localhost;dbname=test', 'user', 'pwd');$stmt = $pdo->prepare("SELECT * FROM users WHERE id = :id");$stmt->execute(['id' => 1]);$user = $stmt->fetch(PDO::FETCH_ASSOC);

2. 预处理语句

$stmt = $pdo->prepare("INSERT INTO users (name, email) VALUES (?, ?)");$stmt->execute(['John', 'john@example.com']);

四、性能优化

1. 内存管理

  • 引用传递:&$var(避免大数据复制)

  • 垃圾回收:自动管理未引用资源

2. 缓存机制

  • OPcache:PHP内置字节码缓存

  • 数据缓存:Redis/Memcached集成

3. 代码优化

  • 避免在循环内创建新对象

  • 使用isset()替代empty()进行存在性检查

  • 批量操作代替循环插入

五、安全实践

1. 输入验证

// 使用filter_var进行验证$email = filter_var($_POST['email'], FILTER_VALIDATE_EMAIL);if (!$email) {    die("Invalid email address");}

2. SQL注入防护

  • 永远使用预处理语句

  • 避免动态拼接SQL

3. XSS防护

echo htmlspecialchars($user_input, ENT_QUOTES, 'UTF-8');

六、扩展开发

1. 扩展结构

extension/├── config.m4├── php_extension.h├── ext_module.c└── ...

2. Zend API

  • 内存管理:ZEND_MM_*系列宏

  • 类型系统:ZEND_PARSE_PARAMETERS_*

  • 返回值处理:RETURN_*

七、调试技巧

1. 错误报告

error_reporting(E_ALL & ~E_NOTICE);ini_set('display_errors', 1);

2. 调试工具

  • Xdebug:调试、性能分析

  • Blackfire:实时性能分析

  • PHPStan:静态分析

八、最佳实践

  1. 遵循PSR标准(PSR-1/PSR-2/PSR-4等)

  2. 使用Composer管理依赖

  3. 编写单元测试(PHPUnit)

  4. 实现自动化部署

  5. 监控系统性能(APM工具)


标签: 分享IT知识
返回列表

上一篇:Vue3 Diff算法核心优化实现

没有最新的文章了...

相关文章

优美程序是怎样的

程序优美是一个主观的概念,每个人可能会有不同的看法。然而,以下是一些可能导致程序优美的因素:简洁性:优美的程序应该尽可能地简洁明了。这意味着应该使用尽可能少的数据结构和算法,以及尽可能简单的代码。可读...

湖边

湖边,一片静谧的美好。清晨的阳光洒在湖面上,波光粼粼,让人心旷神怡。湖上的荷叶轻轻摇曳,荷花争奇斗艳,仿佛在向人们展示着它们的美丽。湖边的柳树依依,芦苇丛生,形成了一道道天然的屏障,让人感到一种隐秘的...

炎热的夏天

夏天是一个充满活力和热情的季节,炎热的的气息让人感到无力和疲惫。但是,这个季节也有着许多美好的回忆和乐趣,让我们一起来看看夏天的美好与炎热吧。首先,夏天的天气非常炎热,太阳高照,蓝天白云,气温高达30...

敏捷开发

敏捷开发是一种以人为核心、迭代、循序渐进的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。换言之,就是把一个大项目分为多个相互联系,但也可...

如何高效学习

努力和技巧的能力。以下是一些可以帮助你高效学习的方法:制定学习计划:制定一个清晰的学习计划,包括学习内容和时间表,有助于你更好地组织自己的学习并提高学习效率。创造良好的学习环境:在学习时,尽可能避免干...

双因素理论

双因素理论是美国心理学家弗雷德里克·赫兹伯格(Frederick·Herzberg)于20世纪50年代后期提出的,这一理论的研究重点是组织中的人与工作的关系问题。双因素理论包括保健因素和激励因素。保健...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。