- 博客(109)
- 收藏
- 关注
原创 系列终章:学完再看——PHP+ThinkPHP快速原型复盘总结
从第一篇《启程:为何选择PHP?》到今天,已经过去半年了。这个系列最初的想法很简单:我一个写Java的,想学PHP,想把学习过程记下来,顺便给同样在小公司摸爬滚打的同行一点参考。没想到一路写了三十几篇,从环境搭建、语法基础、ThinkPHP核心,到撸出一个能跑能用的博客系统,再到最后部署上线。现在是系列最后一篇了。不写代码,不搭环境,就坐下来聊聊:这一路哪些地方顺风顺水,哪些地方踩了坑?Java(Spring Boot)和PHP(ThinkPHP)到底差在哪?用PHP做快速原型,到底行不行?
2026-02-27 11:30:00
665
原创 实战SimpleBlog(四):部署上线与项目收尾
前面三篇文章我们把 SimpleBlog 的代码全写完了:用户系统、博客管理、评论互动,该有的功能都有了。但代码写得再好,也只能在本地跑给自己看。别人访问不了,那这项目就等于零。所以这最后一篇文章,不写代码了,就干一件事:把项目部署到线上服务器,让任何人都能访问。
2026-02-25 11:30:00
1213
原创 实战SimpleBlog(三):评论互动与功能完善
上一篇文章我们把博客的增删改查跑通了,能发文章、能看列表、能管理自己的内容。但点“阅读全文”还是404,文章详情页还没做,无法查看全文。再有就是,博客没评论总觉得少了点啥。所以这一期就干两件事:补上文章详情页、加上评论功能。这期做完,SimpleBlog 就算真正闭环了:用户、文章、评论,一个轻量博客该有的都有了。
2026-02-21 11:30:00
1354
原创 实战SimpleBlog(二):博客发布与管理
上一篇文章我们把用户系统搭好了,能注册、能登录、能退出。但用户进来之后干嘛?啥也干不了。所以本篇文章就一个目标:让用户能写博客。具体三件事:发文章、看文章、管理文章。管理文章包括编辑和删除,核心原则就一条——只能动自己的,不能碰别人的。这期做完,SimpleBlog 就算真正“能用”了。
2026-02-16 11:30:00
1378
原创 实战SimpleBlog(一):项目初始化与用户系统搭建
学了这么久 PHP 和 ThinkPHP,是时候做点东西了。这是这个系列的最后一部分,目标很简单:把之前学的东西串起来,亲手做一个能跑起来的博客系统。
2026-02-13 19:00:00
1348
原创 ThinkPHP8学习篇(十六):错误调试与辅助组件
在构建健壮、可维护的Web应用时,除了核心的业务逻辑与数据交互,一套完善的辅助机制同样至关重要。ThinkPHP 为此提供了丰富的内置功能,涵盖从错误处理、日志记录到调试支持,以及缓存、会话、文件上传等常用组件。这些功能共同构成了应用稳定运行与高效开发的基础。本文作为 ThinkPHP 系列学习的收官篇章,将系统记录这些实用功能,重点学习异常与错误的处理机制、日志的记录与管理、调试方法,以及缓存、Session、Cookie、文件上传等核心组件的应用。掌握这些内容,将帮助我们打造出更加稳定、高效且功能完整的
2026-02-05 12:08:19
766
原创 ThinkPHP8学习篇(十五):验证
在Web应用开发中,数据验证是确保数据合法性、完整性与安全性的关键环节。ThinkPHP 内置的验证器组件提供了一套声明式、高可读的验证机制,能够将繁琐的数据校验逻辑封装为简洁的规则定义,有效提升代码的健壮性与开发效率。本文将集中学习验证器的核心用法,涵盖验证规则的定义与组合、错误信息的定制与获取、验证场景的灵活切换、验证分组的精细管理、路由中便捷的验证调用、丰富内置规则的选用,以及防范重复提交的表单令牌机制。掌握这些内容,将帮助我们为应用构建起简洁而可靠的数据验证层。
2026-01-17 12:26:27
885
原创 ThinkPHP8学习篇(十四):模板
在 ThinkPHP 的模板引擎中,标签系统提供了简洁而强大的语法,使开发者能够以更直观的方式处理视图逻辑与数据展示。合理使用模板标签不仅能提升开发效率,还能保持模板代码的整洁性与可读性。本文将系统学习模板引擎中常用的标签用法,包括变量输出、模板运算符的使用技巧、注释的规范写法、文件包含的方式以及条件判断、循环遍历等内置标签的应用。通过掌握这些核心标签,能够快速完成大部分模板开发需求。
2025-12-28 18:54:41
851
原创 ThinkPHP8学习篇(十三):视图
在MVC架构中,视图承担着数据展示与用户交互的核心职责,ThinkPHP 通过强大的模板引擎为视图层提供了简洁高效的解决方案。良好的视图设计能够实现业务逻辑与表现层的有效分离,提升代码可维护性与开发效率。本文作为视图主题的独立篇章,将系统学习模板变量的传递与显示、视图过滤的作用、模板渲染的方式。本篇文章将记录这些内容的学习过程。
2025-12-07 11:55:22
1136
原创 ThinkPHP8学习篇(十二):模型关联(二)
在掌握模型基础关联关系后,ThinkPHP 还提供了更灵活的关联方案来应对复杂业务场景。多态关联突破了传统关联的限制,预载入与统计查询则显著提升了关联数据的获取效率。本文作为模型关联系列的第二篇,同时也是模型主题的收官文章,将系统学习多态关联的实现逻辑、关联预载入的性能优化策略、关联统计的便捷应用,以及关联数据的输出。本篇文章将记录这些内容的学习过程。
2025-11-16 11:58:39
972
1
原创 ThinkPHP8学习篇(十一):模型关联(一)
在业务系统中,数据模型之间往往存在复杂的关联关系,ThinkPHP 的模型关联功能正是为此提供的一套优雅的ORM解决方案。通过定义模型间的关联,开发者能够以面向对象的方式便捷地处理跨表数据查询,极大简化了复杂数据关系的操作难度。本文作为模型关联系列文章的首篇,将系统学习一对一、一对多、多对多这三种基础关联关系,以及远程一对一等扩展关联的用法。本篇文章记录这些核心关联类型的学习过程。
2025-11-09 14:13:27
1297
原创 ThinkPHP8学习篇(十):模型(二)
在模型基础定义与CURD操作之上,ThinkPHP 模型还提供了多种高级特性,用于精细化控制数据流程与业务逻辑。这些特性通过优雅的封装,进一步简化开发复杂度,提升数据操作的安全性与可维护性。本文作为模型系列文章的第二篇,将系统学习获取器、修改器、搜索器的数据转换机制,数据集与只读字段的数据保护策略,软删除的场景应用,以及字段映射、类型转换、模型输出和模型事件等综合功能。本篇文章将记录这些高级特性使用的学习过程。
2025-10-26 11:19:01
803
原创 ThinkPHP8学习篇(九):模型(一)
在数据交互层中,模型作为业务数据与数据库表之间的映射桥梁,封装了数据的处理逻辑,使开发者能够脱离复杂的 SQL 语句,以面向对象的方式操作数据。模型的合理定义与字段设置是实现这一目标的基础,而基于模型的增删改查则是业务开发中最常使用的核心能力。所以本篇作为模型系列文章的第一篇,学习核心内容将集中在模型的创建与定义规则、模型字段的设置,以及如何通过模型完成基础的新增、查询、更新和删除操作上。本篇文章将记录 ThinkPHP 模型的基础定义与常用操作的学习过程。
2025-10-12 11:06:59
1012
原创 ThinkPHP8学习篇(八):数据库(四)
在数据库操作的完整链路中,除了基础查询与进阶查询能力外,查询事件的钩子机制、数据获取的格式化处理、事务操作的原子性保障以及数据集的高效处理,共同构成了数据库操作的闭环增强体系,是提升代码健壮性与开发效率的重要支撑。本篇作为数据库系列文章的最后一篇,学习核心内容将集中在查询事件的注册与触发机制、获取器对数据输出的格式化处理、事务操作的开启/提交/回滚流程、以及数据集的遍历与转换等实用功能上。本篇文章将记录 ThinkPHP 数据库操作中这些增强特性的学习过程。
2025-09-28 16:32:55
635
原创 ThinkPHP8学习篇(七):数据库(三)
在数据库操作环节,基础增删改查与简单条件查询已无法满足复杂业务需求,而聚合统计、分页展示、时间筛选、高级条件组合、子查询嵌套及原生SQL执行等能力,才是应对实际开发中多样数据处理场景的关键。本篇作为数据库系列文章的第三篇,学习核心内容将集中在聚合查询、分页查询的实现与参数配置、时间查询的常用方式、高级查询、子查询的构建与使用,以及原生查询的调用上。本篇文章将记录 ThinkPHP 数据库进阶查询能力的学习过程。
2025-09-21 13:21:24
906
原创 ThinkPHP8学习篇(六):数据库(二)
在数据库操作环节,查询表达式是描述查询条件的核心工具,而链式操作则为复杂查询逻辑的构建提供了流畅且高效的实现方式,二者共同构成了灵活处理数据查询需求的关键支撑。本篇作为数据库系列文章的第二篇,学习核心内容将集中在各类查询表达式(如比较、逻辑、区间等)的语法与应用,以及 ThinkPHP 中常用的链式操作方法(如 where、order、limit 等)的组合使用上。本篇文章将记录 ThinkPHP 数据库查询表达式与链式操作方法的学习过程。
2025-09-11 19:45:11
1537
原创 ThinkPHP8学习篇(五):数据库(一)
在请求流程中,数据库是数据存储与交互的核心载体,所有业务数据的持久化、读取与变更都依赖于数据库操作。而数据库连接是开展一切数据库操作的前提,查询构造器则为基础的增删改查提供了便捷、安全的实现方式。所以本篇作为数据库系列文章的第一篇,学习的核心内容将集中在数据库连接配置、查询构造器的基本使用以及基础的新增、查询、更新、删除操作上。本篇文章将记录 ThinkPHP 数据库连接与查询构造器基础增删改查的学习过程。
2025-08-31 12:04:41
1151
原创 ThinkPHP8学习篇(四):请求和响应
在请求流程中,请求与响应构成了应用与客户端交互的核心纽带 —— 请求负责捕获并解析客户端传递的各类数据(如参数、头信息、请求方式等),响应则承担着将处理结果以合适形式(如页面、JSON、文件等)返回给客户端的重任,是完成一次完整交互的关键闭环。本篇文章将记录 ThinkPHP 请求与响应的学习过程。
2025-08-24 18:37:56
1090
原创 ThinkPHP8学习篇(三):控制器
ThinkPHP 支持传统的 MVC(Model-View-Controller)模式以及流行的 MVVM(Model-View-ViewModel)模式的应用开发,在请求流程中,控制器扮演着承上启下的核心角色 —— 它承接路由分发的请求,调度模型进行数据处理,协调视图完成最终渲染,是业务逻辑处理的中枢枢纽。本篇文章将记录 ThinkPHP 控制器的学习过程。
2025-08-17 18:01:03
1457
原创 ThinkPHP8学习篇(二):路由
ThinkPHP 支持传统的 MVC(Model-View-Controller)模式以及流行的 MVVM(Model-View-ViewModel)模式的应用开发,请求流程:路由 → 控制器 → 模型(DB操作) → 视图渲染。所以接下来 ThinkPHP 的学习核心内容将集中在路由、控制器、模型与数据库操作、视图与模板这四个核心内容上。本篇文章将记录ThinkPHP路由的学习过程。
2025-08-10 12:05:32
1674
原创 ThinkPHP8学习篇(一):安装与配置
ThinkPHP有非常多的功能库,我的学习策略很明确:不贪多求全,只掌握最核心的20%功能,解决80%的业务需求。所有学习都围绕一个目标:够用就行。遇到复杂问题时,再具体学习对应的内容。作为ThinkPHP学习的第一篇文章,本篇文章将记录ThinkPHP基础内容的学习,包括:安装、目录结构与配置。
2025-08-03 11:45:29
1376
原创 PHP语法高级篇(七):MySQL数据库
Web编程不可避免的需要使用到数据库,而MySQL数据库使用的非常多,并且是LAMP(Linux+Apache+MySQL+PHP)的技术栈的核心组合。本篇文章将记录PHP操作MySQL的学习过程。
2025-07-30 17:55:22
1013
原创 PHP语法高级篇(六):面向对象编程
在PHP开发中,面向对象编程是构建可维护、可扩展系统的核心支柱。它通过封装业务逻辑、实现多态复用,大幅提升代码组织性与模块化程度——这对快速迭代的小型项目尤为重要。作为具备Java经验的开发者,早已理解了封装、继承、多态的价值。所以,本篇文章不讨论OOP理论,只聚焦一个目标:用最短时间掌握PHP实现面向对象的语法。
2025-07-26 17:55:42
1251
原创 PHP语法高级篇(五):回调函数与异常处理
在 PHP 编程中,回调函数与异常处理是提升代码灵活性与健壮性的关键技术。回调函数能极大增强代码的复用性与扩展性;而异常处理则帮助开发者捕获并妥善处理运行时错误,避免程序意外崩溃。本篇文章将记录过回调函数与异常处理的学习过程。
2025-07-23 17:46:56
1239
原创 PHP语法高级篇(四):过滤器与JSON
在开发中,处理外部输入与实现前后端数据交互是绕不开的核心环节。过滤器能帮我们有效验证和清理来自表单等外部的输入数据,确保数据安全可靠;而 JSON 作为前后端分离架构中数据交换的 “通用语言”,其在 PHP 中的处理方式更是开发者必须掌握的技能。本篇文章将记录过滤器与 JSON 的学习过程。
2025-07-18 17:47:08
803
原创 PHP语法高级篇(三):Cookie与会话
Cookie与会话在 Web 编程中十分实用:Cookie 能实现一周免登录,还能记住用户的主题偏好;会话可保存当前用户信息,也能临时存储购物车数据。本篇文章将记录Cookie与会话的学习过程。
2025-07-15 18:18:07
1083
原创 PHP语法高级篇(二):文件处理
文件处理是任何 Web 应用程序的重要组成部分,PHP 拥有用于创建、读取、上传和编辑文件的多个函数。本篇文章将记录文件处理的学习过程。
2025-07-13 18:24:13
1161
原创 PHP语法高级篇(一):日期时间处理和包含文件
从本篇文章开始,将学习PHP的高级特性内容。本篇文章将记录在PHP中如何进行日期时间处理和包含文件的学习过程。
2025-07-09 18:30:00
780
原创 PHP语法基础篇(九):正则表达式
正则表达式在开发中是会经常使用到的,最常见的就是对数据进行有效性验证。比如:身份证号码有效性验证、手机号码有效性验证等。本篇文章将记录在PHP中使用正则表达式的学习过程。
2025-07-05 18:36:00
1042
原创 PHP语法基础篇(八):超全局变量
超全局变量是在 PHP 4.1.0 中引入的,并且是内置变量,可以在所有作用域中始终可用。PHP 中的许多预定义变量都是"超全局的",这意味着它们在一个脚本的全部作用域中都可用。在函数或方法中无需执行 global $variable; 就可以访问它们。
2025-07-03 18:30:00
1034
原创 PHP语法基础篇(七):函数
PHP 拥有超过 1000 个内置函数,此外,还可以创建自己的自定义函数。函数是程序中可以重复使用的一组语句块。页面加载时,函数不会自动执行。函数将通过调用函数来执行。本篇文章将记录自定义函数的学习过程。
2025-06-30 18:32:43
1000
原创 PHP语法基础篇(六):数组
PHP 中的数组实际上是一个有序映射。映射是一种把 values 关联到 keys 的类型。此类型针对多种不同用途进行了优化;它可以被视为数组、列表(向量)、哈希表(映射的实现)、字典、集合、堆栈、队列等等。本篇文章将记录数组的学习过程。
2025-06-27 19:40:27
971
原创 PHP语法基础篇(五):流程控制
任何 PHP 脚本都是由一系列语句构成的。一条语句可以是一个赋值语句,一个函数调用,一个循环,一个条件语句或者甚至是一个什么也不做的语句(空语句)。语句通常以分号结束。此外,还可以用花括号将一组语句封装成一个语句组。语句组本身可以当作是一行语句。本篇文章将记录流程控制的学习过程。
2025-06-21 19:23:14
834
原创 PHP语法基础篇(四):运算符
本文介绍了PHP中的各类运算符及其用法,主要包括:算术运算符(+ - * / %等)、赋值运算符(= += -=等)、比较运算符(== === !=等)、递增/递减运算符(++ --)、逻辑运算符(&& || !等)、位运算符(& | ^ ~等)、字符串运算符(. .=)、数组运算符(+ == ===等)和条件赋值运算符(?: ??)。文章详细说明了每种运算符的功能和使用场景,包括一元、二元和三元运算符的区别,以及运算符优先级和结合性的概念。特别强调了赋值运算符的传值和引用赋值区别,
2025-06-18 18:43:31
919
原创 PHP语法基础篇(三):类型转换与常量
"在完成PHP输出函数和字符串操作的学习后,本篇笔记将记录类型转换和常量应用的学习过程。作为语法基础篇的第三部分,我重点关注:类型转换数学函数常量定义:define() 与const 的使用差异魔术常量应用:__LINE__ 等特殊常量
2025-06-16 20:41:01
1035
原创 PHP语法基础篇(二):输出函数与字符串操作
"继上篇《PHP语法基础篇:变量与数据类型入》之后,本文将继续记录基础语法学习过程。本次重点探索两个核心内容:输出方式实践:对比 echo 与 print 的使用差异字符串操作初探:通过代码实验理解引号解析规则和基础处理方法作为学习笔记,文中所有结论均基于当前测试结果整理,欢迎共同探讨。"
2025-06-13 20:09:38
943
原创 PHP语法基础篇:变量与数据类型
"本文是PHP语法学习的第一篇,将聚焦最基础的三个部分:基本语法结构:PHP文件格式、注释写法变量使用:变量声明、命名规范、作用域初探数据类型:整型、浮点型、字符串、布尔型等数据类型的特性和用法通过代码示例,帮助零基础开发者快速建立PHP语法认知框架。"
2025-06-11 20:41:48
1139
原创 PHP环境极速搭建
作为一名初次接触PHP的开发者,我深知环境配置往往是学习路上的第一道门槛。传统PHP环境搭建需要手动配置Apache/Nginx、PHP解释器、MySQL等多重组件,光是处理版本兼容性和依赖问题就可能耗费半天时间——这对于我们小公司急需快速产出原型的场景来说,简直是效率杀手。
2025-06-08 20:34:58
1235
原创 启程:为何选择PHP?
Java开发者转学PHP的实战笔记:小公司如何用ThinkPHP快速交付项目 作为小公司Java开发者,作者面临技术选型困境:SpringBoot的复杂架构常与中小项目需求不匹配。为解决原型开发效率问题,作者决定从零学习PHP+ThinkPHP组合。文章分享了这一转型的学习路径:从PHP8基础语法到ThinkPHP8框架核心概念,最终通过极简博客系统实战验证开发效率。作者强调真实记录学习过程,包括ORM配置、用户认证等常见难点,旨在将原型交付周期从3周压缩至10天。该系列既是个人学习日记。
2025-06-07 12:17:23
1217
1
原创 Python项目工坊|仿Windows记事本
通过本项目的完整开发流程,新手可以掌握:Tkinter组件布局与事件绑定文件读写与异常处理机制GUI状态管理核心技巧✔️ 还原经典文本编辑功能✔️ 实现标准的文件操作流程✔️ 掌握GUI程序的生命周期管理。
2025-04-26 11:00:37
393
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅