【PHP代码审计】PHP基础语法


欢迎新同学的光临
… …
人若无名,便可专心练剑


我不是一条咸鱼,而是一条死鱼啊!


知识点分类

  • PHP 标记
  • HTML 中分离PHP代码
  • 指令分隔符
  • 注释

PHP 标记

PHP 解析器解析,通常能解析 PHP 标记为 <?php 和 ?>或者是使用短格式 <? 和 ?>标签内的内容。如果文件内容是纯 PHP 代码,最好在文件末尾删除 PHP 结束标记可以避免在 PHP 结束标记之后,意外加入了空格或者换行符等其它特殊字符或不小心键入的内容,会导致 PHP 开始输出额外添加上去的空白内容。

我来通过实例来看看省略了文件末尾的结束标签 ?> ,是否程序会报错?

创建hello1.php文件(vim hello1.php),代码如下:

<?php

   $a = 'hello world';
   echo "$a 我喜欢你!";

执行结果如下:

在这里插入图片描述

注:**PHP5.4 以后短标签无需任何设置,都是合法标签,且在PHP7<script language='php'></script> <%%> 两个标记方式已经不再适用
<?

   $a = 'hello world';
   echo "$a 我喜欢你!xxxxx";
?>

执行结果如下:

在这里插入图片描述
短标签结束标签不写,也是合法的,程序也能照常输出,朋友你可以尝试一下,代码我先贴出来了

<?

   $a = 'hello world';
   echo "$a 我喜欢你!1111111";

HTML 中分离PHP代码

/root 路径下使用vim 命令创建indexhtml.php ,使用echo 输出HTML 页面

<?php
$a = true;

echo "<html>
  <body>
    <p".($a ? " class='highlight'" : '').">
    This is a paragraph xxx
    </p>
  </body>
</html>";

执行结果如下:

在这里插入图片描述

对上述的命令进一步改造,/root 路径下使用vim 命令创建indexhtml1.php ,由于在一对开始(类似<p>)和结束标记(</p>)之外的内容都会被 PHP 解析器忽略,可以在 HTML 中需要使用 PHP 的地方,再执行 PHP 程序
<?php 
$a = true;
?>
<html>
  <body>
    <p <?=$a ? "class='highlight'" : ''?>>
    This is a paragraph wwwww
    </p>
  </body>
</html>

执行结果如下:

在这里插入图片描述

为什么要单独执行呢?

  这样可以避免我们想单独输出某个标签内容时,echo 却直接输出了所有的html 内容,这往往不是我们想要的,所以更建议使用第二种方式将 PHP 代码嵌入到 HTML 中,避免使用 echo 输出整段 html 代码

指令分割符号

PHP 需要在每个语句后用分号(;)结束指令。

如果后面还有新行,则代码段的结束标记包含了行结束

注释

PHP 支持多种注释风格

 单行注释: // 和 # 仅仅注释当前行或当前PHP代码块
 多行注释:开始位置/* 要注释的内容    结尾时用 */  代表注释结束
<?php

多行注释
/*
echo 'xxxxxxx';
echo 'xxxxxxx';
echo 'xxxxxxx';
echo 'xxxxxxx';
*/

或另外一种多行注释
/**
* 多行注释
* 注释内容
* echo 'xxxxxxx';
* echo 'xxxxxxx';
*/

单行注释
// echo 'xxxxxxx';

或另外一种单行注释
# echo 'xxxxxxx';

参考链接:https://php.net/manual/zh/

参考链接:https://www.shiyanlou.com/courses/23


我自横刀向天笑,去留肝胆两昆仑


猜你喜欢

转载自blog.csdn.net/Ananas_Orangey/article/details/120522987
今日推荐