EP006. “初次接触 PHP(experiment.php 实验)”
🔒 登录后可标记已读第一次动手写 PHP,跟 WordPress 本身完全没关系(原文明确说这个实验文件不属于 WordPress 核心的一部分),纯粹是借 WordPress 网站根目录当练习场。讲师用 VS Code 建了一个独立的 experiment.php 文件,边写边讲 PHP 最基本的四件事:怎么进入/退出 PHP 模式、echo 怎么把内容 输出到页面、$变量 怎么声明和复用、PHP 是服务器端语言(浏览器只看得到运行结果,看不到源码)。
📌 注意:这一讲操作的不是任何主题的 index.php,也不是后面要建的 fictional-university 主题, 而是在 Local by Flywheel 项目的网站根目录(app/public/,跟 wp-config.php 同级)新建的一个 临时练习文件,跟主题、插件都无关,讲座最后建议直接删除它。
涉及文件
experiment.php(新建,网站根目录app/public/experiment.php,纯练习用,非主题/插件文件,
讲师建议学完这一讲后删除,留着也不影响什么)
本讲没有对应的 -end 代码资料夹可以核对(这一讲的产出就是一个从零手打的练习文件, 不是主题/插件里会保留下来的正式代码),以下代码块直接来自 transcript 里讲师逐步演示的内容。
代码实现
第一步:先写一段纯 HTML,确认这是在编辑普通网页内容:
<h1>This page is all about Brad</h1>
<h2>All about Brad</h2>
第二步:在最上面新增一对 PHP 标签,进入/退出 PHP 模式(这两个 tag 之间才是 PHP 代码, 标签外面还是普通 HTML):
<?php ?>
<h1>This page is all about Brad</h1>
<h2>All about Brad</h2>
第三步:在 PHP 模式里用 echo 输出一个算式的结果,验证 PHP 是「有脑子」的(HTML 做不到运算):
<?php echo 2 + 2; ?>
<h1>This page is all about Brad</h1>
<h2>All about Brad</h2>
刷新页面会在标题上方看到 4;查看网页源代码(View Page Source)只会看到 4,看不到 2 + 2,因为 PHP 是服务器端语言,运算是在服务器上算完的,浏览器只拿到结果。
第四步:证明可以在同一个文件里反复进出 PHP 模式,在两个标题之间也加一段 echo:
<?php echo 2 + 2; ?>
<h1>This page is all about Brad</h1>
<?php echo 5 * 5; ?>
<h2>All about Brad</h2>
第五步:用变量 $my_name 存一次值,两处「Brad」都改成输出这个变量,之后只要改一个地方, 两处就会同时更新(这就是变量避免重复硬编码的意义):
<?php
echo 2 + 2;
$my_name = 'Brad';
?>
<h1>This page is all about <?php echo $my_name; ?></h1>
<?php echo 5 * 5; ?>
<h2>All about <?php echo $my_name; ?></h2>
把 $my_name = 'Brad'; 改成 $my_name = 'John Doe'; 再刷新,两个标题里的名字会一起变。
Hook / Function 速查
| 名称 | 类型 | 用途 |
|---|---|---|
<?php ... ?> | PHP 语法 | 进入 / 退出 PHP 模式,标签之间的内容才会被当成 PHP 执行 |
echo | PHP 语法 | 在 PHP 模式下把内容输出到页面上 |
$变量名 | PHP 语法 | 声明变量,$ 后面接自己取的变量名,用来存值方便之后复用 |
; | PHP 语法 | 结束一条 PHP 语句,告诉 PHP「这一步做完了,准备下一步」 |
常见坑
- 不能用文字处理软件(word processor)新建或编辑 PHP 文件,必须用专门的文本编辑器(讲师推荐
VS Code),原因之一是后面课程要用到内建命令行,VS Code 的命令行会自动指向当前项目目录。 experiment.php只是练习文件,正式网站的页面/网址不是这样手动丢文件到根目录做出来的,
原文特别强调「这不是在真实网站上加页面的正确做法,只是为了教学」。
延伸 / 后续讲座会用到
原文提到下一讲就会开始用这一讲学到的 PHP 基础(进出 PHP 模式、echo、$变量)来创建 全新的自定义 WordPress 主题(也就是 fictional-university 主题的起点)。
Sources
Udemy:
- Become a WordPress Developer: Unlocking Power With Code — Section 2, EP006