为什么PHP至今仍然重要?在哪里学习?
\n\n在Web开发的世界里,PHP就像一把可靠的老式瑞士军刀。追求潮流的人不喜欢它,但78%的网站(包括Facebook、Wikipedia和WordPress)都运行在它之上。如果你想成为一名能解决实际问题的后端开发者,而不仅仅是“用React做前端”,那么PHP是你的选择。
\n\n但问题是,90%的俄语PHP视频都是2008年的过时代码,其中mysql_connect()被认为是正常的。我们决定纠正这一点,并整理了顶级YouTube频道和课程,教授现代PHP 8、面向对象编程、PSR标准和框架。
\n\n在这篇文章中,您将找到的不仅仅是一个链接列表,还有可以立即运行的实时代码示例,以及如何避免陷入“垃圾代码”的建议。
\n\n我们如何筛选频道
\n\n我们检查了YouTube上超过50个PHP频道和课程。筛选标准如下:
\n\n- \n
- 时效性 — 视频不超过2年,使用PHP 8.x \n
- 内容质量 — 生动的讲解,而不是单调地阅读文档 \n
- 实践性 — 包含代码示例、作业或个人项目 \n
- 对不同水平的实用性 — 从完全零基础到专业提升 \n
开始吧!
\n\nPHP顶级YouTube频道前五名(免费)
\n\n1. PHP学校 — “程序员的数学”
\n\n该频道的作者是一位拥有10年经验的实际后端开发者。他不仅展示代码,还解释为什么必须这样写。他关于PHP面向对象编程的播放列表尤其出色。
\n\n视频中的示例:如何不正确地编写构造函数:
\n\n// 不好的写法\nclass User {\n public $name;\n public $age;\n public function __construct($data) {\n $this->name = $data[0];\n $this->age = $data[1];\n }\n}\n\n// 好的写法\nclass User {\n public function __construct(\n private string $name,\n private int $age\n ) {}\n}\n\n\n为什么这很重要:类型声明和命名参数是PHP 8的标准。该频道通过实际例子进行了详细讲解。
\n\n2. Laravel & PHP从零开始 — “3小时搭建你的博客”
\n\n如果你想快速从理论转向实践,这个频道是你的选择。作者推出了一个系列“PHP入门:编写博客引擎”。不使用框架,只使用纯PHP,但采用现代方法(Composer、PSR-4、Twig模板引擎)。
\n\n路由课程中的代码:
\n\n// PHP 8的简单路由器\n$router = new Router();\n\n$router->get('/posts', function() {\n $posts = Post::all();\n require 'views/posts/index.php';\n});\n\n$router->post('/posts', function() {\n $post = new Post($_POST);\n $post->save();\n header('Location: /posts');\n});\n\n\n建议:观看5-6节课后,尝试编写你自己的迷你框架。这是理解Laravel和Symfony工作原理的最佳方式。
\n\n3. Vova的Web开发 — “PHP 8:新特性”
\n\n简短精炼的视频(10-15分钟),介绍PHP 8的具体功能:属性、命名参数、match表达式、枚举。非常适合已经掌握基础知识并希望将技能提升到现代水平的人。
\n\n枚举示例(PHP 8.1):
\n\nenum Status: string {\n case Active = 'active';\n case Inactive = 'inactive';\n case Pending = 'pending';\n\n public function label(): string {\n return match($this) {\n self::Active => '活跃',\n self::Inactive => '不活跃',\n self::Pending => '待处理',\n };\n }\n}\n\necho Status::Active->label(); // '活跃'\n\n\n