【原】PHP初体验
1. 相关内容介绍
1>互联网开发
-
互联网:传统互联网、移动互联网
-
互联网开发:前端开发(前台)、后台开发(后端、服务端)
-
前端开发:视觉展示(用户界面)、用户交互、采集输入信息
-
后台开发:管理和处理数据、开发对客户端的接口、控制输出
2> 客户服务器模式(C/S)
-
客户端:主动启动通信(发起请求),例如:浏览器、移动客户端等
-
服务器:被动等待通信(响应请求),例如:web服务器、FTP服务器、邮件服务器等
3> Web Server开发
Web Server(服务器):在网络环境下,为发起请求的客户端提供响应服务,主要处理HTTP请求。
2. Webserver环境搭建
1> 环境搭建
-
Apache:Web服务器软件,支持绝大部分计算机操作系统,是最流行的Web服务器软件之一。Mac系统自带Apache。
-
PHP:适用于Webserver开发的脚本语言,跨平台,支持绝大部分数据库及操作系统,混合了C、Java语言的语法,开放源代码。
-
MySQL:关系型数据库管理系统,体积小、速度快,广泛运用在中小型网站中。
2> XAMPP和Coda
- XAMPP是一个软件包,集成了Apache+PHP+MySQL安装环境,一键安装,方便快捷。
- Coda:一款适用于Mac电脑的网页编程工具,具有多语言支持(HTML、PHP、JavaScript、CSS等)
3> Web Server工作流
3. Web页面开发
1> 原理
2> 本地服务器路径
3> 访问服务器文件
URL格式:协议://域名/路径/查询
http://127.0.0.1
访问本地Web服务器根目录,默认加载index文件内容
http://127.0.0.1/文件路径(包含文件名及后缀)
访问本地Web服务器根目录下的某个文件,图片、php、html
4. PHP基本语法
1> PHP标记
<?php echo("hello lanou");// 输出函数 "<br/>" // 换行 echo "iOS"; // 输出函数,可以不带括号 ?>
参考学习网址:http://www.runoob.com/php/php-tutorial.html
2> 变量
变量定义
变量以$开头,后面跟变量名
变量字母,数字,下划线组成,不以数字开头
变量名区分大小写
定义自动类型变量
$int_value = 10; $float_value = 1.5; $name = "hello lanou";
获取变量类型返回string
gettype($name);
3> String
连接字符串
$name = 'iPhone'; $str = '5'; $name = $name.$str; echo($name);
4> if分支
//比较两个变量,输出最大值 $a = 3;$b = 5; if($a>$b){ echo($a); }else{ echo($b); }
5> for循环
//输出1~10之间所有的数 for($i = 1;$i<=10;$i++){ echo($i.'<br>'); }
6> 随机数
生成a~b之间的随机数 rand(a, b)
// 生成20~50之间的随机数,并输出 $num = rand(20, 50); echo $num;
7> 数组
在PHP中,使用array()函数创建数组
在PHP中,数组有三种类型:
数值数组 - 带有数字ID键的数组 (类似NSArray)
关联数组 - 带有指定键的数组,每个键关联一个值 (类似NSDictionary)
多维数组 - 包含一个或多个数组的数组
$array1 = array(); // 空数组 $array2 = array(99, 98, 97); // 数值数组 $array3 = array("name"=>"lishuai", "age"=>40); // 关联数组,键=>值 print_r($array3); // 输出数组内容
8> 数值数组
count()函数用于返回数组元素的数量
$count = count($array); echo $count;
添加数组元素
$array[] = 96; // 数组中最后一个元素
访问数组元素
$array[数字ID键]
遍历数值数组
foreach(数组 as $value){
echo($value."<br/>");
}
$array = array(12, 13, 14, 15); foreach($array as $value){ echo($value."<br/>"); }
9> 关联数组
$person = array("name"=>"yihuiyun", “age"=>"18") print_r($person); // 输出
输出结果 Array ( [name] => yihuiyun [age] => 18 )
$person = array("name"=>"yihuiyun", “age"=>"18") // count()函数用于返回数组元素的数量 $count = count($person); echo $count; //添加键值对 $person["sex"] = "female"; //根据键获取值 //$person[键]
遍历关联数组
foreach(数组 as $key=>$value){
echo($key.":".$value."<br/>");
}
$person = array("name"=>"yihuiyun", “age”=>”18"); foreach($person as $key=>$value){ echo($key.":".$value."<br/>"); }
10> json转换
// 数组转json字符串 $json = json_encode($array); // json字符串转PHP对象 $array = json_decode($json);
5. PHP实现API接口开发(GET)
1> 概述
在 PHP 中,预定义的 $_GET 变量用于收集来自 method="get" 的表单中的值。
从带有 GET 方法的表单发送的信息,对任何人都是可见的(会显示在浏览器的地址栏),并且对发送信息的量也有限制。
GET 传值的一个 URL:http://127.0.0.1/get.php?username=lanou&password=123
解析:http://127.0.0.1/get.php?参数名1=值1&参数名2=值2
参数名通常由后台规定,前端根据接口文档填写
PHP文件接收数据代码:
// 获取数据 key必须与参数名保持一致 $name = $_GET["username"]; $password = $_GET["password"];
2> iOS网络编程
代码:
6. PHP实现API接口开发(POST)
1> 概述
预定义的 $_POST 变量用于收集来自 method="post" 的表单中的值。
从带有 POST 方法的表单发送的信息,对任何人都是不可见的(不会显示在浏览器的地址栏),并且对发送信息的量也没有限制
http://127.0.0.1/post.php
URL中不需要携带参数,通过body上传参数
PHP文件接收数据代码:
// 获取数据 key必须与参数名保持一致 $name = $_POST["username"]; $password = $_POST["password"];