面向已掌握 PHP、Go、早期(ES5 之前)JavaScript 的开发者 本文不从"变量是什么""函数是什么"讲起,而是假设你已经具备成熟的后端工程经验。每个新概念都会尽量与 PHP 或 Go 中你熟悉的对应物做类比,帮你用最短路径完成知识迁移。目标是让你能够独立设计、编写、测试、部署一个生产级的 TypeScript + Node.js 服务端应用。 目录 心智模型:Node.js 到底是什么 环境搭建与版本管理 现代 JavaScript 速通(ES5 → ES2024) TypeScript 核心 模块系统:CommonJS vs ESM 包管理与工程化 服务端开发实战 数据持久化 异步编程深入 测试 部署与运维 安全基线 进阶学习路径 附录:PHP / Go / Node 速查表 0. 心智模型 先建立一个准确的类比,后面所有内容都建立在这个模型上。 维度 PHP(传统 PHP-FPM) Go Node.js 执行方式 每个请求由 worker 进程处理,请求结束后大部分状态销毁 编译为原生二进制,进程常驻,goroutine 并发 进程常驻, 单线程事件循环 + 系统级异步 I/O 并发模型 多进程/多线程(由 FPM 管理) 多核并行,goroutine + channel,由调度器抢占 单线程跑你的 JS 代码,I/O 交给 libuv 线程池/内核异步接口,通过事件循环回调结果 一次请求阻塞会怎样 只影响这一个 worker 只影响这个 goroutine 会阻塞整个进程的所有请求 (这是 Node 新手最常踩的坑) 类型系统 弱类型,PHP8 起可选类型声明 强类型,编译期检查 JS 本身无类型;TypeScript 是 编译期 类型层,编译后类型信息完全擦除 部署产物 源码 + PHP 解释器 单个静态二进制 源码/编译后 JS + Node 运行时(除非用 node --compile-cache 或打包成单文件可执行文件) 关键心智转变 :在 Go 里你用 goroutine 换取并行;在 Node 里你 没有 并行(除非显式用 Worker Threads),你...
Laravel 框架详解(附 Yii 对照) 本文以 Laravel 为主线,系统介绍其基本用法;Yii(以主流的 Yii 2 分支为准)仅在后文以对照方式说明与 Laravel 的差异,不再单独展开完整介绍。内容主要参考 Laravel 官方文档(laravel.com/docs/12.x)与 Yii 官方文档(yiiframework.com/doc/guide/2.0、release-cycle 页面)整理而成。 目录 Laravel 概览 安装与环境要求 目录结构 路由(Routing) 控制器(Controller) 数据库与 ORM:Eloquent 视图与模板引擎:Blade 表单验证 命令行工具:Artisan 认证与权限控制 生态与工具链 Yii 对照:与 Laravel 的主要差异 核心区别对比表 如何选择 参考资料 1. Laravel 概览 Laravel 由 Taylor Otwell 于 2011 年创建,定位是"优雅、富有表达力的语法",目标是把日常 Web 开发中重复、繁琐的工作(路由、鉴权、缓存、队列、会话等)封装为简洁一致的 API。它是目前 PHP 生态中最流行、社区最庞大的全栈框架,背后由商业公司 Laravel LLC 持续投入,围绕核心框架形成了一整套官方付费/开源工具链:Forge(服务器管理)、Vapor(Serverless 部署)、Nova(后台管理面板)、Envoyer(零停机部署)、以及 Livewire、Inertia.js、Cashier、Horizon、Octane 等专项扩展包。 当前主线版本为 Laravel 12 (2025 年发布),最低要求 PHP 8.2 。框架遵循 MVC 架构,基于 Composer 管理依赖,内置服务容器(IoC Container)、数据库迁移、队列、事件系统等,使用 MIT 许可证开源。 2. 安装与环境要求 # 使用 Composer 创建项目 composer create-project laravel/laravel example-app # 或使用官方安装器(需先全局安装 laravel/installer) laravel new example-app cd exa...