一:PHP简介
Q1 PHP定义:
一种服务器端的 HTML 脚本/编程语言,该语言让 Web 开发人员快速的书写动态生成的网页。其前身为(Personal HomePage)个人主页,是使用Perl语言开发的一种写个人主页的语言。
引:【PHP: Hypertext Preprocessor)即“超文本预处理器”,底层使用C语言,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法学习了C语言,吸纳Java和Perl多个语言的特色发展出自己的特色语法,并根据它们的长项持续改进提升自己,例如java的面向对象编程,该语言当初创建的主要目标是让开发人员快速编写出优质的web网站。PHP同时支持面向对象和面向过程的开发,使用上非常灵活。 --------------摘自百度百科】
Q2 PHP发展史:
Rasmus Lerdorf :创建者
1994:1.0,个人perl,非常简单(简陋)
1996:2.0,C底层,变的相对比较强大
1998:3.0,zendEngine,联 合zend公司共 同管 理和 维护PHP,zendEngine(zend引擎)用户高效的解析php代码
2000:4.0,session+输出缓冲等,session技术(会话技术)
2004:5.0,zend引擎2代,增加新技术(面向对象更新,命名空间)
2015:7.0,新版的ZendEngine引擎,性能提升,新特性
平台支持(window,Linux,UNIX)
数据库支持(Sqlserver,mysql,Oracle,Access)
Q3 静态网站与动态网站的特点
静态网站(web1.0时代)
1.网页内容一经发布到网站服务器上,无论是否有用户访问,每个静态网页的内容都是保存在网站服务器上的,也就是说,静态网页是实实在在保存在服务器上的文件,每个网页都是一个独立的文件;
2.静态网页的内容相对稳定,因此容易被搜索引擎检索;
3.静态网页没有数据库的支持,在网站制作和维护方面工作量较大,因此当网站信息量很大时完全依靠静态网页制作方式比较困难;
4.静态网页的交互性较差,在功能方面有较大的限制。
动态网站(web2.0时代)
1.交互性:网页会根据用户的要求和选择而动态地改变和响应,浏览器作为客户端,成为一个动态交流的桥梁,动态网页的交互性也是今后Web发展的潮流。
2.自动更新:即无须手动更新HTML文档,便会自动生成新页面,可以大大节省工作量。
3.因时因人而变:即当不同时间、不同用户访问同一网址时会出现不同页面。此外动态网页是与静态网页相对应的,也就是说,网页URL的后缀不是.htm、.html、.shtml、.xml等 静 态 网 页 的 常见 形 式,而 是以.asp、.jsp、.php、.perl、.cgi等形式为后缀。在动态网页网址中有一个标志性的符号——“?”
Q4 网站基本概念
4.1 网站
Website 的中文名称是网站,是 指在互联网上,根据一定的规则,使用HTML、PHP等代码语言制作的用于展示特定内容的相关网页的集合,有可供管理人员操作的后台及用户使用的前台。简单地说,Website是一种通讯工具,就像布告栏一样,人们可以通过Website来发布自己想要公开的资讯,或者利用Website来提供相关的网络服务。人们可以通过网页浏览器来访问Website,获取自己需要的资讯或者享受网络服务。
4. 2 服务器
服务器(server),也称伺服器,是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。服务器的构成包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。在网络环境下,根据服务器提供的服务类型不同,分为文件服务器,数据库服务器,应用程序服务器,WEB服务器等。
服务器:能够提供服务的机器,取决于机器上所安装的软件(服务软件)
Web服务器:提供web服务(网站访问),需要安装web服务软件,Apache,tomcat,iis等
4.3 IP
Internet Protocol,网络之间互联协议。网络之间互连的协议也就是为计算机网络相互连接进行通信而设计的协议。在因特网中,它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则。任何厂家生产的计算机系统,只要遵守IP协议就可以与因特网互连互通。IP地址具有唯一性。(每台电脑都有一个唯一的IP地址)
4.4 域名
Domain Name,是由一串用点分隔的名字组成(www.itcast.cn)的Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置,地理上的域名,指代有行政自主权的一个地方区域)。域名是一个IP地址上有“面具”。一个域名的目的是便于记忆和沟通的一组服务器的地址(网站,电子邮件,FTP等)。域名作为力所能及难忘的互联网参与者的名称。
特殊IP:127.0.0.1 代表本机特殊域名:localhost
4.5 DNS
Domain Name System,(域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。
用户输入域名localhost————DNS(localhost 127.0.0.1)————服务器电脑
4.6 端口
Port,可以认为是设备与外界通讯交流的出口。端口可分为虚拟端口和物理端口,其中虚拟端口指计算机内部或交换机路由器内的端口,不可见。例如:计算机中的80端口、21端口、23端口等。物理端口又称为接口,是可见端口,计算机背板的RJ45网口,交换机路由器集线器等RJ45端口。
用户输入域名localhost:端口————DNS(localhost 127.0.0.1)————服务器电脑————软件(服务)
4.7 URL
Uniformed Resource Location(统一资源定位)互联网上的绝对路径。
4.8 URI
Uniform Resource Identifier,统一机器标识,目标机器上相对某个文件夹的相对路径。
引:【URI:Uniform Resource Identifier(标识、定位任何资源的字符串)在电脑术语中,URI是一个用于标识某一互联网资源名称的字符串。 该种标识允许用户对任何(包括本地和互联网)的资源通过特定的协议进行交互操作。URI由包括确定语法和相关协议的方案所定义。Web上可用的每种资源 -HTML文档、图像、视频片段、程序等 - 由一URI进行定位。---------------摘自百度百科】
Q5 Web程序的访问流程
5.1 静态网站
5.2 动态网站
注:图片为个人制作,如需转载,请注明出处CSDN @ jane Yao。
二:PHP安装与环境配置
level one 小试牛刀
建议使用集成的服务器组件,它已经包含了 PHP、Apache、Mysql 等服务,免去了开发人员将时间花费在繁琐的配置环境过程。 如PHPstudy,WampServer等。官网下载按提示安装完成即可。
level two 登堂入室
可以尝试自己配置apache,MySQL,PHP运行环境,关注我,个人主页发教程。(正在加急赶制)敬请期待!!!
三:PHP语法
Q1 PHP标记
1.1 ASP标记:
<% php代码 %>
1.2 短标记:
<? php代码 ?>
以上两种基本弃用,如果要使用那么需要在php.ini配置文件中,将这两个参数值设置为On。
short_open_tag = On
asp_tags = On
1.3 脚本标记 (php7已经弃用):
<script language=”php”>
#这里是php代码
</script>
1.4 PHP默认风格
<?php
#php代码
?>
Q2 PHP注释
2.1 C++语言风格单行注释
<?php
//这是PHP注释语句
?>
2.2 C语言风格多行注释
<?php
/*
PHP代码
多行注释
*/
?>
2.3 Shell语言风格注释
<?php
#这里是PHP注释语句
?>
Q3 PHP语句分隔符
在PHP中,代码是以行为单位,系统需要通过判断行的结束,该结束通常都是一个分号“;”(英文状态)。
特殊说明:
1、PHP中标记结束符?>有自带语句结束符的效果,最后一行PHP代码可以没有语句结束符“;”
2、PHP中其实很多代码的书写并不是嵌入到HTML中,而是单独存在,通常书写习惯中就不建议使用标记结束符?>,PHP会自动从开始到最后全部认为是PHP代码,从而解析。
四:PHP变量
Q1 PHP 变量规则
- 变量以 $ 符号开始,后面跟着变量的名称
- 变量名必须以字母或者下划线字符开始
- 变量名只能包含字母、数字以及下划线(A-z、0-9 和 _ )
- 变量名不能包含空格
- 变量名是区分大小写的($y 和 $Y 是两个不同的变量)
Q2 something about PHP
<?php
$txt="Hello world!";
$x=5;
$y=10.5;
?>
2.1 创建(声明)PHP变量
PHP 没有声明变量的命令。变量在您第一次赋值给它的时候被创建。
2.2 PHP是一门弱类型语言
不必向 PHP 声明该变量的数据类型。PHP 会根据变量的值,自动把变量转换为正确的数据类型。在强类型的编程语言中,我们必须在使用变量前先声明(定义)变量的类型和名称。
Q3 PHP 变量作用域
3.1 local 局部变量作用域
<?php
function myTest()
{
$y = 10; // 局部变量
}
?>
在 PHP 函数内部声明的变量是局部变量,仅能在函数内部访问。
3.2 global 全局变量作用域
<?php
$x = 5; // 全局变量
function myTest()
{
$y = 10; // 局部变量
$GLOBALS['x'] = 10;
echo $GLOBALS['x']; //10
}
myTest();
?>
全局变量可以被脚本中的任何部分访问,要在一个函数中访问一个全局变量,需要使用 $GLOBALS[变量名]访问。
3.3 static 静态变量作用域
<?php
function test()
{
static $x=0;
echo $x;
$x++;
echo "<PHP_EOL>"; //<br><p> "\r\n"
}
test();
test();
test();
test();
?>
- 当一个函数完成时,它的所有变量通常都会被删除。然而,有时候希望某个局部变量不要被删除。声明变量时使用 static 关键字。
3.4 parameter 参数变量作用域
<?php
function myTest($x)
{
echo $x;
}
myTest(5);
?>
参数是通过调用代码将值传递给函数的局部变量。
Q4 心得分享
1、定义在函数外部的就是全局变量,它的作用域从定义处一直到文件结尾。
2、函数内定义的变量就是局部变量,它的作用域为函数定义范围内。
3、函数之间存在作用域互不影响。
4、函数内访问全局变量需要 global 关键字或者使用 $GLOBALS[index] 数组
5、在 php 中函数是有独立的作用域,所以局部变量会覆盖全局变量,即使局部变量中没有全局变量相同的变量,也会被覆盖。要想在函数中直接使用全局变量可以通过 global 关键字声明或者通过 php 中自定义的 $GLOBALS 数组获取。
五:PHP输出语句
Q1 echo
echo - 可以输出一个或多个字符串,echo 是一个语言结构,使用的时候可以不用加括号,也可以加上括号: echo 或 echo()。
<?php
echo "现在是2021/10/23,3:50";
echo "我熬夜很快乐"
?>
<?php
$txt1="学习 PHP";
$txt2="RUNOOB.COM";
$cars=array("Volvo","BMW","Toyota");
echo $txt1;
echo "<br>";
echo "在 $txt2 学习 PHP ";
echo "<br>";
echo "我车的品牌是 {$cars[0]}";
?>
Q2 printf
print - 只允许输出一个字符串,返回值总为 1。print 同样是一个语言结构,可以使用括号,也可以不使用括号: print 或 print()。
<?php
print "hello"; //输出内容
printf("%d%s",25,"hello"); //对内容进行格式化输出
?>