PHP language tags, command delimiters, and comments play an important role when writing programs in PHP.
1. PHP start and end flags
PHP uses ?> to indicate the end. Most embedded scripting languages are embedded in HTML in this mode, such as CSS, ASP, JSP, JS, etc.
When PHP parses a file, it will look for start and end flags to tell PHP to start and stop interpreting the code in it. When PHP encounters the end tag, it will simply output the following content as is, so any number of PHP tags can be embedded in an HTML document.
##The content below is not important, just understand it.
In addition to the above PHP start and end marks, there are also: <% %>, , etc., when embedding variables in the page, It can be used. In addition, is always available. Others can be turned on in php.ini.
It is worth noting:
1. Enable asp_tags in php.ini to use it. <% %> is no longer supported in php7 and is not recommended.
2. It will interfere with the XML document declaration and is generally disabled. You can enable the short_open_tag configuration in php.ini, or add the --short_open_tag option when compiling PHP before it can be used. Not recommended for use.
3. It is strongly recommended to use standard start and end marks.
4. Files that only contain php scripts do not allow the end mark?> to exist. This can prevent the end from being accidentally injected, resulting in settings such as header(), setCookie(), session_start(), etc. The header function is failing. Reason: When a php file loads another php file, what if the end flag of the file? If there is a space " " at the end of >, then an error will occur when using the function to set the header information after loading the file. Because these functions do not allow preceding spaces. In addition, these scripts containing the end mark will output the end mark as is? >The space after.
Spaces within PHP tags will be automatically ignored during interpretation.
eg: 文件a.php <!--?php // anycode here ?--> 文件b.php <!--?php ob_start(); include_once 'a.php'; $con = ob_get_contents();//此函数返回输出缓冲区的内容,或者如果输出缓冲区无效将返回FALSE 。 ob_clean(); var_dump($con) ?-->
Executing the b.php file will output string(4) ” “.
2. Instruction separator semicolon
PHP needs an English semicolon after each instruction. What is the end mark of PHP? > implicitly represents a semicolon, so the last line in a PHP code can not end with a semicolon.
eg1: <!--?php echo "123"?--> //最后的结束标记隐含表示了一个分号,所以这里可以不用分号结束 eg2: <!--?php echo "123"; //这是一个php指令,后面一定要加上分号表示结束 </pre-->
3. Program comments
Comments are a very important part of program design. The content of the comment will be ignored by the web server engine and will not be interpreted and executed. Comments must be written above or to the right of the code, never after the code.
1) The role of comments:
① Explain the role of the code, provide help for reading, whether it is yourself or others, and facilitate future maintenance.
②Comment the code that you feel is inappropriate at the time, so that if you want to use it in the future, just open the comment
③For debugging
2) Comment classification:
①Single line comment. There are two main types, namely "//" and "#".
②Multi-line comments. Start with "/*" and end with "*/". Multi-line comments cannot be nested within multi-line comments, but single-line comments and multi-line comments can include each other.
eg1: 下面就是多行注释嵌套多行注释的错误示例。 <!--?php /* echo 123;/*在多行注释里边嵌套多行注释是不行的*/ */</pre-->
3) Notes on comments
Comments will only comment out the content before the end mark, and will not comment out the end mark "?>"
eg: 下边”?>”不会被注释掉 <!--?php echo 123; //?-->
4) Specifications Comment
PHPDocumentor tool will prompt you to standardize comments. For existing standard comments, you can quickly generate API documents with cross-reference, index and other functions. Multi-line comments generally end with "/**"start"*/". The presence of @param in our common comments is probably because of this tool, even though you are not using this tool.
eg: 规范的多行注释 <!--?php /** * 设置当前请求的调度信息 * @access public * @param array|string $dispatch 调度信息 * @param string $type 调度类型 * @return void */ public static function dispatch($dispatch, $type = 'module'){ ... }</pre-->
This article explains the relevant content of PHP language tags, command separators, and comments. For more related knowledge, please pay attention to the PHP Chinese website.
Related recommendations:
Explain how to use pdo placeholder in PHP
List PHP null value detection functionPHP connects to the database,
realizes the most basic add, delete, modify and query operations through process-oriented methodsNumbers and methods
The above is the detailed content of Explanation on PHP language tags, instruction separators, and comments. For more information, please follow other related articles on the PHP Chinese website!