100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > php-初体验 Apache初次配置PHP基本语法

php-初体验 Apache初次配置PHP基本语法

时间:2020-03-06 09:58:35

相关推荐

php-初体验 Apache初次配置PHP基本语法

PHP核心编程

前言:

==学前端为什么要学php?==

从个人来讲:

​ ==了解后端开发流程之后,有利于项目沟通==

​ 懂的越多,薪资越高

从公司来讲:

​ 公司老板也希望你能够承担更多工作,一个人当两个人用

​ PHP是现在非常流行的一种后端开发语言,常见的语言还有:JSP、、 Ruby等。相对于其他的语言来讲,PHP更容易上手,并且开发速度快、功能强大。

每日目标:

说出什么是服务器,什么是web服务器

说出PHP的作用

能够独立安装phpstudy

能够说出IP、DNS、端口是什么

理解PHP的运行原理

掌握PHP基本语法规则

1. web服务器

问题: 当我们写好一个html文件,放在桌面上时,别人能不能通过浏览器访问?

答: 不行。 必须将我们的html文件放入==web服务器==,其他人通过网络才能访问。

1.1 什么是服务器?

服务器可以从硬件、软件(系统软件、应用软件)两个角度描述。

按硬件描述: 服务器就是一台超级计算机。

按系统划分: 在硬件上安装了什么操作系统,就可以称为该系统的服务器

例如: linux服务器、windows服务器、unix服务器等。

按软件划分: 在操作系统中安装了什么软件,就可以称作该软件的服务器

例如: ==web服务器、数据库服务器==、邮件服务器等。

1.2 Web服务器

Web服务器就是安装了Web服务软件,能够提供网站服务的服务器。淘宝、京东、新浪等等

常见的Web软件:

==Apache==、Nginx、IIS、Tomcat、Node等。

Apache服务器、Nginx服务器、IIS服务器、Tomcat服务器、Node服务器

​ Apache是世界使用排名第一的Web服务器软件。我们将编写好的html、css、js等文件存入apache,就能够通过网络来访问这些文件了。

​ PS: web服务器又叫做http/httpd服务器

2. PHP概述

2.1 PHP简介

​ PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。主要适用于==Web领域的开发==,能够完成==动态网页==的制作。

例如:淘宝的搜索功能,不同的关键词能够动态产生不同的网页。

2.2 PHP特点

PHP是目前最流行的网站开发语言(B/S结构)之一。

PHP是一种在服务器端执行的嵌入HTML文档的脚本语言。

PHP 独特的语法混合了 C、Java、Perl 以及 PHP 自创新的语法。

PHP是一种解释型弱类型语言 (弱类型 解释执行 / 强类型 编译执行)

支持几乎所有流行的==数据库==以及操作系统。

源码开放、免费(free) zend

2.3 B/S结构和C/S结构

C/S软件体系结构,即Client/Server (客户机/服务器)结构。

核心特点:==要下载一个客户端==,例如:QQ、微信、LOL、王者荣耀、绝地求生等。

C/S结构的软件,服务器主要做==数据转发==工作。以QQ聊天为例:

任何两个人聊天的内容都会发送到QQ服务器上,然后再由QQ服务器进行转发

​ 王小贱和小仙女聊天

唐小贱发送一句话,这句话会先发送到QQ服务器,再由QQ服务器转发到小仙女的客户端。

B/S软件体系结构,即Browser/Server (浏览器/服务器)结构。

核心特点:==使用浏览器(Chrome、Firefox等)进行操作==,例如:淘宝、京东、新浪等。

B/S结构软件,服务器承担了所有业务,浏览器只是用来显示最终内容的。

思考问题: B/S的优势和劣势, C/S的优势和劣势。

B/S的优势: 部署方便,容易维护。用户使用方便(一个浏览器即可)。

B/S的劣势: 客户端功能简单

C/S的优势: 功能强大

C/S的劣势: 必须下载客户端非常麻烦,升级维护麻烦

3. 安装环境 (phpstudy)

phpstudy是一个集成环境,集成了Apache(IIS和nginx)、PHP、MySQL。 安装该软件后,PHP开发的程序就能运行了。

3.1 准备工作

解压phpstudy包

解压后:

3.2 安装

双击安装文件即开始安装

特别注意:==phpstudy的安装路径中不允许出现中文==,今后安装所有开发相关的软件时也都安装在英文路径下

​ 此处选择“是”

设置防火墙允许访问, ==Apache和MySQL==都要允许

开启Apache和MySQL服务: ==绿色圆圈表示启动, 红色方块表示停止==

测试: 开启任意浏览器,输入下列地址

127.0.0.1 、 127.0.0.1:80

localhost 、 localhost:80

看到上图说明已经安装成功

3.3 phpstudy目录结构

phpstudy集成了 Apache、IIS、nginx三种最常见的web服务器软件和多个版本的PHP,并且通过图形化控制面板(phpstudy.exe)可以自由切换

切换服务器和php版本: 默认使用的是 ==Apache + php-5.4.45==

3.4 Apache目录结构

配置文件中带 # 的都是注释项,不带的是有效的配置项

主要配置项:

重点:

Listen: 如果报80端口被占用可以修改为其他值,例如:8088

DocumentRoot: 配置html、css、js、php等文件保存的路径。

浏览器中输入localhost或者127.0.0.1,系统就会去DocumentRoot指定的目录去寻找对应的文件。

1525313932857

DirectoryIndex: 默认访问文件配置

localhost => localhost/index.html

localhost : 首先在www目录下找 index.html;如果没有index.html,找index.php;如果没有Index.php找index.htm;没有则找 l.php。 如果连 l.php都没有,则会将 www 目录下的所有文件和文件夹以列表形式显示出来

3.5 PHP目录结构

php.ini: php配置文件。 进入到 php-5.4.45目录

带 ; 是注释,不带的是有效配置项

3.6 WWW目录

我们今后编写的所有网页文件(html、css、js、php)和网页所需要的资源文件(图片、音频、视频) 都需要保存在该目录下。

从今天开始的19天课程中,当我们通过浏览器访问任意页面时,都需要在浏览器的url地址栏输入类似地址来进行访问,不论是php文件还是html文件。

==localhost/index.html localhost/admin/showlist.php==

localhost会找 d:/phpstudy/www 目录下的文件

4. 初识PHP

4.1 第一个程序 — Hello World

1) 在WWW目录下创建如下目录结构: php1/code/

2) 在code目录下创建 hello.php 文件

3) 使用sublime(或其他编辑器)打开hello.php,编写如下代码

4) 访问测试

​ 在浏览器中输入:localhost/php1/code/hello.php

4.2 程序解析

1) ==php文件不能使用中文进行命名, 浏览器地址栏不允许出现中文== —- 在实际开发中摒弃中文

2)从今天开始的19天,在浏览器中查看任何文件(不管是html还是php)都必须使用localhost

3) PHP程序可以和HTML进行混编,可以写在HTML中的任何位置,head、body,任何标签,任何属性均可

4) php语言的标记

==

5. URL解析

5.1 URL地址说明

URL: uniform resource locator 统一资源定位器

​ localhost <==> http://localhost:80/index.html (全URL)

http: 超文本传输协议localhost: 域名。(一般域名:,) localhost是特殊域名,每一台电脑都有,并且指向当前使用的电脑80: 端口号。 apache的默认端口号为80,所以可以省略不写 (tips:很多web服务器默认端口都是80 Nginx IIS)index.html: 访问的文件的路径 (localhost指向了 d:/phpstudy/WWW),所以该url地址访问的是 d:/phpstudy/WWW/index.html文件

如果没有指定访问的文件,则默认会访问index.html文件;如果没有index.html文件,则会以列表形式显示当前目录下的所有文件夹和文件

localhost: D:\phpStudy\WWW

5.2 IP

IP: Internet Protocol 互联网协议,是为计算机网络相互连接进行通信而设计的协议。

​ 处于网络(互联网、局域网)上的任何一台计算机都有一个独立的ip地址。

ip地址由4段3位长度的数字组成, 3位数字的取值范围 0-255。如: 102.15.201.10

特殊ip:

127.0.0.1 : 回环地址,每一台电脑都有该ip,指向当前使用的电脑

192.168.*.*: 该网段是专门用于做==局域网==的ip段。

5.3 域名

域名(Domain Name): 每个网站都有一个自己的域名。人们可以在浏览器中输入域名来访问对应的网站。

淘宝:

百度:

特殊域名:

localhost: 本地主机。在浏览器中输入localhost就会访问当前操作的这台电脑的web服务器。

5.4 DNS

DNS: Domain Name System 域名系统。在DNS服务器中保存了域名和IP的映射关系。主要工作是将域名转换为IP地址,因为我们通过浏览器访问网站时,实际上是去找对应的IP地址。

域名: 网站的名称,就相当于人名。

IP: 网站在网络上的实际地址,就相当于人的住址。

一般访问网站时都是输入域名的(例如: ),但是在实际访问时域名会被DNS转换为IP地址。

DNS工作机制图:

hosts文件可以手动设置域名和IP的映射关系

dns缓存可以保存曾经访问过的域名和IP的映射关系

工作步骤:

1) 在浏览器中输入 ,按下回车

2) 浏览器首先在本机中的 hosts文件和dns缓存中查询,的IP地址。如果有,则获取该IP地址,然后去访问淘宝服务器。 如果没有,则向dns服务器发送解析请求。

3) dns服务器获取到浏览器请求信息之后, 将域名转换为IP地址,再将IP地址返回给浏览器。

4) 浏览器获取到IP地址,然后通过IP地址访问淘宝服务器。

windows下查看dns缓存:

ipconfig /displaydns

ipconfig /displaydns > c:/dnscache.txt 将dns缓存导入到c:/dnscache.txt文件

windows下清除dns缓存

ipconfig /flushdns

IP地址和域名是不是一一对应的?

有域名没有IP; 有IP没有域名;一个IP对应多个域名。

5.5 端口

​ 端口是英文port的意译。端口可以理解为区分服务器上服务的标号。

已被占用的著名端口号:

80: Web端口号, Apache、Nginx、IIS

21: FTP端口号, FTP软件

22: SSH端口号

25: sendmail端口号

……

因为Web服务的默认端口号是80,所以在地址栏可以不输入,但是如果将端口号改为其他的(如:8088),那就必须输入端口号,才能正常访问。

6. PHP运行原理

6.1 HTML运行原理

1) 在浏览器的URL地址栏中输入 /index.html 地址,点回车。请求就发送给百度服务器。

2) 百度服务器找到index.html文件,并将文件的内容返回给浏览器

3) 浏览器接收到index.html中的内容,渲染到页面上。

同理: localhost/a.html , 则会返回 本机web服务器根目录下 a.html文件的内容。浏览器拿到内容后进行渲染。

6.2 PHP运行原理

==apache不认识php==

==浏览器也不认识php==

1) 在浏览器地址栏中输入 localhost/index.php ,点回车之后。将请求发送给apache服务器。

2) 服务器找到 index.php文件之后,转发给php解释器

3) php解释器将index.php文件中的php代码全部转为html,再返回给apache

4) apache将处理好的html返回给浏览器,浏览器渲染后就可以看到页面

7. PHP的数据类型

PHP数据类型一共有8种:

基本类型(标量):

​ 整型: 整数, 例如: 10, 234, -20, -35

浮点型: 小数, 例如: 3.1415, 2.13, 35.123

布尔值: true/false

字符串: 使用单引号/双引号包含的内容, 例如: ‘abc’, “王者荣耀”

复合类型:

​ 数组

对象

特殊类型:

​ 资源 、 null (空)

8. 变量

变量命名规则:

由字母、数字、下划线组成,必须以字母或者下划线起头变量的长度可以是任意的,但不能超过255个字符最前面需要加 $变量名最好有意义,能够做到见名知意当变量名由多单词组成时,最好使用下划线分割或者使用驼峰命名法PHP变量区分大小写

<?php // 正确的变量名$int = 123;$str = 'abc';$str1 = "def";// 变量名区分大小写$INT = 234;echo $int;echo $INT;// 推荐的变量名$goods_name = "华为 保时捷";$goodsPrice = 10888;$a = 'big';$big = 123;echo $$a; //可变变量 echo $big?>

以下变量名哪些是正确的:

$a、 $var、 $_123、 $1b、 $_#abc、 $b1c2

9.双引号和单引号的区别

双引号中的变量会被解释为值,单引号中的变量会被解释为字符串

单引号的执行速度会快于双引号的速度

10. 常量

保存不会发生改变的数据(如:3.1415, 路径等)时,最好使用常量。

常量的使用方法:

1) 声明: define(常量名, 常量值, 大小写区分标志);

​ true(不区分)/false(区分/默认);

2) 调用: echo 常量名;

11. 运算符

11.1 运算符种类

算术运算符

字符串运算符

赋值运算符比较运算符逻辑运算符

其他运算符

算术运算符:

特殊案例:

$str = "abc";$int = 20;echo $str + $int; //20$str = "5";$int = 20;echo $str + $int; //25

赋值运算符:

$a += $b $a = $a + $b

比较运算符:

逻辑运算符:

异或: (了解)

true xor true = false

true xor false = true

false xor true = true

false xor false = false

其他运算符:

三元运算符: 判断表达式?值1:值2

php默认内置有4种错误:

notice: 通知错误

Warning error: 警告错误

Parse error: 解析错误

Fatal error: 致命错误

@不能屏蔽掉所有的错误。 也不建议在实际开发中使用该符号。

<?php // 语法错误是不能被屏蔽掉的@$books = "JavaScript"echo $books;// 大多数其他错误是可以被屏蔽掉的@abc();?>

11.2 字符串链接运算符

字符串拼接: .

12. 流程控制

12.1 选择结构 (if…else)

if(判断表达式){程序块1;} else {程序块2;}if(判断表达式){程序块;} elseif(判断表达式) {程序块;} ...{} else {程序块;}

案例1: 判断三个变量中的最大值

header('content-type:text/html;charset=utf-8');$a = 40;$b = 50;$c = 30;if ($a > $b) {if ($a > $c) {echo '最大值是:$a';} else {echo '最大值是:$c';}} else {if ($b > $c) {echo '最大值是:$b';} else {echo '最大值是:$c';}}

案例2: 判断时间,提示不同的问候语

header('content-type:text/html;charset=utf-8');$time = 10; //此处应该动态获取当前时间(小时)。因为没有学过动态获取时间,先固定成某个值if ($time >= 0 && $time < 6) {echo "凌晨好";} else if ($time >= 6 && $time < 12) {echo "上午好";} else if ($time >= 12 && $time < 18) {echo "下午好";} else if ($time >= 18 && $time < 24) {echo "晚上好";} else {echo "时间有误";}#警示 6 <= $time < 12

12.2 循环结构 (while / for / do…while)

while(判断表达式){程序块;}for(赋值表达式; 判断表达式; 步进表达式){程序块;}do{程序块} while(判断表达式)下面循环执行几次?for(i = 1; i == 1; $i++){}for(i = 1; i = 1; $i++){}

案例1: 输出1-100之间的偶数

for ($i = 1; $i <= 100; $i++) {if ($i % 2 == 0) {echo $i . "<br>";}}

案例2: 输出九九乘法口诀表

for ($i = 1; $i <= 9; $i++) {for ($j = 1; $j <= $i; $j++) {echo $i * $j . "&nbsp;";}echo "<br>";}

12.3 分支结构 (switch)

switch(变量){case 值1:程序块1;break;case 值2:程序块2;break;...default:程序块}变量一般使用 : 整型 字符 字符串

案例: 不同语言的”我爱你”

header('content-type:text/html;charset=utf-8');$lang = 'dasdsad';switch ($lang) {case 'zh-cn':echo "我爱你";break;case 'en-us':echo "I love you";break;case 'de-de':echo "Ich liebe dich";break;case 'ja-jp':echo "あなたのことが好きです";break;case 'fr-fr':echo "Je t'aime!";break;default:echo "语种错误";break;}

12.4 特殊语句 (continue、 break)

​ contiune: 结束当前循环,直接跳入下一次循环

break: 结束整个循环

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。