【原】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"];
【原】PHP初体验的更多相关文章
- Java8初体验(二)Stream语法详解
感谢同事[天锦]的投稿.投稿请联系 tengfei@ifeve.com 上篇文章Java8初体验(一)lambda表达式语法比 较详细的介绍了lambda表达式的方方面面,细心的读者会发现那篇文章的例 ...
- OPhone SDK初体验
OPhone SDK初体验 write by 九天雁翎(JTianLing) -- blog.csdn.net/vagrxie 讨论新闻组及文件 背景说明 中国伟大的垄断龙头,世界上也是顶尖的中移动最 ...
- oracle 12c 学习系列(1)–12c初体验
详见原文博客链接地址: oracle 12c 学习系列(1)–12c初体验
- PHP初体验
PHP初体验 提笔写初体验总不知道从何说起,直接聊PHP中的函数.PHP网络技术.数据库操作.PHP模板等感觉又不是初体验.最后还是决定从PHP的面向对象.PHP的魔术方法.PHP的反射.PHP中的异 ...
- [转]Python爬虫框架--pyspider初体验
标签: python爬虫pyspider 2015-09-05 10:57 9752人阅读 评论(0) 收藏 举报 分类: Python(8) 版权声明:本文为博主原创文章,未经博主允许不得转载. ...
- Ignite缓存管理初体验
Ignite缓存管理初体验:ignite服务端配置,大家可以用参考官方进行配置(或者使用默认配置也可以). 本文中的ignite使用版本是1.7,与spring结合使用.maven依赖配置 ignit ...
- Node.js 网页瘸腿爬虫初体验
延续上一篇,想把自己博客的文档标题利用Node.js的request全提取出来,于是有了下面的初哥爬虫,水平有限,这只爬虫目前还有点瘸腿,请看官你指正了. // 内置http模块,提供了http服务器 ...
- Java8初体验(2):Stream语法详解
原文出处: 一冰_天锦 上篇文章Java8初体验(1):lambda表达式语法比较详细的介绍了lambda表达式的方方面面,细心的读者会发现那篇文章的例子中有很多Stream的例子.这些Stream的 ...
- Java8初体验(二)Stream语法详解(转)
本文转自http://ifeve.com/stream/ Java8初体验(二)Stream语法详解 感谢同事[天锦]的投稿.投稿请联系 tengfei@ifeve.com上篇文章Java8初体验(一 ...
- Java8初体验(二)Stream语法详解---符合人的思维模式,数据源--》stream-->干什么事(具体怎么做,就交给Stream)--》聚合
Function.identity()是什么? // 将Stream转换成容器或Map Stream<String> stream = Stream.of("I", & ...
随机推荐
- Python Day3
一.set集合 集合是一个无序的,不重复的数据组合,它的主要作用如下: 去重,把一个列表变成集合,就自动去重了 关系测试,测试两组数据之前的交集.差集.并集等关系 # 创建数值集合 list_1 = ...
- GDI画图,判断鼠标点击点在某一画好的多边形、矩形、图形里
Region.IsVisible方法 简单方便准确 private bool CheckPntInPoly(Point[] points, Point pnt) { || pnt == Point.E ...
- 【ESRI论坛6周年征文】ArcEngine注记(Anno/ Label/Element等)处理专题 -入门篇
原发表于ESRI中国社区,转过来.我的社区帐号:jhlong http://bbs.esrichina-bj.cn/ESRI/viewthread.php?tid=122097 ----------- ...
- code::blocks编译出错
问题描述: 在windows xp 上编译的cbp项目(已经生成.obj文件),放到fedora上无法顺利编译.(build) collect2:error: ld returned 1 exit s ...
- morse code
morse code,摩斯电码,是一种时通时断的信号代码,通过不同的排列顺序来表达不同的英文字母.数字和标点符号. 摩斯电码,是一种早期的数字化通信形式,但是它不同于现代只使用0和1两种状态的二进制代 ...
- centos7安装activemq
activemq下载地址,http://activemq.apache.org/download.html,下载后解压,进入bin,直接运行 activemq start bin/activemq s ...
- Linux 命令收集
http://www.cnblogs.com/tzhangofseu/archive/2011/12/17/2290955.html vim :r filename :sh enter shell ...
- 深入理解javascript原型和闭包(16)——完结
之前一共用15篇文章,把javascript的原型和闭包. 首先,javascript本来就“不容易学”.不是说它有多难,而是学习它的人,往往都是在学会了其他语言之后,又学javascript.有其他 ...
- Spring实战 (第3版)——AOP
在软件开发中,分布于应用中多处的功能被称为横切关注点.通常,这些横切关注点从概念上是与应用的 业务逻辑相分离的(但是往往直接嵌入到应用的业务逻辑之中).将这些横切关注点与业务逻辑相分离正是 面向切面编 ...
- tyvj1202 数数食物链
描述 TsyD学习了生物的生态环境那一张后,老师留了一项作业,就是给一张食物网,求所有食物链的总数.(从最低营养级生物(它不能吃任何其他的生物)开始到最高营养级(它不能被任何其他生物吃) 叫做一条食物 ...