一小时入门PHP

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: [版权申明:本文系作者原创,转载请注明出处] 文章出处:[http://blog.csdn.net/sdksdk0/article/details/52332296](http://blog.csdn.net/sdksdk0/article/details/52332296)作者:朱培 ID:sdksdk0 邮箱: zhupei@tianfan

[版权申明:本文系作者原创,转载请注明出处]
文章出处:[http://blog.csdn.net/sdksdk0/article/details/52332296](http://blog.csdn.net/sdksdk0/article/details/52332296)
作者:朱培 ID:sdksdk0 邮箱: zhupei@tianfang1314.cn


最近在折腾那个安卓扫码登录的功能,然后网页端是用php的做了,于是乎看一下php的资料,发现其实和java、jsp有很多相通的地方啊,语法什么的,还有类的使用,感觉非常相似,一个小时就完全可以搞定了php的基础了,但是想要进一步深入的学习和了解还是需要时间的,这里的话一小时入门php的前提是首先关系型数据库总要非常熟悉吧,sql总要非常熟练的掌握了吧!常见的开源CMS系统:wordpress。DiscuzX论坛网站都是php的。

php简介

PHP是能让你生成动态网页的工具之一。PHP网页文件被当作一般HTML网页文件来处理并且在编辑时你可以用编辑HTML的常规方法编写PHP。
PHP代表:超文本预处理器(PHP: Hypertext Preprocessor)。PHP是完全免费的,不用花钱,你可以从PHP官方站点(http://www.php.net)自由下载。PHP遵守GNU公共许可(GPL),在这一许可下诞生了许多流行的软件诸如Linux和Emacs。你可以不受限制的获得源码,甚至可以从中加进你自己需要的特色。PHP在大多数Unix平台,GUN/Linux和微软Windows平台上均可以运行。

PHP5.0版本强化更多的功能。首先,完全实现面向对象,提供名为PHP兼容模式的功能。其次是XML功能,PHP5.0版本支持可直观地访问XML数据、名为SimpleXML的XML处理用界面。同时还强化了XMLWeb服务支持,而且标准支持SOAP扩展模块。数据库方面,PHP新版本提供旨在访问MySQL的新界面——MySQL。除此前的界面外,还可以使用面向对象界面和预处理语句(Prepared Statement)等MySQL的新功能.另外,PHP5.0上还捆绑有小容量RDBMS-SQLite.

环境搭建

首先我们需要先安装好apache,我这里用的是appserver来安装的。如果想要上传要公网的服务器上的话可以使用cygwin、ftp,我这里使用的集成IDE是phpstorm,感觉还是非常方便的,这种IDE的风格和androidStudio的都差不多,所以上手非常快,而且可以自动找到浏览器,总之是一款非常不错的IDE。安装配置这里不再重复啰嗦!

常见的名词:

  • cygwin:在windows中模拟linux的环境。
  • apache httped:服务器。
  • Nginx:服务器。
  • xampp:应用服务器,快速搭建开发环境。
  • phpStorm:php集成开发环境。
  • ftp:协议,上传文件。
  • ssh:一个命令,连接服务器。
  • scp:一个命令,上传和下载文件。

php基本语法

在phpstorm中新建一个工程HelloPHP,然后建一个文件夹base,在里面新建一个cc.php,格式就是

        <?php
        echo 'hello php'

在php中,所有用户定义的函数都对大小写不敏感,但是在所有变量对大小写敏感。

常量和变量、数组、函数

我们使用 php ,感觉有点像jquery了,呵呵!

声明变量:

  $a=10;
    $a=20;
    $b=5;
    echo $a+$b;

如果要定义常量的话可以使用:

  const  THE_VALUE=100;
    echo  THE_VALUE;

也可以用函数来传值:

   function traceNum($a,$b)
    {
    echo "a=$a,b=$b";
    }
    traceNum(3,4);

常量只能被赋值一次,而变量可以赋值多次。

流程控制、循环

php的流程控制可以使用if else来处理以及switch,和java类似,可以使用break和continue来控制循环.

下面是一个if循环的例子,这里注意的是elseif是连在一起写的,不要分开,和oracle中的存储函数类型,存储函数就是elsif来控制的,真的很像,呵呵!

    function getLevel($score){
    if($score>90){
    return '优秀';
    }elseif($score>80){
    return '良好';
    }elseif($score>60){
    return '合格';
    }else{
    return '不合格';
    }
    }
    echo getLevel(93);

如果使用switch的话可以这样:

    function getLevel($score){

    $result='不合格';
    switch(intval($score/10)){
    case 10;
    case 9:
    $result='优秀';
    break;
    case 8:
    $result='良好';
    break;
    case 7:
    $result='好';
    break;
    case 6:
    $result='合格';
    break;
    default:
    $result='不合格';
    break;
    }
    return $result;


    }
    echo getLevel(93);

类、方法

新建一个类:

 <?php

    class Hello{
    public function sayHello(){
    echo 'hello';
    }
    }

这个地方和java非常相似啦,我就不说了!

就是引入文件使用:require,或者require_once

    include  'demo1.php';  //包含,如果没有不会报错。
    require  'demo1.php';  //依赖 ,如果没有就报错

    //同一个php在不同的地方重复引用,
    require_once  'demo1.php';

新建一个man类,构造方法。

    class Man
    {
    /**
     * @param $age年龄
     * @param $name   名字
     *
     */
    public  function __construct($age,$name){
       // echo 'Construce  a man';
    $this->_age=$age;
    $this->_name=$name;
    }

    public function getAge(){
    return $this->_age;
    }
    public function getName(){
    return $this->_name();
    }
    private $_age,$_name;

    public static function sayHello(){
    echo 'hello man';
    }

    }

库函数

获取时间:

 //获取时间
    //echo  time();

    date_default_timezone_set('Asia/Shanghai');
    //日期
    echo  date('Y-m-d H:i:s');

操作json

 //生成json格式的数据
    $arr=array(1,2,3,5,7,'hello');
    echo json_encode($arr);

    $obj=array('h'=>'hello','w'=>'world',array(3,4,5,7));

    echo json_encode($obj);

    //解码
    $jsonStr="{\"h\":\"hello\",\"w\":\"world\",\"0\":[3,4,5,7]}";
    $obj=json_decode($jsonStr);

    echo $obj->h;

创建图片

    $img=imagecreate(400,300);
    imagecolorallocate($img,255,255,255);
    header('Content-type:image/png');
    imageellipse($img,200,200,50,50,imagecolorallocate($img,255,0,0));
    imagepng($img);

为图片添加水印

    $img=imagecreatefrompng('img.png');

    imagestring($img,5,5,5,'www.tianfang1314.cn',imagecolorallocate($img,255,0,0));

    header('Content-type:image/png');
    imagepng($img);

操作文本
把数据写到data的文本中:

 $f=@fopen('data','w');
    fwrite($f,'hello php');
    fclose($f);

把数据从data的文本中读取出来:

 $f=@fopen('data','r');

    while(!feof($f)){
    $content=fgets($f);
    echo $content;
    }

    fclose($f);

输出内容:

 echo file_get_contents('data');

上传文件:

html页面端:

     <form  action="upload.php"  method="post"  enctype="multipart/form-data">
          <input type="file"  name="file"  >
            <input type="submit" value="提交" />
        </form>

php端:

    $file=$_FILES['file'];
    $fileName=$file['name'];
    move_uploaded_file($file['tmp_name'],$fileName);

会话管理

这个的话和java中的cookie\session非常相似了。
设置cookie:

 setcookie('name','tf');

获取cookie:

    echo  $_COOKIE['name'];

如果用户禁用了cookie的话我们可以通过url来传值处理。

session:

session_start();
$_SESSION['name']='tf';

销毁session

  session_destroy();

mysql连接

使用php和mysql的连接应该是非常重要和实用的功能了。下面以一个案例来说明php对mysql的表进行增删改查数据的操作。主要就是使用了mysql_query()来执行sql就可以了。非常简单便捷。

获取数据库的连接:

首先新建一个config.php放mysql数据库的连接配置文件:

 define('MYSQL_HOST','localhost:3306');   //mysql地址和端口号
    define('MYSQL_USER','zp');   //用户名
    define('MYSQL_PW','a');   //密码

    function connecDB(){
    $conn=mysql_connect(MYSQL_HOST,MYSQL_USER,MYSQL_PW);

    if(!$conn){
    die('can\'t  connection db');
    }

    mysql_select_db('day15');   //数据库的名字
    return  $conn;
    }

使用php和html来生成一个表格。

    <?php
    require_once 'config.php';
    ?>
    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>Title</title>
    </head>
    <body>

    <a href="adduser.html" >添加</a>
    <table width='100%'  style='text-align: center;' border='1' >
    <tr><th>id</th><th>用户名</th><th>密码</th><th>操作</th></tr>
    <?php
    /**
     * Created by PhpStorm.
     * User: asus
     * Date: 2016/8/26
     * Time: 14:28
     */

    $conn=connecDB();
       /* mysql_select_db("day15");*/
    $result=mysql_query("select * from phpuser",$conn);
    $dataCount=mysql_num_rows($result);
      //  echo $dataCount;


    for($i=0;$i<$dataCount;$i++){
    $result_arr=mysql_fetch_assoc($result);
    //print_r($result_arr);

    $id=$result_arr['id'];
    $name=$result_arr['uname'];
    $pwd=$result_arr['pwd'];

    echo "<tr><td>$id</td><td>$name</td><td>$pwd</td><td><a href='updateuser.php?id=$id'>修改</a><a href='deleteuser.php?id=$id'>删除</a></td></tr>";

    }
    ?>
    </table>
    </body>
    </html>

添加数据:

    $name=$_POST['uname'];
    if(empty($name)){
    die('user name  not define');
    }
    $pwd=$_POST['pwd'];
    if(empty($pwd)){
    die('user pwd  not define');
    }


    require_once 'function.php';
    connecDB();

    $pwd=intval($pwd);

    mysql_query(" insert into phpuser(uname,pwd)  values('$name','$pwd')");

    if(mysql_errno()){
    echo mysql_error();
    }else{
    header("Location:alluser.php");
    }

修改数据:

  mysql_query("update phpuser set uname='$name',pwd='$pwd'  where id='$id'");

删除数据:

   mysql_query("delete from phpuser  where id='$id'");

这里写图片描述

总结:php的入门非常简单,其门槛并不高,但是想要学深的话还是需要一点功夫的,很多语言都具有互通性,学会总结各种语言之间的不同点,根据不同语言的特点来完成不同功能的项目的开发是非常有必要的!有些东西不要说很简单很基础就得意忘形,还是需要潜心学习研究,永远不要骄傲自大!

本文中案例源码下载地址:https://github.com/sdksdk0/HelloPHP

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
PHP
PHP中的面向对象编程入门
在PHP的海洋里,面向对象编程(OOP)是一艘承载着代码复用与组织之美的巨轮。本文将带你启航,从基础概念到实际应用,领略类与对象的风采,掌握封装、继承、多态三大奥义。准备好你的航海图,让我们揭开PHP OOP的神秘面纱,驶向高效编程的彼岸。
|
4月前
|
PHP 开发者
PHP中的面向对象编程:从入门到精通
【9月更文挑战第27天】在这篇文章中,我们将一起探索PHP中的面向对象编程(OOP)的美妙世界。我们将从基础的概念和语法开始,然后深入到更高级的主题,如继承、多态和封装。无论你是PHP新手还是有经验的开发者,这篇文章都将为你提供有价值的见解和技巧。让我们一起踏上这段旅程,发现PHP OOP的强大功能吧!
46 8
|
6天前
|
SQL 关系型数据库 MySQL
php入门
PHP入门是循序渐进的过程,涵盖基本概念、语法、数据类型、运算符、控制结构及常用函数。PHP是一种开源服务器端脚本语言,特别适用于Web开发。代码在服务器执行,返回HTML给浏览器。基础语法包括变量、注释和标记;掌握数据类型(整数、浮点数、字符串等)和运算符(算术、比较、逻辑)。实践编写简单程序,如if语句、循环和自定义函数。学习内置函数处理字符串、数组、文件和数据库操作。结合实践加深理解,建议多编写小程序巩固知识。
|
17天前
|
存储 缓存 安全
网安入门之PHP后端基础
PHP 是一种服务器端脚本语言,广泛用于动态网站和Web应用程序开发。其文件扩展名为`.php`,支持嵌入HTML、CSS和JavaScript。PHP代码由Web服务器解析后返回给浏览器。PHP是弱类型语言,变量以`$`开头,支持字符串、整数、浮点数、布尔值、数组、对象等类型。PHP具有跨平台、开源、丰富的扩展库等特点。常用超全局变量如`$_GET`、`$_POST`、`$_SESSION`等处理用户输入和会话数据。HTTP请求方法GET和POST在数据传输方式、长度限制、安全性等方面有显著差异。
网安入门之PHP后端基础
|
2月前
|
Java 程序员 PHP
01 入门PHP就来我这-安装phpstudy
路老师的PHP入门教程,带你从零开始学习PHP。首先下载并安装phpStudy,接着配置域名和端口,最后创建并运行第一个PHP文件。内容详实,适合初学者。
64 3
01 入门PHP就来我这-安装phpstudy
|
2月前
|
安全 关系型数据库 PHP
探索PHP:从入门到精通
【10月更文挑战第38天】在这篇文章中,我们将一起踏上PHP的探索之旅。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的信息和技巧。我们将从PHP的基础开始,逐步深入到更复杂的主题,包括面向对象编程、数据库操作、安全性问题等。最后,我们将通过一些实用的代码示例,来展示PHP的强大功能和灵活性。让我们一起开始这段旅程吧!
18 2
|
2月前
|
存储 Serverless PHP
PHP编程入门:从基础到实战
【10月更文挑战第35天】本文将带你走进PHP的世界,从最基本的语法开始,逐步深入到实际应用。我们将通过简单易懂的语言和实际代码示例,让你快速掌握PHP编程的基础知识。无论你是初学者还是有一定经验的开发者,都能在这篇文章中找到你需要的内容。让我们一起探索PHP的魅力吧!
|
3月前
|
PHP 开发者
PHP中的异常处理:从入门到精通####
本文将深入浅出地探讨PHP中的异常处理机制,包括异常的基本概念、如何抛出与捕获异常、自定义异常类以及最佳实践。无论你是PHP新手还是经验丰富的开发者,都能从中学到实用的知识,帮助你编写更健壮的代码。 --- ####
|
2月前
|
自然语言处理 关系型数据库 MySQL
PHP编程入门:构建你的第一个网页应用
【10月更文挑战第29天】本文旨在引导初学者步入PHP编程的世界,通过深入浅出的方式介绍PHP的基础知识,并指导读者如何动手实践,搭建一个简单的网页应用。文章不仅涉及PHP代码的编写,还包括了环境配置、项目结构设计以及前后端交互的基本概念。适合对Web开发感兴趣且希望快速入门的朋友阅读。
54 0
|
4月前
|
前端开发 PHP 数据库
PHP编程入门:从基础到实战
【9月更文挑战第23天】本文将引导你进入PHP编程的世界,从基础知识到实际项目应用,逐步深入。我们将一起探索PHP的基本语法、常用函数和框架使用,以及如何在实际项目中运用PHP进行开发。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供有价值的参考和启示。让我们一起踏上PHP编程的学习之旅吧!