【原】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", & ...
随机推荐
- mysql设置远程访问权限
查一下你的MYSQL用户表里, 是否允许远程连接 1.授权 mysql>grant all privileges on *.* to 'root'@'%' identified by ...
- Java学习笔记12
循环 打印一个字符串(例如: "Welcome to Java!") 100次,就需要吧下面的输出语句重复写100遍,这是相当繁琐的: System.out.println(&qu ...
- Scene
Unity 中场景切换 http://www.cnphp6.com/archives/62868 场景管理插件Scene Manager http://blog.csdn.net/onerain88/ ...
- Zabbix 监控 Nginx(四)
简介: 如何使用 Zabbix 监控 Nginx 状态 ? 1.获取 Nginx 状态( HTTP Stub Status ) [root@localhost ~]# /apps/product/ng ...
- CSS百分比定义高度的冷知识
当我们给块级元素设置响应式高度的时候,例如给div设置height=50%,往往没能看到效果. 原因是百分比的大小是相对其父级元素宽高的大小,如最外层元素设置的百分比是对应屏幕而言的. 需要了解的是对 ...
- cf723c Polycarp at the Radio
Polycarp is a music editor at the radio station. He received a playlist for tomorrow, that can be re ...
- SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
1.前言 使用框架都是较新的版本: Spring 4.0.2 RELEASE Spring MVC 4.0.2 RELEASE MyBatis 3.2.6 2.Maven引入需要的JAR包 2.1设置 ...
- 还原MySql数据库失败:max_allowed_packet 设置过小导致记录写入失败
MySQL根据配置文件会限制Server接受的数据包大小. 有时候大的插入和更新会受 max_allowed_packet 参数限制,导致写入或者更新失败. 查看目前配置 show VARIABLES ...
- CentOS下SNMP的安装与使用
CentOS下SNMP的安装与使用 导读 简单网络管理协议(SNMP),由一组网络管理的标准组成,包含一个应用层协议(application layer protocol).数据库模型(datab ...
- python Function
Python 2.7.10 (default, Oct 14 2015, 16:09:02) [GCC 5.2.1 20151010] on linux2 Type "copyright&q ...