前端将来要和 UI(设计师) 还有 后端进行交互
  就是熟悉了解后端的工作流程, 有利于将来前后端协作

2.注意事项:
  将来所有的 php 后缀的文件, 文件名不能出现中文, 文件路径也不能出现中文

3.服务器的概念
  服务器: 提供服务的机器
  根据提供的服务不同, 也有不同分类
    (1) 文件服务器
    (2) 邮件服务器
    (3) web服务器
    (4) 游戏服务器
  
  需要安装对应的服务器软件才能提供服务
  apache   (phpStudy集成环境, 集成 apache mysql php)

4.客户端的概念
  客户端: 是指安装了 客户端软件的 电脑, 可以向服务器 索取服务

5.BS和CS网站架构
  (1) Browser 和 Server
    优点:
      1. 免安装
      2. 跨平台性
      3. 页面更新方便
    缺点: 
      不太稳定, 依赖网络, 性能相对较差

(2) Client(客户端) 和 Server(服务器)
    优点:
      稳定, 性能效果, 用户体验好
    缺点:
      1. 开发人员需要开发不同的客户端软件, 成本高
      2. 更新维护麻烦
      3. 跨平台性好

6.动态网站和静态网站的概念
  静态网站: 由 html, css, js 组成的静态网页, 只要不进行修改, 就不会改变
  动态网站: 随着用户的不同, 用户的访问时机的不同, 来动态生成的网页
           数据从数据库来的

二、网络基础
1.ip: 一台计算机在网络中的唯一标识,  通过 ip 可以定位计算机
      缺点: 不好记

2.域名: 就是给 ip 起了个好记的名字

3.DNS: 存储了 ip 和 域名的对应关系
  本地 hosts 文件: 也存储了 ip 和域名的 对应关系

hosts 文件的优先级高!

4.端口: 每个端口对应不同的服务.  通过端口定位对应  不同的应用软件

WAMP: window + apache + mysql + php
LAMP: Linux + apache + mysql + php

服务器

前言:通俗的讲,能够提供某种服务的机器(计算机)称为服务器。

服务器软件

使计算机具备提供某种服务能力的应用软件,称为服务器软件,通过安装相应的服务软件,然后进行配置后就可以使计算具备了提供某种服务的能力。

常见服务器分类: 文件服务器、数据库服务器、邮件服务器、Web服务器等

其中与我们息息相关的是 web服务器, 想让计算机成为 web 服务器, 就要安装服务器软件, 提供 web 服务

常见的提供web服务的服务器软件

  • (1) IIS windows web 服务器软件

  • (2) apache web 服务器软件 ( 开源免费的 )

  • (3) Tomact

  • (4) Nginx

HTTP服务器(web服务器)

即( web服务器 )网站服务器**,主要提供文档(文本、图片、视频、音频)web浏览服务,一般安装Apache、Nginx服务器软件。

客户端

  • 客户端:通过安装客户端软件,索取服务的计算机

  • 服务器:通过安装服务器软件,提供服务的计算机

服务器与客户端的关系

软件架构

软件架构可以分为BS架构与CS架构

C/S架构

Client/Server架构,即客户端/服务器架构。需要安装对应的客户端软件,才能获取服务器的服务。

常见的CS架构:

​ QQ、LOL、微信等

特点:

  • 需要安装才能使用

  • 性能高效,使用更加稳定和流畅

B/S架构

Broswer/Server架构,即浏览器/服务器架构。随着Internet的兴起,无需安装专门客户端软件,通过浏览器去请求服务器;

  • 不需要安装,只需要浏览器即可。

  • 相比CS架构,性能相对较差,没有那么流畅和稳定。

搭建HTTP服务器

phpStudy介绍

phpStudy是一个PHP调试环境的程序集成包。该程序包集成最新的Apache+PHP+MySQL,安装非常的简单。

phpStudy的安装

安装phpStudy,解压双击安装(非中文路径),其它默认安装。

推荐就安装在默认的目录下,一定不能有中文,否则肯定启动不起来。

phpStudy的错误解决

如果phpStudy启动发生错误,参数下列几点。

  • 一是防火墙拦截,

  • 二是80端口已经被别的程序占用,如IIS,迅雷等;

  • 三是没有安装VC9运行库,php和apache都是VC9编译。

    解决以上三个问题,99%能一次性安装成功

为了减少出错安装路径不得有汉字,如有防火墙开启,会提示是否信任httpd、mysqld运行,请选择全部允许。

提示缺少vc9 库文件

在提供的资料库中找到phpStudy运行库, 根据自己电脑操作系统的位数安装对应的vc9运行库即可。

关闭防火墙

如果希望系统自己的服务器能够被别人访问。需要关闭防火墙。

//控制面板--->系统和安全--->Windows 防火墙--->启动或者关闭windows防火墙。

关闭IIS服务器

如果发现服务器启动不成功,很大原因是端口被占用了,因为windows默认会有一个iis服务器,只需要把iis服务器给禁用了即可。

//控制面板-->程序-->程序与功能-->启用或关闭windows功能

动态网站与静态网站

静态网站:使用浏览器端语言进行编程,网站由静态代码(HTML.CSS,JS)组成。

动态网站 :网页通过服务器的程序(php等)动态生成。用户可以和服务器进行交互(可以根据用户输入的不同信息,返回不同的运行结果)

总结

动态网站的 指的是网站数据的动 而不是 视觉上的动;

网络基础

ip地址

所谓IP地址就是给每个连接在互联网上的主机分配的一个32位地址。(就像每个人的身份证号码一样)

通过ip就可以找到具体的某一台计算机。

192.168.1.110

弊端:没有规律,不方便记忆和推广

查看本机IP地址 ipconfigifconfig(linux)

ping 192.168.1.110  //查看和某个同学的电脑是否连通

127.0.0.1作为本地测试的IP地址。(又叫本地回环地址)

192.168 开头为局域网的地址。

域名

由于IP地址基于数字,不方便记忆,于是便用域名来代替IP地址,域名是一个IP地址的“好记的名字”

查看域名对应的IP地址 ping

ping jd.com  //可以获取到京东的ip

特殊的域名

localhost,意思为本地主机。这是一个保留域名,主要用于本地测试,对应IP地址为127.0.0.1

DNS服务器

DNS(Domain Name System)因特网上作为域名和IP地址相互映射的一个分布式数据库, 能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。

简单的说就是用于记录IP地址和域名之间的对应关系。

查找优先级 本机hosts文件、DNS服务器。

端口

端口号是计算机与外界通讯交流的出入口,每个端口对应不同的服务。

查看端口占用情况 netstat -an

常见端口号 80、3306、21 ftp

本地hosts

Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统会再将网址提交DNS域名解析服务器进行IP地址的解析。

//hosts文件的地址:C:\Windows\System32\drivers\etc

//hosts文件内容
127.0.0.1 localhost
127.0.0.1 localhost
127.0.0.1  study.com
127.0.0.1  www.study.com

PHP基础

PHP简介

  • 开源(open source)软件,跨平台,常用操作系统稳定执行。Windows / Linux。做WEB开发的经典组合 WAMP,LAMP基本都是开源软件。

  • 入门简单,用户只需要关注应用,开发成本低。

  • 支持的大多数主流数据库。MySQL,oracle,Redis等

文件以.php后缀结尾,所有程序包含在<?php 这里是代码 ?>避免使用中文目录和中文文件名

php页面无法直接打开需要运行在服务器环境当中。

php初体验

webstorm对于php的支持并不友好,没有高亮显示,但是也支持代码提示,功能比较微弱,如果需要专业的提示和高亮,建议使用vsCode。

<?phpecho "hello world";
?>

输入中文乱码问题:如果使用echo输出中文,会乱码。

在php的语法中,末尾必须加分号,不然就报错了(最后一行可以不加分号)

<?php//content-Type:text/html;返回内容是一个HTML文档文本//charset=utf-8 设置编码集header("content-Type:text/html;charset=utf-8");echo "hello world";echo "<br/>";echo "大家好,我是鹏鹏";
?>

//思考:浏览器访问php文件时,过程是怎么样的?

变量

php是一门弱类型语法,变量的类型可以随意改变。变量其实就是存储数据的容器。

变量的命名规则

//1. 不需要关键字进行声明,变量在第一次赋值的时候被创建。
//2. 必须以$符号开始
//3. $后面的命名规则与js的变量命名规则一致。
$name = "鹏鹏";
echo $name;

变量操作

删除变量

unset($var);

​ 销毁指定的变量

判断变量是否设置值

bool isset($var)

检测变量是否设置,并且不是 NULL。

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

判断变量是否为空

bool empty($var)

​ 判断变量是否为空。PHP中认为变量的值为:""、0、"0"、NULL、FALSE、[]时,变量虽然赋值了,但是无实际的意义。为空。

数据类型

简单数据类型

字符串

$str = "鹏鹏";
echo $str;

整数

$num = 100;
echo $num;

浮点型

$float = 11.11;
echo $float;

布尔类型

$flag = true;
//当布尔类型值为true时,输出1
echo $flag;
$flag = false;
//当布尔类型为false时,输出空字符串
echo $flag;

字符串连接符

//1. 在php中,+号只有算数的功能,并不能拼串
//2. 在php中,拼串使用.
$name = "鹏鹏";
echo "大家好,我是" . $name . ",今年18岁";

php中的单引号与双引号

//1. 字符串的定义可以使用单引号,也可以使用双引号
$name = "鹏鹏";
$desc = '很帅';
//2. 双引号可以解析变量
//3. 单引号的性能会高于双引号(了解)$str = '$name 很帅';//$name 很帅
echo $str;$str = "$name 很帅";//鹏鹏 很帅
echo $str;

数组

在php中,数组分为两种,索引数组和关联数组

计算数组长度的方法: count(数组名);

索引数组(类似与JS中的数组)

$arr = array("张飞","赵云","马超");
echo $arr;//echo只能打印基本数据类型
echo $arr[0];//张飞

关联数组(类似与JS中的对象)

//属性名必须用引号引起来
$arr = array("name"=>"zhangsan", "age"=>18);
echo $arr["name"];

输出语句

//1. echo 输出简单数据类型
//2. print_r 输出数据结构,一般用于输出复杂类型。
print_r($arr);//print_r是一个函数,不要忘记小括号
//3. var_dump 输出完整的数据结构,包括类型,一般用于精准调试
var_dump($arr);

二维数组

数组中的每个元素又是一个数组二维数组的存取元素,需要两次访问,依次确定行和列$arr[x][y];

 xxxxxxxxxx  //索引数组
$arr=[        [1,2,3],        [4,5,6],        [7,8,9]    ]; //取值    echo $arr[2][2];
//存储一个人信息
$info=[        "name"=>"zs",        "age"=>100    ];
//存储一个班信息    $infos=[
[            "name"=>"zs",            "age"=>100        ],       [            "name"=>"ls",            "age"=>100        ],      [            "name"=>"ww",            "age"=>100        ]    ];
//取值
echo $infos[1]["name"];

对象(了解)

在php以及其他高级语言中,都有类的概念,表示一类对象,跟js中构造函数类似。

//定义一个类(类似js的构造函数)
class Person {public $name = "小明";public $age = 12;private $sex = "男";
}$zs = new Person;
print_r($zs);//打印对象的结构信息
echo $zs->name;//对象中取值用 ->
echo $zs->age;
echo $zs->sex;//私有属性,无法获取

语句

判断语句

基本上来说,所有语言的if..else语法都是一样

$age = 17;
if ($age >= 18) {echo "终于可以看电影了,嘿嘿嘿";
} else {echo "哎,还是回家学习吧";
}

循环语句

遍历索引数组

$arr = array("张三", "李四", "王五", "赵六", "田七", "王八");
//获取数组的长度: count($arr)
for($i = 0; $i < count($arr); $i++) {echo $arr[$i];echo "<br>";
}

遍历关联数组

//遍历关联数组
$arr = array("name"=>"zs","age"=>18,"sex"=>20
);
foreach($arr as $key => $value) {echo $key . "=" . $value . "<br>";
}

函数

<?phpheader("content-Type:text/html;charset=utf-8");//php中函数的语法与js中函数的语法基本一样,不同点在于//1. 函数名大小写不敏感//2. 函数的参数可以设置默认值function sayHello ($name="周杰伦") {echo "大家好,我是$name";echo "<br>";}sayHello();//不传参数,会使用默认值sayHello("鹏鹏");//传参数,默认值不生效
?>

常量

常量的定义

脚本执行周期内,值不会发生改变的量。常量不可以修改及删除。英文为:constant

语法

define(常量名,常量值);
define('VERSION','1.2.0'); //常量默认全部字母大写
define('PI',3.1415926);
echo PI;             //使用时直接使用常量名
- 常量默认区分大小写。
- 按照开发惯例,常量名推荐全部字母大写。
- 常量不可以重复定义及修改数据。

PHP内置函数

数学函数

- max(),min()   分别返回一组数的最大值及最小值;- abs() 返回绝对值。- floor() 向下取整。- ceil()  向上取整。- round() 四舍五入。- rand()  返回随机数,可以取到两端的值。

日期函数

  • time() 返回当前的 时间戳(1970到现在的时间的秒数)

  • date(format,time) 格式化一个本地时间或日期

    格式:Y(年) m(月) d(日) H(时) i(分) s秒

 $time=time();//获取时间戳echo date('Y-m-d H:i:s',$time); //格式化时间戳

默认时区会不太正确, 我们在东八区, 比0时区会多八小时

在php.ini里加上找到date.timezone项,设置date.timezone = "PRC",重启环境就ok了。

PRC: 中华人民共和国

字符串函数

- str_replace(查找的值,替换的值,执行替换操作的字符)       字符串替换
- trim(字符串);     去除首尾空白字符
- explode(分割符,执行分割的字符串);        使用一个字符串分割另一个字符串
- implode(连接符,执行连接的数组);           将数组根据连接符拼接成字符串
- substr( 字符串,起始索引,截取长度  );    截取字符串
- strchr(字符串,标识字符);          从左向右找标识字符,返回该字符后全部字符(包括该字符)
- strrchr(字符串,标识字符);        从右向左找标识字符,返回该字符后全部字符(包括该字符)

vscode快捷键

- Ctrl+Shift+N 打开新窗口
- Alt+ ↑ / ↓ 当前行上/下移
- Shift+Alt + ↓ / ↑ 向上/下 复制一行
- Ctrl+Shift+K 删除行
- Ctrl+X 剪切 (剪切行)
- Ctrl+Enter 光标移动到下一行

PHP基础学习笔记(1)相关推荐

  1. guido正式发布python年份_Python 基础学习笔记.docx

    Python 基础学习笔记 基于<Python语言程序设计基础(第2版)> 第一部分 初识Python语言 第1章 程序设计基本方法 1.1 计算机的概念 计算机是根据指令操作数据的设备, ...

  2. ASP.Net MVC开发基础学习笔记(5):区域、模板页与WebAPI初步

    http://blog.jobbole.com/85008/ ASP.Net MVC开发基础学习笔记(5):区域.模板页与WebAPI初步 2015/03/17 · IT技术 · .Net, Asp. ...

  3. Python3 基础学习笔记 C09【文件和异常】

    CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...

  4. Python3 基础学习笔记 C08 【类】

    CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...

  5. Python3 基础学习笔记 C07【函数】

    CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...

  6. Python3 基础学习笔记 C06【用户输入和 while 循环】

    CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...

  7. Python3 基础学习笔记 C05【字典】

    CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...

  8. Python3 基础学习笔记 C04【if 语句】

    CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...

  9. Python3 基础学习笔记 C03【操作列表】

    CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...

  10. Python3 基础学习笔记 C02【列表】

    CSDN 课程推荐:<8小时Python零基础轻松入门>,讲师齐伟,苏州研途教育科技有限公司CTO,苏州大学应用统计专业硕士生指导委员会委员:已出版<跟老齐学Python:轻松入门& ...

最新文章

  1. spring--(4)级联属性赋值
  2. python引入header_Python请求ImportError:无法导入名称HeaderParsingError
  3. Angular input控件的click事件响应处理的调用上下文
  4. 建堆解决TopK问题
  5. Hive报错:Hive JDBC:Permission denied: user=anonymous, access=EXECUTE, inode=”/tmp”
  6. 【建议收藏】找不到免费的角色动画?来试试mixamo
  7. springboot配置文件(.yml)中自定义属性值并在controller里面获取
  8. php全词查询,php 关键词查询的实现方法
  9. php 页面缓存的做法,使用php进行页面缓存
  10. android apk 反编译 工具下载,android apk反编译工具下载_android apk反编译工具官方下载-太平洋下载中心...
  11. 一起学爬虫(Python) — 01
  12. ettercap dns投毒
  13. HYPERLEDGER FABRIC网络搭建之network e2ecli_default not found
  14. 基于麻雀算法的无人机航迹规划 - 附代码
  15. js获取最新的省市区地址
  16. 反问疑问_反问疑问句
  17. 经纬度坐标转换为屏幕坐标
  18. 【C#编程】两点距离计算
  19. 京东数科一面实习面经
  20. 最新92kaifa开发的帝国cms7.5美nv主播视频网站源码 自适应手机端

热门文章

  1. 英语口语练习系列-C31-图书-谈论事物-白雪歌送武判官归京
  2. win10 自己开启 DIRECT 热点
  3. 孙悟空在大闹蟠桃园的时候,第一天吃掉了所有桃子总数一半多一个,第二天又将剩下的桃子吃掉一半多一个,以后每天吃掉前一天剩下的一半多一个,到第n天准备吃的时候只剩下一个桃子。这下可把神仙们心疼坏了,请帮忙
  4. 如何直接将jsoncpp引入项目
  5. 官网中如果引入公共的头部导航
  6. WebGL编程指南-31 HUD(平视显示器)实现
  7. 【CryoEM】FSC, Fourier Shell Correlation简介
  8. ASP页面尝试 灯鹭社会化平台登录
  9. 使用dom4j解析xml工具类
  10. 在线计算机励志文案,励志文案短句干净治愈100句.docx