PHP基础
PHP基本概念
PHP 是一种创建动态交互性站点的强有力的服务器端脚本语言。
PHP 是免费的,并且使用非常广泛。
- 适合做网站
- 适合做移动APP的接口
- 适合做服务端脚本
静态页面:服务器不执行的页面, htm1页面
动态页面:服务器执行的页面,数据来自服务器的页面(不严谨)
端口号范围:0-65535
浏览者是客户端,给浏览者提供服务的叫服务器端
PHP的前台与后台
前台:浏览器看到的界面,普通用户能够看到的界面
后台:管理员看到的界面
在www目录下创建demo.php页面:
<?php
phpinfo(;
访问服务器
访问规则: http://服务器ip地址/php页面
PHP基本语法
1、PHP脚本以<?php 开始,以?>结束
2、PHP文件的默认文件拓展名是".php"
3、PHP用分号来分割语句。
4、变量以 $ 符号开始,后面跟着变量的名称: $tost=“Hello World”
5、PHP中的注释:
- 单行注释:
// 、#
- 多行注释:
/*...*/
常用的PHP开发工具
- PHP服务器组件
- PHP IDE(Integrated Development Environment,集成开发环境)。
- MySql管理工具
- 文本编辑器
定界符
语法:
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Document</title>
</head>
<body>
<?php
$i="PHP";
echo <<<std
hello,welcome to $i
std;
?>
</body>
</html>
注:
如果整个页面都是PHP代码,PHP结束符可以省略
httpd.conf是apache的配置文件
php.ini是php的配置文件
变量
定义:用于存储信息的容器,在程序运行期间,可以变化的量
变量类型:整型、浮点型、布尔型、数组、对象、null(没有值也没有类型)、资源
变量的命名规则
1.变量以$符开始
2.变量名只能以字母或下划线开始
3.变量名只能是字母,下划线,数字,不能有特殊字符:逗号,句号,感叹号,空格等
4.变量名区分大小写
注意:PHP语句必须以分号结尾
变量命名方法:
1.小驼峰,第一个单词首字母小写,之后单词首字母大写. $ userName (一般用户变量,函数,方法名)
大驼峰,每个单词首字母大写. $ UserModel (一般用于类和类文件命名)
2.下划线命名法,$ _user_name
变量的类型(3大类,8小类)
a,标量(单值)
布尔型boolean,值是true或false .检测是否为布尔型is_boolean()
整型integer,无符号整型数值比有符号整型数值大一倍,默认声明变量是有符号的,检测是否为整型is_integer()
浮点型float(double),检测是否为浮点型is_float()
字符串型string,is_string()
b,符合(多值:多值类型的值)
数组 array,检测是否为数组is_array()
对象 object,检测是否为对象is_object()
c,特殊
资源 resource,一般都需要用函数解析
未定义,无值或NULL
变量类型的获取:
函数gettype($arr)获取变量类型
变量传递
参数的传递有两种,值传递和地址传递
&表示获取变量的地址
值传递:
<?php
# 值传递
$a =1;
$b=$a;
?>
地址传递:
<?php
$a = 'hello world';
$b = $a;
echo $a;
echo '<br/>';
echo $b;
?>
函数引用传递:
<?php
function test(&$a)
{
$a = $a+100;
}
$b = 1;
test($b);
echo $b;
?>
test()函数传递的是地址,test( $ b)中的 $ b传递给函数的是 $ b的变量内容所处的内存地址,通过在函数里改变$a的值改变 $b的值
销毁变量
代码案例:
<?php
$aaa=333;
$abc=&$aaa;
unset($aaa);
echo $abc;
?>
注意:不销毁变量,销毁的是变量名。
常量
定义:常量是一个简单值的标识符。
常量一旦定义了就不能更改,但是变量可以更改。
**命名规则:**合法的常量名以字母或下划线开始,后面跟着任何字母,数字或下划线。
PHP定义常量使用define()方法来定义
define()方法有三个参数:
1.string类型的常量名称,需要用双引号扩起来【必填参数】。
2.定义的常量的值【必填参数】。
3.指定大小写是否敏感,true表示不敏感,false表示敏感(默认为false)【可选参数】。
<?php
//定义名为GREAT的常量,true表示大小写不敏感
define("GREAT","hello",true);
echo GREAT; //输出常量值
echo Great; //输出常量值
//定义名为HELLO的常量,默认常量大小写敏感
define("HELLO","Hello world");
echo HELLO;
echo Hello;
?>
预定义变量
1.$_POST
post方式传递过来的数据方式,一个表单一个—$POST接收们只能接收表单中的name值。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<form action="post.php" method="post">
用户名:<input type="text" name="username" /><br/>
昵 称:<input type="text" name="nickname" /><br/>
<input type="submit" value="提交"/>
</form>
</body>
</html>
<?php
$username = isset($_POST['username']) ? $_POST['username'] : '';
$password = isset($_POST['nickname']) ? $_POST['nickname'] : '';
if (empty($username)) {
echo '用户名为空';
}
if (empty($password)) {
echo '昵称为空';
}
echo $username, $password;
?>
2.$_GET
get方式就是浏览器地址栏的方式、表单和超链接
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<form action="get.php" method="get">
用户名:<input type="text" name="username" /><br/>
密 码:<input type="password" name="password" /><br/>
<input type="submit" value="提交"/>
</form>
</body>
</html>
<?php
$name = $_GET['username'];
$password = $_GET['password'];
if (empty($name)) {
echo '名字为空';
} else if (empty($password)) {
echo '密码为空';
} else {
echo $name, $password;
}
?>
魔术常量
LINE :返回文件中的当前行号。也可写成__line__。
FILE:返回当前文件的绝对路径(包含文件名)。
DIR:返回当前文件的绝对路径(不包含文件名),等价于 dirname(FILE)。
FUNCTION:返回当前函数(或方法)的名称。
CLASS:返回当前的类名(包括该类的作用区域或命名空间)。
TRAIT:返回当前的trait名称(包括该trait的作用区域或命名空间)。
METHOD:返回当前的方法名(包括类名)。
NAMESPACE:返回当前文件的命名空间的名称。