PHP自学前30天必须让代码连上数据库、跑通登录、能存能查,否则热情断崖式下跌;环境用PHPStudy或XAMPP一键启动,立即写PDO预处理防SQL注入,第25天起用Laravel路由与验证,再进阶Swoole协程Redis。
直接说结论:别从HTML/CSS/JS开始堆时间,PHP自学最怕卡在“没写过动态逻辑”这一步——前30天必须让代码连上数据库、跑通登录、能存能查,否则热情断崖式下跌。
环境搭建:用集成包,别碰Linux命令行
新手花两天配Nginx+PHP+FPM+MySQL,不如用
或
一键启动。它们默认开
,
能输出就代表成功。别纠结
路径或SELinux权限——这些是上线前才要调的,不是入门门槛。
Windows用户直接装
,勾选PHP 8.1+、MySQL 8.0,点“启动”就行
Mac用户用
,避免Homebrew编译报错
别提前学Docker,
里5个服务定义会吓退你三次
PDO预处理:SQL注入不是理论,是马上要写的代码
学完
和
,立刻写这段:
注意三点:
立即学习
“
PHP免费学习笔记(深入)
”;
PHP 8.5.5
PHP 8.5.5 是 PHP 8.5 分支的维护更新版本。该版本延续了“小步快跑”的迭代逻辑,通过深度错误修复、底层性能微调以及安全加固,旨在为开发者提供一个更健壮、更高效的运行环境。该版本严格遵守语义化版本规范,不包含破坏性变更。
下载
用
占位符,不用拼接
——后者第二天就被扫库脚本打穿
比
更安全,字段名明确,不怕列顺序变
错误时
必须加,不然
失败只返回
,你根本不知道哪错了
Laravel路由+验证:别等“学完框架再动手”
第25天就该跑通
。重点不是背完所有中间件,而是搞清三件事:
表单
提交后,
对象怎么取值?
比
多一层过滤
报错时自动跳回表单并带
变量,不用自己写
生成单方法控制器,比传统五方法更聚焦业务流
Swoole协程Redis:高薪岗真正在意的“非标配”技能
招聘JD里写的“熟悉Swoole”不是让你重写HTTP服务器,而是指你能把阻塞IO变成协程调用。比如登录后查Redis缓存用户权限:
这个能力的关键在于理解:它和传统
的区别不是性能数字,而是
让出CPU时机——你不需要写
,只要用对类,框架底层自动调度。
最容易被忽略的是:Swoole进程常驻内存,
失效了,必须改用Redis存会话;
也不能直接用,得换成
。这些坑不在文档首页,而在你第一次部署到
服务时才暴露。
PHPStudyXAMPPlocalhostphpinfo()/etc/php.iniPHPStudyMAMPdocker-compose.ymlifforeach$pdo = new PDO("mysql:host=localhost;dbname=test", "root", "");
$stmt = $pdo->prepare("SELECT * FROM users WHERE email = ? AND status = ?");
$stmt->execute([$_POST['email'], 'active']);
$user = $stmt->fetch();
?"'".$_POST['email']."'"PDO::FETCH_ASSOCPDO::FETCH_NUM$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION)prepare()falseRoute::post('/login', [LoginController::class, 'store'])POSTRequest $request$request->input('username')$_POST['username']$request->validate(['email' => 'required|email'])$errorsif (!filter_var())php artisan make:controller LoginController --invokable$redis = new Swoole\Coroutine\Redis();
$redis->connect('127.0.0.1', 6379);
$role = $redis->get("user:{$userId}:role"); // 这行不阻塞后续逻辑
new Redis()yieldgo function() { ... }$_SESSIONfile_get_contents()Swoole\Coroutine\Http\Clientsystemd