整理PHP的一些比较突出的特点(PHP入门笔记)

作为一个Java开发者,第一次学习PHP,在查看了入门文档之后,整理了令我印象深刻的点。

服务器脚本语言

PHP(PHP: Hypertext Preprocessor)即“超文本预处理器”,是在服务器端执行的脚本语言。
纯 HTML 结果发送回浏览器

<!DOCTYPE html>
<html>
<body>

<h1>My first PHP page</h1>

<?php
echo "Hello World!";
?>

</body>
</html>

在html任意位置插入php代码,php页面既可以是服务端,又可以是网页。

服务器端语言, 英文就是 Server Side Included ( SSI ), 一般(大多数)都应用在网站开发上. 方法就是将 编程的代码 嵌入到 html 内, 伺服器将网页传送到客户端 ( 看网页的人 ) 前将之解释并执行. 最後得出一个动态生成的网页, 如 jsp, asp 就是这类架构. 不过, SSI 也可以是脚本语言的一种(视乎你用的是甚麼 ssi ), 但 ssi 却需要依赖伺服的支持才能执行的.
脚本语言,Scripting Language, 就是一些程序, 不需要像 c 那样需预先编译 (compile) 才能运行, 而是直到执行的那一刻才由解释器(interpreter) 去解释并执行. 在网页开发上, scripting language 可以有两种体现. 一个是 Javascript, 由浏览器来解释; 另一个是 CGI script, 由伺服器端的 interpreter 来解释. CGI 可以是用任何语言来成就的, 只要其输出符合 HTTP(S) 协议就行. 常见的有 Perl, PHP, Python, 也有 C ( C 的 CGI 多用於嵌入式开发, 如路由器的设置界面 )

服务器端语言是在服务器上运行的程序所用的编程语言,比如你现在在百度知道里打字,这些操作包括更改输入法,打字都是在自己的电脑上运行的,但一旦你把他提交,就必须存到百度数据库中,之后所有人开这个网页都能看到你的提问,这个行为必须由服务器来操作,在服务器上运行,写这个服务器程序的语言就是服务器端语言,如PHP,JSP等。
脚本语言是一种直接可由txt上写程序,不需要编译,纯文本的语言,只需要软件解释就可以直接运行的程序,这和C++等常规语言的不同点,你现在在网页空白处点击右键选择查看网页源代码,看到的文本就是脚本语言,可直接由浏览器解释并运行,脚本语言也就是可与某软件文字沟通的语言,这样的好处就是,形成了一个官方通用语,可以再网络上随便传来传去而且可以运行,比如刚才提到的网页源代码,就是百度服务器发过来的,但在你的浏览器上运行的客户端脚本,只要你装了浏览器,这个代码就能直接运行,你可以把看到的源代码复制到txt文件中,然后后缀改成,html,双击就能打开一个网页,不需要编译的,而非脚本语言就必须要编译,比如C语言,C++。
服务器语言和脚本语言没关系,是两个不同的属性描述,脚本语言可以使服务器语言,也可以不是,服务器语言也可以是脚本也可以不是。

关于弱类型的一些比较结果:

在这里插入图片描述
底层的存储原理,应该是一块非常好玩的板块。

超级全局变量

这些全局变量一针见血地给出了一般开发中所需的内容。

全局变量用途
$GLOBALS是一个包含了全部变量的全局组合数组。变量的名字就是数组的键。
$_SERVER一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组。这个数组中的项目由 Web 服务器创建。每个服务器支持的内容可能有差异。
$_REQUEST收集formdata的内容
$_POST收集formdata的内容
$_GET收集formdata的内容
$_FILES经由 HTTP POST 文件上传而提交至脚本的变量。
$_ENV执行环境提交至脚本的变量。
$_COOKIE经由 HTTP Cookies 方法提交至脚本的变量。
$_SESSION当前注册给脚本会话的变量。
魔术常量

PHP 向它运行的任何脚本提供了大量的预定义常量。
不过很多常量都是由不同的扩展库定义的,只有在加载了这些扩展库时才会出现,或者动态加载后,或者在编译时已经包括进去了。
有八个魔术常量它们的值随着它们在代码中的位置改变而改变。

魔术变量作用
__LINE__文件中的当前行号。
__FILE__文件的完整路径和文件名。如果用在被包含文件中,则返回被包含的文件名。
__DIR__文件所在的目录。如果用在被包括文件中,则返回被包括的文件所在的目录。
__FUNCTION__函数名称(PHP 4.3.0 新加)。
__CLASS__类的名称(PHP 4.3.0 新加)
__TRAIT__Trait 的名字(PHP 5.4.0 新加)。
__METHOD__类的方法名(PHP 5.0.0 新加)。
__NAMESPACE__当前命名空间的名称(区分大小写)。
文件包含

PHP include 和 require 语句

在 PHP 中,您可以在服务器执行 PHP 文件之前在该文件中插入一个文件的内容。
include 和 require 语句用于在执行流中插入写在其他文件中的有用的代码。

include 和 require 除了处理错误的方式不同之外,在其他方面都是相同的:
require 生成一个致命错误(E_COMPILE_ERROR),在错误发生后脚本会停止执行。
include 生成一个警告(E_WARNING),在错误发生后脚本会继续执行。

因此,如果您希望继续执行,并向用户输出结果,即使包含文件已丢失,那么请使用 include。否则,在框架、CMS 或者复杂的 PHP 应用程序编程中,请始终使用 require 向执行流引用关键文件。这有助于提高应用程序的安全性和完整性,在某个关键文件意外丢失的情况下。
包含文件省去了大量的工作。这意味着您可以为所有网页创建标准页头、页脚或者菜单文件。然后,在页头需要更新时,您只需更新这个页头包含文件即可。

文件打开模式

fopen() 函数用于在 PHP 中打开文件。
此函数的第一个参数含有要打开的文件的名称,第二个参数规定了使用哪种模式来打开文件:

参数含义
r只读。在文件的开头开始。
r+读/写。在文件的开头开始。
w只写。打开并清空文件的内容;如果文件不存在,则创建新文件。
w+读/写。打开并清空文件的内容;如果文件不存在,则创建新文件。
a追加。打开并向文件末尾进行写操作,如果文件不存在,则创建新文件。
a+读/追加。通过向文件末尾写内容,来保持文件内容。
x只写。创建新文件。如果文件已存在,则返回 FALSE 和一个错误。
x+读/写。创建新文件。如果文件已存在,则返回 FALSE 和一个错误。
HTTP REST

使用htaccess文件进行网络路径配置,将自己的php服务映射到一个REST规范的路径即可。

RewriteRule ^site/list/$   RestController.php?view=all [nc,qsa]
RewriteRule ^site/list/([0-9]+)/$   RestController.php?view=single&id=$1 [nc,qsa]
语法糖
  • EOF(heredoc),可以省去反斜杠转义符。
  • 弱变量,可以省去变量定义和变量转化
  • 各种内嵌的函数,例如类型函数、数组排序、数据验证、日期、文件、cookie、session、邮件、错误处理、过滤器、JSON转换器、MySQL、XML等。
  • 多维数组和关联数组,简单的实现了小哈希表、小JSON的感觉。
参考

https://www.runoob.com/php/php-form-validation.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SystemVerilog是一种硬件描述语言(HDL),用于设计和验证数字电路。SystemVerilog具有丰富的特性,适用于各种设计和验证任务。以下是SystemVerilog入门笔记的一些重点内容。 首先,了解SystemVerilog的基本语法是很重要的。SystemVerilog继承了Verilog的语法,同时加入了一些额外的特性,如数据类型、类和接口等。熟悉这些语法规则对于编写有效的代码至关重要。 其次,了解模块和端口的概念。SystemVerilog中的模块是最基本的构建单元,而端口则是模块与外部环境之间的接口。了解如何定义和使用模块和端口是编写可重用代码的关键。 另外,掌握数据类型和运算符是必不可少的。SystemVerilog支持多种数据类型,如整数、浮点数、逻辑值等,同时也提供了丰富的运算符,如加法、减法、逻辑运算符等。这些知识对于设计和验证数字电路非常重要。 此外,了解时序控制和并发控制是必要的。SystemVerilog提供了多种时序控制和并发控制的语法和特性,如always块、initial块和fork/join语句等。掌握这些知识对于设计复杂的数字电路至关重要。 最后,了解Verilog验证中的一些基本概念也是很重要的。例如,了解如何使用assert语句进行断言检查、如何使用coverage语句进行覆盖率分析等。 总之,SystemVerilog入门需要掌握其基本语法、模块和端口、数据类型和运算符、时序控制和并发控制,以及一些基本的验证概念。这些知识是成为一名合格的SystemVerilog工程师所必备的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值