开启我的PHP学习之旅

第二课

LAMP:

Linux

apache

ngix

PHP

第三课

搭建服务器方式:

1.集成安装环境

XAMPP软件包:www.apachefriends.org

2.单独配置

第四课

XAMPP

包含了运行网站的几个必须的套件

1.apache服务器

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的默认端口

1.通过xampp的面板

2.通过更改配置文件

第五课

PHP程序编写规则:

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

2.PHP代码必须凡在<?php 和?>之间

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

书写规则

2.如何布置我们的PHP代码

1.将PHP代码布置到apache服务器中指定的一个目录,在xampp这个

集成软件的目录是:path/xampp/htdocs这个目录下

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

使用文件夹进行归类

文件夹名:bdqn_php_basic(工程名可以自定义)

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 apache服务器之中

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

3.在浏览中去访问

浏览器和服务器的关系

B端                      
   S端

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

HTTP:超文本传输协议

客户端通过URL(统一资源定位符)(网址)找到服务器的

网址在HTTP协议中被称为URL

URL解析:

http://www.baidu.com

(服务器的Internet地址,即域名)

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

第三方存在如下一张表

域名 IP

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

完整的URL,应该包含端口,http协议默认端口是80端口

查看对应端口是否有相应的服务

作用:确保http客户端和http服务器之间,准确无误的传递数据

第七课

第二章 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.不能使用关键字作为变量名

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的布尔型数据结构

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

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

关键字true,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.定义函数必须使用关键字: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.在函数里面使用全局变量要使用关键字global进行声明

function test_area()

{

$c = 8;

global $a,$b;

echo $a,$b;

}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-24 13:43:52

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

apue和unp的学习之旅09——套接字选项

//-----------------------------------1.getsockopt和setsockopt-------------------------------------- #include <sys/socket.h> int getsockopt(int sockfd, int level, int optname, void* optval, socklen_t* optlen); int setsockopt(int sockfd, int level, int

我的Android学习之旅

去年大概在七月份的时候误打误撞接触了一阵子Android,之后由于工作时间比较忙,无暇顾及,九月份的时候自己空闲的时间比较多,公司相对来说加班情况没以前严重.开启了个人的Android学习之旅,初衷是想将Android的博客做个索引文章的,不过想想还可以分享一些学习中的历程,算是对自己的Android学习 有个交代吧.由于在公司有工作,学习的时间通常就是周一到周五晚上的时间和周末时间,周一到周五晚上的时间不确定,因此牺牲了大量的周末时间来学习Android,有点像苦行僧,时间段持续了三个多月.如

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

推荐阅读: 滴滴Booster移动App质量优化框架-学习之旅 一 Android 模块Api化演练 不一样视角的Glide剖析(一) 续写滴滴Booster移动APP质量优化框架学习之旅,上篇文章分析内置的transform:booster-transform-shrink booster-transform-shared-preferences,今天分析booster-task-compression以及定制task对资源索引文件resource.asrc进行优化(重复资源优化.无用资源优化

基于 Android NDK 的学习之旅----- C调用Java

http://www.cnblogs.com/luxiaofeng54/archive/2011/08/17/2142000.html 基于 Android NDK 的学习之旅----- C调用Java许多成熟的C引擎要移植到Android 平台上使用 , 一般都会 提供 一些接口, 让Android sdk 和 jdk 实现. 下文将会介绍 C 如何 通过 JNI 层调用 Java 的静态和非静态方法. 1.主要流程 1.  新建一个测试类TestProvider.java a)       

SSIS 学习之旅 序章 和 简介

SSIS 学习之旅目录: 第一章: SSIS 学习之旅 第一个SSIS 示例(一) 第二章: SSIS 学习之旅 第一个SSIS 示例(二) 第三章: SSIS 学习之旅 数据同步 第四章: SSIS 学习之旅 FTP文件传输-FTP任务 第五章: SSIS 学习之旅 FTP文件传输-脚本任务 第六章: SSIS 学习之旅 FTP访问类 SSIS是Microsoft SQL Server Integration Services的简称,是生成高性能数据集成解决方案,是Microsoft BI 解

【转】基于 Android NDK 的学习之旅-----数据传输(引用数据类型)

原文网址:http://www.cnblogs.com/luxiaofeng54/archive/2011/08/20/2147086.html 基于 Android NDK 的学习之旅-----数据传输二(引用数据类型)(附源码) 基于 Android NDK 的学习之旅-----数据传输(引用数据类型) 接着上篇文章继续讲.主要关于引用类型的数据传输,本文将介绍字符串传输和自定义对象的传输. 1.主要流程 1.  String 字符串传输 a)         上层定义一个native的方法

Git命令学习之旅——日志和穿梭版本号

在总结了git命令的基础之后,接下来我们看一下基础的一些进阶内容:删除撤销命令.日志查看命令等 既然有加入文件的功能,那么相相应的肯定有移除文件的功能,命令例如以下:git rm [文件名称] 在输入命令之后,例如以下图所看到的: 提示已经删除了"c.txt"文件.这个时候再用git status查看一下状态,例如以下图: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JB

Android热修复学习之旅——HotFix完全解析

在上一篇博客Android热修复学习之旅开篇--热修复概述中,简单介绍了各个热修复框架的原理,本篇博客我将详细分析QQ空间热修复方案. Android dex分包原理介绍 QQ空间热修复方案基于Android dex分包基础之上,简单概述android dex分包的原理就是:就是把多个dex文件塞入到app的classloader之中,但是android dex拆包方案中的类是没有重复的,如果classes.dex和classes1.dex中有重复的类,当classes.dex和classes1

菜鸟的Android学习之旅(一)

最近在拜读郭霖老师的经典<第一行代码>,作为一名菜鸟级的新手来说这本书确实对新手很友好,讲的很详细.如果你也像我一样作为一只小菜鸟想学习Android,还不了解这本书的,还没有想好入手哪一本书作为自己新手启蒙书的同学,个人觉得你就不要徘徊了,加入购物车吧! 因为我才是刚开始学习不久,第二章才学习了很少一部分,所以我没办法说点有营养的东西,我就先记录一下我学习过程中经历的错误吧. 第二章开始,郭老师教我们如何手动创建活动.边看书边敲代码,但是你会发现当你完全按照书上所说敲完所有需要的代码之后代码