欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

【web前端】PHP入门

程序员文章站 2022-03-19 15:32:56
PHP入门前言:了解一些知识一、PHP简介二、动态网页三、PHP的原理四、PHP语法入门4.1PHP的输出4.2定义变量4.3 分支、循环4.4数组4.5 **md5编码**4.6 时间戳前言:了解一些知识软件架构C/S(客户端->服务端)B/S(浏览器->服务端)哪些技术可以开发网站?  php、jsp、asp、ruby、python、nodejs、c/c++等。WAMP架构解读 windows + apache + mysql + phpLAMP/LNM...

前言:了解一些知识

  • 软件架构

    • C/S(客户端->服务端)
    • B/S(浏览器->服务端)
  • 哪些技术可以开发网站?
      php、jsp、asp、ruby、python、nodejs、c/c++等。

  • WAMP架构解读
     windows + apache + mysql + php

  • LAMP/LNMP架构解读
     Linux + apache + mysql + php
     Linux + nginx + mysql + php

  • PHPnow
     apache + mysql + php

一、PHP简介

  • PHP语言的特点
     PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。)
    • PHP脚本在服务器上运行
    • PHP可在不同的平台上运行(windows、Linux、Unix、Mac OSX等)
    • PHP与目前几乎所有的正在被使用的服务器兼容(Apache、IIS等),全球95%以上的网站都是由PHP开发的。
    • PHP提供了广泛的数据库支持。
    • PHP是免费的,可以同官网下载它:www.php.net
    • PHP易于学习,并可高效的运行在服务器端。
  • 作为一个后台语言,标准的变量、数据类型、运算、选择结构、循环结构、函数、数组;跟大多数的编程语言是一样的。
  • PHP作为一个动态网页编程语言,它不仅能编写后台程序。同时也具备编写动态网页的能力,跟JSP一样,这是它们想当年流行起来的最重要的原因,没有之一。

二、动态网页

  • php的代码使用了<?php ...... ?>包裹起来

三、PHP的原理

最重要的是,PHP的代码跟HTML的代码混合了,它的大概原理如图所示:
【web前端】PHP入门
这样一来,后台的开发人员,就可以像写后台程序一样的写网页,岂不是很方便。
曾经,这种巧妙的解决方案,流行了很多年。
但是随着行业的发展,随着WEB2.0时代的到来。
随着网页交互的场景越来越多,随着用户体验的重要性逐步提升,网页上的工作量变得越来越大了。
因为页面不仅要求越来越美观,同时页面上的各种交互特效也越来越丰富(JS或Flash);
可是你再看看PHP这样的动态网页,对于一个特效要求极高的网站,
它可维护性好吗?它便于网页重构吗? 它代码可读性强吗? NO! 这些优点全都没有。

  • RIA
    于是那几年开始出现了一个叫做RIA的名词: 丰富的互联网应用程序。
    传统的动态网页已经很难实现RIA了, 或者说实现它的成本非常高。那么它需要借助Flash的力量,或者JS的力量
    于是人们开始慢慢的将前后端进行分离开来。 后台语言只负责后台程序接口的编写。
    而一部分人只负责页面以及交互特效的完成。而网页需要的动态数据,可以通过ajax来获取。
    这样一来,一个负责编写页面的人,即使他不懂后台语言,也能完成复杂的前端工作。因为网页上再也不会出现后台代码了。

四、PHP语法入门

4.1PHP的输出

echo "<h1>hello world</h1>";
  • 类似于js中的console.log() 测试程序
var_dump(100);
var_dump("hello");

4.2定义变量

  • php声明变量通过$符号进行声明
  • 弱引用类型:给变量赋值什么数据,就是什么数据类型。
  • php字符串拼接的时候,用的不是加号,而是 .
  • php在进行字符串拼接的时候:占位符的方式进行拼接 {变量/表达式}
$username = "钢铁侠";
$age = 18;

echo "我是".$username.",今年".$age."岁<br/>";
echo "我是{$username},今年{$age}岁";

4.3 分支、循环

<?php
    header('content-type:text/html;charset="utf-8"');
    $isYes = true;
    if($isYes){
        echo "是";
    }else{
        echo "否";
    }

    $num = 2;
    switch($num){
        case 1:
            echo "数字1";
            break;
        case 2:
            echo "数字2";
            break;
        default:
            echo "输入错误";
            break;

    }

    echo "<br/>";

    for($i = 0; $i < 5; $i++){
        echo "下标".$i."<br/>";
    }


    function printHello(){
        print "hello world<br/>";
    }

    printHello();
    printHello();

?>

4.4数组

    1. 索引数组 下标是数字叫做索引数组
    $cars = array("大众", "别克", "现代");
    array_push($cars, "宝马", "奔驰");
    // var_dump($cars);

    // echo $cars[1];

    for($i = 0; $i < count($cars); $i++){
        echo "下标:{$i}, 数据:{$cars[$i]}<br/>";
    }
    1. 关联数组 下标是字符串叫关联数组 (类似于ECMA6的map类型)
 $arr = array("王五" => "打渔的", "李四" => "种地的", "张三" => "打猎的");
// var_dump($arr);

foreach($arr as $key => $value){
    echo "下标:{$key}, 数据:{$value}<br/>";
} 

$arr = array(
    array("name" => "小白", "english" => 100, "math" => 50),
    array("name" => "小花", "english" => 60, "math" => 80),
    array("name" => "小红", "english" => 100, "math" => 100)
);

echo $arr[2]["math"]; 

 for($i = 0; $i < count($arr); $i++){
    var_dump($arr[$i]."<br/>");
}
    1. 全局数组
  • $_GET 接收通过get提交过来的所有的数据
  • $_POST 接收通过post提交过来的所有的数据

数组中的索引数组和关联数组可以相互结合,结合成多维数组。
数组的长度 count($cars) 返回数组的长度

4.5 md5编码

功能:md5将任何的数据,编成一个32位的十六进制的字符串。
【注】不可逆加密,同样的字符串加密以后,长的一样。
自行去设计一套加密规则。

  • 自行去设计一套加密规则。
$str1 = "123abc";
echo md5(md5(md5($str1).'qianfeng')."qingdao");
echo "<br/>";
$str2 = "123abc";
echo md5(md5(md5($str2).'qianfeng')."qingdao");

4.6 时间戳

1568602644 存储时间
echo time();
date() 获取当前时间显示的时候,必须传入参数
Y 代表四位数的年
m 月份
d 日
H 小时
i 分钟
s 秒数

date_default_timezone_set("PRC");
echo date("Y年m月d日 H:i:s");
echo "<br/>";
echo date("Y/m/d H:i:s");

本文地址:https://blog.csdn.net/minggelin1997/article/details/111997410

相关标签: web前端 php