您的位置:首页 > 编程语言 > PHP开发

PHP初识

2017-10-23 23:41 267 查看
PHP是一种服务器端语言,执行必须通过服务器模块的解析,是一门解释型语言中间运行不需要生成一些中间文件,而是直接用PHP模块来解析就可以了。

Php的全称是‘hypertext Propressor’超文本预处理器

底层用C开发, PHP的语法和c类似,目前市面上使用最多的是PHP5版本,P6直接被砍掉,最新版本php7.2(强大),php7向java语言靠拢。

Php的好处:

1.开源 wamp = Windows Apache MySQL PHP——自己本机测试的首选

Lamp = Linux Apache MySQL PHP——线上生产环境

2.入门简单,用户只需关注应用,开发成本低,但是到一定的规模后,由于PHP的灵活性,反而会使网路的维护十分复杂;

3.支持大多数主流数据库,MySQL,oracle,Redis等----这些支持是用PHP的扩展来做的,每一个扩展都提供了一些必要的函数,类等来操作

4.大量针对PHP开发的框架如Laraval——艺术优雅代码,ThinkPHP——国产思维,加快开发速度;

5.解释型脚本,无需生成.dll或者.exe类似的文件

软件架构:

1.c/s架构

Client客户端/Server服务器;

好处:数据传输速度快,一般直接和数据库交互,中间环节少,比较安全

2.b/s架构

把所有客户端都统一成浏览器,提供一个入口即可,输入请求的服务器以及脚本地址,获取对应的页面信息返回。

b/s是特殊的c/s模式;

b/s架构中间的环节比较多,需要走http网络协议,中间一般会多一个web服务器处理;

服务器:硬件设备提供了一种服务支持的计算机。

ApacheHTTP Sever服务器,跨平台,安全性高,稳定性,是最流行的WEB服务器。

这里Apache服务器就是负责接收用户的请求,处理用户的请求,Apache会有一个PHP模块来处理请求的PHP动态文件。

Nginx并发能力比较强,做分布式的分发服务器。



IP:

ip占用四个字节,一个字节占用8个比特位;

127.0.0.1——本机的一个ip;

192.168.——内网

扩展TCP/IP协议(三次握手协议)



计算机互访,只能通过识别IP的互访,不能识别域名互访。DNS域名解析系统,将域名解析成对应的IP地址,DNS就是一台24小时运行的服务器。

DNS域名解析系统,本地的是hosts,远程的是dns服务器。

hosts是一个隐藏文件,是一个系统文件,是一个没有扩展名的文件,DNS解析会先走本地,如果本地没有,会再次走远程的DNS服务器解析。

端口:类型校区的收发箱子,用来监听某种服务,web80,MySQL3306;

如果当前URL请求的是一个静态文件,会直接返回的不用做任何处理,应为浏览器可以直接解析

如果当前的URL请求时一个动态文件,会交个Apache服务器来处理,PHP模块解析PHP代码,把代码解析的结果以html代码的形式返回给浏览器,再次解析就可以看到结果了



PHP代码标记与HTML代码混编,PHP标记用来分区PHP代码,从指定位置开始解析到指定位置结束解析。

l PHP本身支持与HTML混编

l 混编的文件后缀一般为.php,Apache才会调用PHP解析

l 纯PHP文件建议省略结束标记。好处:在于防止结束标志后的空白字符输出。

l PHP与HTML混编时,先解析PHP代码,剩余代码发给浏览器解析。

PHP变量:
在脚本周期中,值可以改变的量(variable)。即程序运行中,用来存储数据的单位或者空间。

变量是存储到内存的,我们可以手工的清除变量,或者是自动清除,脚本运行结束后系统会自动清除变量。

$变量名 = ;

变量名严格区分大小写,但是PHP函数不区分;

小驼峰法:第一个单词首字母小写,其余单词的首字母大写(小驼峰)推荐。$stuName

大驼峰法:单词的首字母大写
手动删除变量:unset($var);

写法:

echo语句:输出字符串,变量及表达式,可以同时输出多个变量和字符串;

结构上的语句

解决输出中文字符等显示乱码问题:

通过html的meta标记或者PHP的

header(“content-type:text/html;charset=utf8”);
//告知浏览器返回数据的类型:text/html
 将来使用html解析器解析
//使用utf8字符集展示

print语句:
1)可以输出字符串及变量及表达式
2)与echo语句的区别为:print不支持同输出多个字符串及变量。

var_dump():
输出一个或者多个变量的类型,长度及值。一般用于打印复杂变量(结合pre标记格式化输出),如数组,对象等。

数据类型:






1标量数据类型
不可再分割的数据类型
一般为单个数值。包括整型、浮点型、字符串类型、布尔类型。

2复合数据类型
这种类型里边可以有多种数据类型的组成
包括数组及对象。数组有多个元素,对象有多个成员、属性。

3特殊数据类型

Null
为null的几种情况:变量未赋值、变量被删除、变量被赋值为null

Resource
资源型,为到第三方数据的引用(如成功的数据库连接、绘制图像创建画布、打开文件、打开文件夹等)。
二进制
     binary      ----->
 bin
八进制
     octal       
----->  oct
十进制
     decimal    ----->
 dec
十六进制
  hexadecimal
  ----->  hex
二进制转十进制:bindec();
字符型string;

可以是数字,字母,下划线,汉字,符号等等,但是必须用引号包起来,这里可以是单引号,也可是是双引号,单引号中不解析变量打印变量只有变量名,双引号可以解析变量变量可以解析成值;
布尔型bool:

1表示真或假真是true,假是false  

2 true和false不区分大小写

3 PHP是弱类型语言布尔型会根据不同情况进行自动转换,或手动强制转换
数组:
PHP中数组有两种,下标是数字的数组,下标是字符串的数组





对象:
由类实例化出来,
Isset 

变量未设置或者设置为null,返回false(认为变量没有设置)。其余情况全部为true。一般用来判断变量是否设置,因为变量未设置,无法直接使用。



Empty

判断变量是否为空。PHP中认为变量的值为:""、0、"0"、NULL、FALSE、[]时,变量虽然定义了,但是无实际的意义。为空。如果是空返回true,如果是非空返回false



特殊数据:

nul没有值

资源类型:数据库的连接。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息