【原】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", & ...
随机推荐
- AXIS 调用 webservice服务时传递 服务器验证需要的用户名密码
System.setProperty("javax.net.ssl.trustStore", T.class.getResource(".").getPath( ...
- 【转】JavaWeb MVC
-------------------------------------------------------------------------------------------------- 1 ...
- [原创]Linq to xml增删改查Linq 入门篇:分分钟带你遨游Linq to xml的世界
本文原始作者博客 http://www.cnblogs.com/toutou Linq 入门篇(一):分分钟带你遨游linq to xml的世界 本文原创来自博客园 请叫我头头哥的博客, 请尊重版权, ...
- PHP输出XML文件函数
PHP输出XML文件函数 function xml_out($content, $charset = 'utf-8') { @header("Expires: -1"); @hea ...
- css-单位%号-background-size-background-position-遁地龙卷风
(-1)写在前面 我用的是chrome49,这篇是为后续做准备.重要性的调整以及毕业资料的整体导致最近没看JQuery和H5特效,以后只能晚上看了. (0)准备 div长宽都为300px,我们一张大小 ...
- ffmpeg-20160908[09,10,13,15,19,21,22,24]-bin.7z
ESC 退出 0 进度条开关 1 屏幕原始大小 2 屏幕1/2大小 3 屏幕1/3大小 4 屏幕1/4大小 5 屏幕横向放大 20 像素 6 屏幕横向缩小 20 像素 S 下一帧 [ -2秒 ] +2 ...
- VS:101 Visual Studio 2010 Tips
101 Visual Studio 2010 Tips Tip #1 How to not accidentally copy a blank line TO – Text Editor ...
- mysql时间段内查询
今天 select * from 表名 where to_days(时间字段名) = to_days(now()); 昨天 SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ...
- TFS二次开发系列:三、TFS二次开发的第一个实例
首先我们需要认识TFS二次开发的两大获取服务对象的类. 他们分别为TfsConfigurationServer和TfsTeamProjectCollection,他们的不同点在于可以获取不同的TFS ...
- Java基础学习(一)
常见的dos命令 盘符: 进入指定的盘符下. dir : 列出当前目录下的文件以及文件夹 md : 创建目录 rd : 删除目录 注意:rd不能删除非空的文件夹,而且只能用于删除文件夹. cd ...