第二课

LAMP:

Linux

apache

ngix

PHP

第三课



搭建server方式:

1.集成安装环境

XAMPP软件包:www.apachefriends.org

2.单独配置

第四课



XAMPP

包括了执行站点的几个必须的套件

1.apacheserver

2.PHP解释器

3.Mysql数据库


apache:

path:xampp的安装文件夹

文件夹:path/xampp/apache


mysql:

文件夹:path/xampp/mysql


PHP:

文件夹:path/xampp/php


1.XAMPP的启动

2.XAMPP的退出

3.apache的启动和关闭

4.mysql的启动和关闭

5.改动apache的默认port

1.通过xampp的面板

2.通过更改配置文件


第五课

PHP程序编写规则:

1.编写的PHP文件,以php作为后缀

2.PHP代码必须凡在<?

php 和?>之间

3.在PHP中。每条语句必须以分号结束(最后一行语句能够不要)

书写规则

2.怎样布置我们的PHP代码

1.将PHP代码布置到apacheserver中指定的一个文件夹,在xampp这个

集成软件的文件夹是:path/xampp/htdocs这个文件夹下

通常我们一个站点有多个网页,而为了更好的管理多个网页,我们通常

使用目录进行归类

目录名:bdqn_php_basic(project名能够自己定义)

path指的是xampp的安装文件夹

注意:

1.程序部署的文件夹是由apache的配置文件定义的



配置文件:apache/conf/httpd.conf

配置的选项:DocumentRoot"D:/xampp_2/htdocs"



DocumentRoot "D:/xampp/htdocs"

<Directory "D:/xampp/htdocs">



通过http://localhost:80/bdqn_php_basic/first_php.php 进行我们第一个网页的訪问


第六讲:PHP站点执行的基本原理



1.我们创建了一个first_php.php的文件,而且在文件中面写了一行PHP代码



2.我们把这个first_php.php这个文件部署到了xampp apacheserver之中



部署地址:apache配置文件httpd.conf中DocumentRoot指定文件夹中



3.在浏览中去訪问



浏览器和server的关系



B端                      
   S端

http://localhost:80/bdqn_php_basic/first_php.php  请求-------------------> http协议   


HTTP:超文本传输协议

client通过URL(统一资源定位符)(网址)找到server的

网址在HTTP协议中被称为URL

URL解析:

http://www.baidu.com

(server的Internet地址。即域名)

http://localhost:80/bdqn_php_basic/first_php.php



第三方存在例如以下一张表

域名 IP

baidu.com
212.21.8.4(一台计算机在互联网上的唯一IP地址)



完整的URL,应该包括port,http协议默认port是80port



查看相应port是否有相应的服务

作用:确保httpclient和httpserver之间,准确无误的传递数据

第七课 

第二章 PHP变量和数据类型



2.1 课程 PHP基础语法



什么是语法

语:语言  人类语言。早于计算机语言的出现

事实上语法,在開始的时候,是用来定义人类语言的



PHP基本的语法:

1.PHP的代码,位于<?php>和?>之间

2.PHP语言能够嵌入到HTML代码中

3.PHP的指令分隔符; PHP须要在每一个指令的后面使用分号结束

java。php,C语言。语句都分成两种:

1.流程控制语句:

if(){},while(){},for(){}

2.全部的功能运行语句

echo'字符串';

substring($str,0,3);



4.PHP程序的凝视



/* 凝视 */



/**

*这里的凝视

*/

//凝视

#凝视

<!-- 凝视 -->



5.关于PHP中空白符的使用

空白符有哪些:

1.空格

2.Tab制表符

3.换行符



使用:提高程序可读性



什么时候使用换行:

1.在两个”功能运行语句“之间,须要换行

2.定义类的时候 class Person(须要换行)

...

2.2 PHP的变量和常量


作用:

用于暂时的存储数据的容器



1.以$開始。后面紧跟变量的名称

a.变量名最好是见文知意

2.PHP中变量名是区分大写和小写的



3.PHP变量的命名规则

PHP是弱类型的语言,所以说。我们在声明的变量的时候。能够

不指定数据类型



PHP变量规则:

1.变量以字母或者下划线开头

2.变量仅仅能由字母

3.不能使用keyword作为变量名



1.变量定义

1.1 传统变量的定义

1.2 可变变量的定义



2.变量的传递

2.1 按值传递

2.2 引用传递




2.3 PHP的数据类型-概述



什么是数据类型:

和变量有关系。是用来描写叙述变量的属性



$price

$name



数据类型,在PHP里面,是用来描写叙述变量的值的类型

数据类型,决定了变量在内存中的分配方式



PHP的数据类型 和 JAVA的数据类型有什么不同





1.PHP是弱类型的语言

$price = 23.5

$name = 'PHP从入门到精通'





2. JAVA强数据类型语言

int age = 18;

string name = 'PHP';

float price = 23.5;



PHP基本数据类型:

字符串:string

小数:faloat

整数:int

逻辑型:boolean



复合类型

数组: //存储一个系列的图书的名称 array()

对象:



特殊的数据类型:

NULL:当定义一个变量。我们没有进行初始的时候,系统会给它一个默认值NULL

资源类型

比如:数据库类的连接(第三方资源)

Callback




2.4 PHP基本数据类型-整型(int)



PHP是弱类型语言



PHP整型的支持

1.支持十进制





$age = 18;



2.支持十六进制 0-9  A B C D E F





$temp = 0x55AB;



3.支持8进制 0-7





$temp = 0755==========> 7*8^2 + 5*8^1 + 5*8^0




4.支持二进制





$temp = 0b101;




在PHP中。支持最大的型是多少?



最大整数:2^31 4字节 有一位符号位

最小整数:-2^31-1




PHP不支持无符号型整数



2.5 PHP的布尔型数据结构



布尔类型是用来存储真假的数据类型



是用来描写叙述变量值为真或者假的情况的



keywordtrue,false 不区分大写和小写



3.使用场景

1.流程控制语句

if($is_boy)

{

}





2.三运算符

$a == $b ? 'true':'false';








2.6 PHP基本数据类型----浮点类型



小数 == 浮点类型



浮点数的精度



10进制小数。转换成2进制小数的问题



比如:

10.7 

步骤:

1.先转换十进制整数部分

//十进制转二进制:除2取余倒序

10 -------> 1010

2.再转换十进制小数部分

// 十进制小数部分乘2取整数部分。顺序排列

0.7 ------>1 01100 01100 01100 ...

在这里。计算机会自己主动依据平台和PHP执行的解释器,自己做小数的保留





3.两部分相加





10进制小数,转2进制小数时。有时候不能用2进制

准确表示10进制的值



浮点数的最大值:1.8e308





2.7 PHP基本数据类型----字符串



用来保存字符串的一种类型:





在PHP中有四种方式能够声明一个字符串





1.使用‘’声明





2.使用 “”声明





3.heredoc





4.nowdoc





单引號和双引號的差别:









2.8 数据类型之间的转换



1.自己主动类型转换(程序维护)

程序在遇到不同类型,程序会进行自己主动的转换,转换关系例如以下:

整形 《------
字符串

 |

 |

 |

 V



浮点型 《-------
boolean





2.强制类型转换(程序来维护)

(int)

(string)

(bool)

(array)









2.9 PHP的数据类型--常量



常量:

指的是在程序的运行中无法改动的值



定义常量:使用函数define(。)

define(,);

比如

define('PI',3.1415926)



推断常量是否定义:使用函数defined()





第三章  PHP的运算符



3.1 运算符简单介绍

PHP支持的运算符

算术运算符:加减乘除



赋值运算符

x = 2; = 称为运算符



比較运算符

>, <,==。,>=,<=



逻辑运算符

&& || !  or and  

 

3.2 赋值运算符





使用:

将一个值。赋值给还有一个变量





3.3PHP运算符-算术运算符







-

*

/:3/2 == 1.5

% :

求模的两端都是正整数的时候。那么这个操作和计算一样

假设求模两端出现小数,则会转化为整数



假设求模的两端出现负数。先依照正数算。让后结果符号和第一个数符号同样



       取反 - 



全部的运算符,他的操作对象,要么一个变量,要么是一个表达式



3.4 比較运算符

比較运算符:就是用来比較两个变量的值的运算



比較运算符:终于的运算结果是bool类型

= <> !==(不全等于)



==:用于比較两个值是否相等



===:不但比較两个变量的值。并且还要比較变量的地址



var_dump($age == $age1)//PHP的函数。比較两个变量的值,返回值为bool



3.5 PHP的逻辑运算符

是对逻辑进行推断的一种运算符

逻辑运算符的分类:

逻辑与 而且

逻辑或 或者

逻辑非 相反

逻辑异或 xor 两个比較的值不一样时,就是真



注意:逻辑运算符的两端都必须为bool类型。假设不是类型。就会转换为bool类型

空字符串 或者‘0’位false

NULL 也为false

array中没有元素,转换为bool类型的时候也是false



3.6 PHP位运算符

位运算符:

原理:把运算符两端的整数转换为二进制,然后对其进行操作

3.7  其它运算符

错误控制运算符:@

作用:可能产生的不论什么错误信息都被忽略掉。用于于临时抑制错误

递增/递减运算符:

++:

前置++:先赋值,后++

后置++:先++,后赋值

--:

前置--:先赋值,后--

后置--:先--,后赋值

运行运算符:``

作用用以运行命令的

$c = `dir('C:\\')`;

echo $c;

字符串运算符:

$a = 'abc';

$b = 'efg';

字符串连接使用‘-‘(-)减号。不能使用加号

3.8 运算符的优先级

算术运算符的优先级:先乘除,后加减

clone new的优先级最高

运算符的左结合和右结合

第四章 PHP的结构控制

4.1 结构控制概述



1.机器语言 0,1

2.汇编语言

ADD =》 +

3.高级语言

用更加利于人类去理解的方式来敲代码

面向过程的语言

C语言 PHP

面向对象的语言

PHP,JAVA



结构程序设计:

结构程序设计是依照一定的原则和原理。组织和编写正确并且易读的程序的软件技术



程序设计的观点,不论什么一个程序都仅由顺序,条件和反复三种基本控制结构组成

顺序结构



选择结构



循环结构



4.2 程序结构

1.顺序结构

顺序的运行程序:从左到右。从上到下顺序运行

4.3 选择结构

PHP选择结构

1.最简单的条件语句


4.4 选择结构

if

else

二选一的情况

4.5 条件多分支情况

header(,。)作用发送一个自己定义的http报文,

比如

header('Content-Type:text/html;charset=utf-8');

CHARSET=gb2312

charset=gbk

charset=utf-8

if elseif .. else

4.6 switch多分支

使用场景:须要把同一个变量(或表达式)与非常多不同的值进行比較

并依据它等于哪一个进行相关操作

4.7 while循环结构

rand(var1,var2);

函数说明:产生一个随机数,该随机数的范围在var1。var2之间

4.10 for循环

for(;;)

4.11 foreach循环

foreach仅能用于对象和数组。两种语法

定义数组

$test_data = array('apple','banana','orange','tomoto','type'=>'fruit');

1.方法一

foreach($arr as $value)

遍历上面的数组

foreach($test_data as $item)

2.方法二

foreach($arr as $key=>$value)

遍历上面的数组方法

foreach($test_data as $key=>$value)

echo 'key = ',$key,',value=',$value,'<br/>';


第五章  PHP函数的使用



5.1 函数的基本介绍 

函数使用的领域

1.数学领域的函数

2.计算机领域的函数:固定的一个程序段。或者称其为一个子程序,用来实现固定的功能

实现固定的程序段或者功能


函数的特点:

1.重用代码,降低不必要的,反复代码的编写,提高程序的重用性



5.2 函数的定义以及分类以及长处

函数的定义

function fun_name()

{

//code

}

PHP函数的分类

系统函数:

PHP语言自己实现好的函数:abs(),main(),sort()



自己定义函数:



函数的长处:

1.调高代码的的重用性

2.减少了代码的复杂度

3.避免程序修改带来的影响

4.封装性(算法。数据结构)



5.3 用户自己定义函数

怎样去声明。定义一个函数

语法规则:





function func_name(paramters){

//代码块

}



自己定义函数而且进行调用



定义函数的注意事项:



1.定义函数必须使用keyword:function

2.函数的名称的命名规则和变量的命名规则相互一致,函数的

的名称不区分大写和小写

3.





5.4 PHP函数的參数传递

參数的作用是什么:

把外部的值。变量传递到函数内部



參数和函数体有关系:參数的个数,以及需不须要參数是由业务逻辑參数是由来决定

,一般是由于在代码(函数体)里须要使用到外部数据时。才使用參数将外部的值传递给函数体



參数:就是函数的入口

返回值:就是函数的出口,能够使用return;返回函数



函数參数传递的分类:

1.普通的參数传递:即是值传递

max_define(17,19);



$a = 17;$b = 19;

max_define($a,$b);



2.按引用来进行传递:改变函数外部的变量

按引用传递函数定义



max_redefine(&$a,&$b);



5.5 PHP变量的作用域

作用域:指的是变量的生命周期,相对于内存





变量要有内存空间存储变量的值

1、PHP中变量作用域分类

1.局部变量

函数里面定义的变量

2.全局变量

就是在PHP文件里直接定义的(不在函数体,类属性,方法里面)



3.超全局变量

生命周期在PHP程序開始的时候就已经存在

$_GET ---HTTP GET 变量

$_POST
---HTTP POST 变量

$_FILES
---HTTP 文件上传变量



总结:

局部变量的生命周期最短。仅仅存在于代码块中



使用全局变量:global $a;



2.在函数里面使用全局变量要使用keywordglobal进行声明



function test_area()

{

$c = 8;



global $a,$b;

echo $a,$b;

}

开启我的PHP学习之旅的更多相关文章

  1. 开发了5年android,我开始了go学习之旅

    前言 做了近5年的android开发,最近项目也是不怎么忙,空闲的时候总会思考一些事情,不过作为移动开发,我个人觉得很有必要学习后台开发,由于公司是Go语言开发的,了解go语言一段时间后,我发现go语 ...

  2. WCF学习之旅——第一个WCF示例(二)

    第四步:通过自我寄宿的方式寄宿服务 WCF服务需要依存一个运行着的进程(宿主),服务寄宿就是为服务指定一个宿主的过程.WCF是一个基于消息的通信框架,采用基于终结点(Endpoint)的通信手段. 终 ...

  3. 我的Android学习之旅(转)

    去年大概在七月份的时候误打误撞接触了一阵子Android,之后由于工作时间比较忙,无暇顾及,九月份的时候自己空闲的时间比较多,公司相对来说加班情况没以前严重.开启了个人的Android学习之旅,初衷是 ...

  4. Android学习之旅(一)

    2017-02-27 今天开始,正式开启Android学习之旅,背景从事.Net平台开发快五年了,一直在用C#做Web开发. 前天选购了两本书:<Java 编程思想(第四版)>和<第 ...

  5. Unity Shader 学习之旅

    Unity Shader 学习之旅 unityshader图形图像 纸上学来终觉浅,绝知此事要躬行 美丽的梦和美丽的诗一样 都是可遇而不可求的——席慕蓉 一.渲染流水线 示例图 Tips:什么是 GP ...

  6. 滴滴Booster移动APP质量优化框架 学习之旅 二

    推荐阅读: 滴滴Booster移动App质量优化框架-学习之旅 一 Android 模块Api化演练 不一样视角的Glide剖析(一) 续写滴滴Booster移动APP质量优化框架学习之旅,上篇文章分 ...

  7. 滴滴Booster移动APP质量优化框架 学习之旅

    推荐阅读: 滴滴Booster移动App质量优化框架-学习之旅 一 Android 模块Api化演练 不一样视角的Glide剖析(一) 一.Booster简介 Booster是滴滴最近开源一个的移动应 ...

  8. 懒人模式开启Android模块自动化Api之旅

    推荐阅读: 滴滴Booster移动App质量优化框架-学习之旅 一 Android 模块Api化演练 不一样视角的Glide剖析(一) 在将业务进行模块化时,避免不了模块页面路由和模块通信, 大多数我 ...

  9. WCF学习之旅—第三个示例之四(三十)

           上接WCF学习之旅—第三个示例之一(二十七)               WCF学习之旅—第三个示例之二(二十八)              WCF学习之旅—第三个示例之三(二十九)   ...

随机推荐

  1. NHibernate学习(零)-本次学习遇到的错误汇总

    问题一: "System.TypeInitializationException"类型的未经处理的异常在 KimismeDemo.exe 中发生 其他信息: "NHibe ...

  2. 6.11---字节输入流数据根据字节输出流存到文件中---io流概念及分类---文件存储的原理和记事本打开的原理---字节流读取文件的原理---文件复制的原理

  3. 01--Java集合知识

    一.Java集合概览 Java中集合分2大块,Collection和Map,分别代表不同功能的集合类对象,整体结构图如下: Collection├List│├LinkedList│├ArrayList ...

  4. 170925_1 Python socket 创建TCP的服务器端和客户端

    [Python版本]3.6 [遇到的问题] 客户端和服务器端都遇到:TypeError: a bytes-like object is required, not 'str' [解决方案] 参考:ht ...

  5. 循环语句和方法(day4)

  6. 扩增子分析QIIME2-4分析实战Moving Pictures

    本示例的的数据来自文章<Moving pictures of the human microbiome>,Genome Biology 2011,取样来自两个人身体四个部位五个时间点   ...

  7. CAD从二制流数据中加载图形(com接口VB语言)

    主要用到函数说明: _DMxDrawX::ReadBinStream 从二制流数据中加载图形,详细说明如下: 参数 说明 VARIANT varBinArray 二制流数据,是个byte数组 BSTR ...

  8. chrome浏览器处理本地Ajax跨域

    chrome浏览器下 项目开发过程中,用到了Ajax异步请求.若将项目放在本地服务器中,通过localhost访问文件,不会报错.若直接通过file://访问文件就会报错. 报错信息: XMLHttp ...

  9. redis中关于使用string类型还是hash类型

    前篇:最近在做一个将redis中大数据量进行合并缩减优化的工作,其中一项按月将数据进行合并.将一个月的数据放入一个key-value键值对中. 例:p2d20180901-3.p2d20180902- ...

  10. java的四舍五入及取整

    四舍五入用 Math.round(double a): 向上取整用 Math.ceil(double a): 向下取整用 Math.floor(double a):