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初体验的更多相关文章

  1. Java8初体验(二)Stream语法详解

    感谢同事[天锦]的投稿.投稿请联系 tengfei@ifeve.com 上篇文章Java8初体验(一)lambda表达式语法比 较详细的介绍了lambda表达式的方方面面,细心的读者会发现那篇文章的例 ...

  2. OPhone SDK初体验

    OPhone SDK初体验 write by 九天雁翎(JTianLing) -- blog.csdn.net/vagrxie 讨论新闻组及文件 背景说明 中国伟大的垄断龙头,世界上也是顶尖的中移动最 ...

  3. oracle 12c 学习系列(1)–12c初体验

    详见原文博客链接地址: oracle 12c 学习系列(1)–12c初体验

  4. PHP初体验

    PHP初体验 提笔写初体验总不知道从何说起,直接聊PHP中的函数.PHP网络技术.数据库操作.PHP模板等感觉又不是初体验.最后还是决定从PHP的面向对象.PHP的魔术方法.PHP的反射.PHP中的异 ...

  5. [转]Python爬虫框架--pyspider初体验

    标签: python爬虫pyspider 2015-09-05 10:57 9752人阅读 评论(0) 收藏 举报  分类: Python(8)  版权声明:本文为博主原创文章,未经博主允许不得转载. ...

  6. Ignite缓存管理初体验

    Ignite缓存管理初体验:ignite服务端配置,大家可以用参考官方进行配置(或者使用默认配置也可以). 本文中的ignite使用版本是1.7,与spring结合使用.maven依赖配置 ignit ...

  7. Node.js 网页瘸腿爬虫初体验

    延续上一篇,想把自己博客的文档标题利用Node.js的request全提取出来,于是有了下面的初哥爬虫,水平有限,这只爬虫目前还有点瘸腿,请看官你指正了. // 内置http模块,提供了http服务器 ...

  8. Java8初体验(2):Stream语法详解

    原文出处: 一冰_天锦 上篇文章Java8初体验(1):lambda表达式语法比较详细的介绍了lambda表达式的方方面面,细心的读者会发现那篇文章的例子中有很多Stream的例子.这些Stream的 ...

  9. Java8初体验(二)Stream语法详解(转)

    本文转自http://ifeve.com/stream/ Java8初体验(二)Stream语法详解 感谢同事[天锦]的投稿.投稿请联系 tengfei@ifeve.com上篇文章Java8初体验(一 ...

  10. Java8初体验(二)Stream语法详解---符合人的思维模式,数据源--》stream-->干什么事(具体怎么做,就交给Stream)--》聚合

    Function.identity()是什么? // 将Stream转换成容器或Map Stream<String> stream = Stream.of("I", & ...

随机推荐

  1. Solve

    /// <summary> /// Solves this instance. /// </summary> /// <returns>IFeatureClass. ...

  2. 关于学习JavaScript 的 高三编程 一些心得(二)

    今天在看高三的过程中,解决了之前我在 面试过程中遇到的一个问题. 就是将一段英文 颠倒过来. 下面就是我的代码: var zhang = "my name is zhangge !" ...

  3. [译]学习HTTP协议的请求行

    原文:http://fiddler2.com/blog/blog/2013/02/13/understanding-the-request-line 最近有一位Fiddler用户问我一个问题: 我在使 ...

  4. 【转载】使用pandas进行数据清洗

    使用pandas进行数据清洗 本文转载自:蓝鲸的网站分析笔记 原文链接:使用python进行数据清洗 目录: 数据表中的重复值 duplicated() drop_duplicated() 数据表中的 ...

  5. [译]在Node中使用indicative来验证model

    原文: http://amanvirk.me/validating-models-in-node-js-using-indicative/\ 在nodejs中有关于验证model的包有许多, 我最喜欢 ...

  6. noip2015 运输计划

    描述 公元 2044 年,人类进入了宇宙纪元.L 国有 nn 个星球,还有 n−1n−1 条双向航道,每条航道建立在两个星球之间,这 n−1n−1 条 航道连通了 L 国的所有星球. 小 P 掌管一家 ...

  7. Servlet接口五种方法介绍

    Servlet接口定义了5种方法: init() service() destroy() getServletConfig() getServletInfo() init() 在Servlet实例化后 ...

  8. [Python] 学习笔记之MySQL数据库操作

    1 Python标准数据库接口DB-API介绍 Python标准数据库接口为 Python DB-API,它为开发人员提供了数据库应用编程接口.Python DB-API支持很多种的数据库,你可以选择 ...

  9. JAVA设计模式--单例模式

    单例设计模式 Singleton是一种创建型模式,指某个类采用Singleton模式,则在这个类被创建后,只可能产生一个实例供外部访问,并且提供一个全局的访问点. 核心知识点如下: (1) 将采用单例 ...

  10. sql select 综合运用

    1 : 多个表联合查询 select j.id,         jt.Name,        j.ApproveType ,         j.ProductCode,         j.Cu ...