服务端web开发:PHP简介以及常见语法

服务端web开发

在讲解什么是服务端开发之前,让我们先思考几个问题

  • 网站访问:

    当我们做好了.html的网站,如何让别人(朋友,用户)可以访问到呢?

    • 使用U盘拷贝,QQ发送文件等直接将文件共享的方式?---不灵活
    • 将网站放在服务器上,让用户通过网址访问?---绝大多数网站的做法
  • 网站内容更新:

    如果用户每次访问我们的网站看到的内容都是一样的,在最初的新鲜劲过去以后估计就再也不想访问我们的网站了o(╯□╰)o,那么如何去更新网站的内容呢?

    • 当有内容,图片,或者界面需要更新是,直接修改.html文件?---费时费力
    • 通过某种手段,当有新的消息,自动的完成网站的更新?---动态网站
  • 如何实现网站动态化

    网站的本质,其实就是一堆按照某种规则排列的字符串而已,如果我们可以通过某种方式,让电脑动态生成这些字符串,是不是就实现了网站的动态化?

    • 想要让电脑干事情,可以通过编程语言来实现.
    • 编程语言的编写位置为服务器,因为用户是问服务器要网站的
    • 服务器,通过编程语言让用户访问的网站动态化叫做:服务端web开发
  • 可选开发方式: 虽然基本上所有可以返回字符串的编程语言都能够实现这个功能,目前市场主流开发语言有:Java,PHP,ASP.Net,Ruby,Python,Erlang等.虽然可以选择的开发语言有很多种,但是本质都是一样的:
    当用户访问网站了,根据`某些逻辑`,生成对应的`HTML,CSS,JS`代码给用户
    

PHP简介

PHP在众多的编程语言中,是比较容易上手,结合我们搭建的WAMP环境就能够开始学习了

  • PHP代码执行方式: 服务端web编程写好的代码,需要通过浏览器访问服务器,在服务器端执行,然后返回给用户结果,如果直接使用浏览器打开,就会解析为文本

PHP常见语法

注,这里只列举常用的PHP语法,更为详细的语法教程可以查阅w3cschool_PHP教程

  • 文件定义,注释: PHP文件以.php结尾,代码的编写位置在<?php 写在这里?>.注释的写法跟js一致

    <?php
      //这是单行注释
      /*
          这是多行注释
      */
    ?>
  • PHP变量规则:
    • 变量以$符号开头,其后是变量的名称
    • 变量名称必须以字母或下划线开头
    • 变量名称不能以数字开头
    • 变量名称只能包含字母数字字符和下划线(A-z0-9 以及_
    • 变量名称对大小写敏感
// 变量以`$`符号开头,其后是变量的名称
// 变量名称必须以字母或下划线开头
$a;
$b;
$a1;
$_abc;

// 变量名称不能以数字开头
// 变量名称只能包含字母数字字符和下划线(`A-z`、`0-9` 以及` _`)
// 下面这些是错误的变量定义
$1;
$哈哈;
$^&*;

//变量名称对大小写敏感(`$y` 与`$Y` 是两个不同的变量)
// 下面定义的两个变量是不同的,大写,小写x
$x;
$X;
  • 数据类型 PHP支持的数据类型包括:字符串,整数,浮点数,布尔,数组,对象,NULLL(注:由于对象中可以使用函数,故对象的语法在下文中会提及)

    • 定义字符串时需要注意:

      • 单引号:`` 内部的内容只是作为字符串
      • 双引号:"" 如果内部是PHP的变量,那么会将该变量的值解析
    • 字符串连接:不同于JavaScript,PHP中使用.进行连接
// 字符串
$str = ‘123‘;

// 字符串连接
$str2 = ‘123‘.‘哈哈哈‘;

// 字符串

// 整数
$numA = 1; //正数
$numB = -2;//负数

// 浮点数
$x = 1.1;

// 布尔
$a = true;
$b = false;

// 数组
$arr = array(‘123‘,123)
  • 运算符 PHP中的运算符跟JavaScript中的基本一致,用法也基本一致

    • 算数运算符: +,-,/,*,%
    • 赋值运算符: x = y,x += y,x -= y 注:这里列举的并不完全,更为详细的PHP运算符教程请查阅w3cschool_PHP运算符
<?php
$x=10;
$y=6;
echo ($x + $y); // 输出 16
echo ($x - $y); // 输出 4
echo ($x * $y); // 输出 60
echo ($x / $y); // 输出 1.6666666666667
echo ($x % $y); // 输出 4
?>
  • 函数: PHP虽然系统内建了一些函数,但是这不影响我们定义自己的. 函数的作用就是在代码中可以重复使用的语法块,页面加载的时候不会执行,只有在被调用的时候才会执行
// 基础语法
function functionName() {
  这里写代码
}

// 无参数 无返回值的函数
function sayhi(){
    echo "Hello World";
}

// 有参数 无返回值的函数
function sayName($name){
    echo $name.‘你好哦‘;
}
// 调用
sayName(‘小狐狸‘);

// 有参数,参数有默认值的函数
function sayFood($food=‘西兰花‘){
    echo $food.‘好好吃‘;
}
// 调用
sayFood(‘西葫芦‘);// 如果传入参数,就使用传入的参数
sayFood();// 如果不传入参数,直接使用默认值

// 有参数,有返回值的函数
function sum($a,$b){
    return $a+$b
}
sum(1,2);// 返回值为1+2 = 3
  • 对象 PHP中允许使用对象这种,自定义数据类型. 使用时必须先声明,实例化之后才能够使用
// 定义最基础的类
class Fox{

        public $name = ‘itcast‘;
        public $age = 10;
}
$fox = new $fox;
// 对象属性取值
$name = $fox->name;
// 对象属性赋值
$fox->name = ‘小狐狸‘;

// 带构造函数的对象
class fox{
    // 私有属性,外部无法访问
    var $name = ‘小狐狸‘;
    // 定义方法 用来获取属性
    function Name(){
    return $this->name;
    }
    // 构造函数,可以传入参数
    function fox($name){
    $this->name = $name
    }
}
    // 定义了构造函数 需要使用构造函数初始化对象
    $fox = new fox(‘小狐狸‘);
    // 调用对象方法,获取对象名
    $foxName = $fox->Name();
  • 内容输出: echo:PHP语句直接使用即可,输出字符串 print_r():函数输出复杂数据类型,比如数组,对象 var_dump():函数输出详细信息,如对象、数组
$arr =array(1,2,‘123‘);

echo‘123‘;
// 结果为 123

print_r($arr);
// 结果为 Array ( [0] => 1 [1] => 2 [2] => 123 )

var_dump($arr);
/* 结果为
    array
  0 => int 1
  1 => int 2
  2 => string ‘123‘ (length=3)
*/
  • 循环语句: 这里只列举了foreach,for循环
// for 循环
for ($x=0; $x<=10; $x++) {
  echo "数字是:$x <br>";
} 

// foreach 循环
$colors = array("red","green","blue","yellow");
// 参数1为循环的对象,参数2会将对象的值挨个取出,直到最后
// 如果循环的是对象的话,输出的是对象属性的值
foreach ($colors as $value) {
  echo "$value <br>";
}
输出结果为
/*
red
green
blue
yellow
*/
  • header()函数 用来向客户端(浏览器)发送报头,如果出现中文无法显示,可以尝试在PHP代码顶部添加 如下代码
header("content-type:text/html; charset=utf-8")

原文地址:https://www.cnblogs.com/powerplay/p/8454474.html

时间: 2024-10-11 11:51:09

服务端web开发:PHP简介以及常见语法的相关文章

PHP. 01. C/S架构、B/S架构、服务器类型、服务器软件、HTTP协议/服务器、数据库、服务器web开发、PHP简介/常见语法、PHPheader()、 PHP_POST/GET数据获取和错误处理

C/S架构 Client/Server 指客户端,服务器 架构的意思 优点:性能性高:可将一部分的计算工作放在客户端上,服务器只需处理出局即可   洁面炫酷,可使用更多系统提供的效果 缺点:更新软件需版本同步 不同设备访问:必须安装了客户端才能登陆 B/S架构 Browser /Server 指浏览器, 服务器.是WEB兴起后的一种结构 优点:更新简洁,对用户来说只需刷新浏览器即可   多设备同步:只要能够使用浏览器即可登录 缺点:性能较低:当时随着硬件性能的提升,这个差距在缩小   浏览器兼容

移动端Web开发调试之Chrome远程调试(Remote Debugging)

本篇主要说一下Chrome RemoteDebugging 的方法,之前也遇到一些坑,自己总结了一些经验,分享如下. Chrome DevTools调试移动设备Brower Page Tabs/WebViews 安卓远程调试目前支持所有操作系统(Windows,Mac, Linux, and Chrome OS.)中调试,支持: ● 调试站点的页面 ● 调试安卓原生App中的WebView ● 实时将安卓设备的屏幕图像同步显示到开发机器. ● 通过端口转发(port forwarding)与虚拟

移动端web开发的一些知识点

整理一下自己平时移动端web开发中遇到的问题,也参考一下前辈的一些总结 1.最常见的要数1像素边框了 因为Retine屏的分辨率始终是普通屏幕的2倍,1px的边框在dpr=2的retina屏下会显示成2px. 但在IOS8中,已经支持0.5px了,那就意味着, 在devicePixelRatio=2的时候,我们可以使用css设置为0.5. 平时用的比较多的也是使用transform了: div{ height:1px; background:#000; -webkit-transform: sc

安卓手机移动端Web开发调试之Chrome远程调试(Remote Debugging)

一.让安卓打debug模式的apk包 二.将电脑中的chrome升级到最新版本,在chrome浏览器地址栏中输入chrome://inspect/#devices: 在智能手机还未普及时,移动设备的调试处处是alert的,这估计是最常用的办法了.以前很多时候为了预览页面在移动设备上的效果,需要先将页面上传到测试服务器,再将url输入到设备浏览器,或者使用第三方二维码扫码应用,通过移动设备访问打开浏览实际效果,每次换设备都要重复这些操作,页面多的话这些繁琐的事情就特别让人厌烦了.移动互联网的浪潮,

iOS推送小结(证书的生成、客户端的开发、服务端的开发)

1.推送过程简介 1.1.App启动过程中,使用UIApplication::registerForRemoteNotificationTypes函数与苹果的APNS服务器通信,发出注册远程推送的申请.若注册成功,回调函数application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken 会被触发,App可以得到deviceToken,该to

0083 移动端WEB开发之响应式布局、bootstrap

移动端WEB开发之响应式布局 1. 响应式开发原理 1.1 响应式开发原理 就是使用媒体查询针对不同宽度的设备进行布局和样式的设置,从而适配不同设备的目的. 设备的划分情况: 小于768的为超小屏幕(手机) 768~992之间的为小屏设备(平板) 992~1200的中等屏幕(桌面显示器) 大于1200的宽屏设备(大桌面显示器) 1.2 响应式布局容器 响应式需要一个父级做为布局容器,来配合子级元素来实现变化效果. 原理就是在不同屏幕下,通过媒体查询来改变这个布局容器的大小,再改变里面子元素的排列

移动端Web开发注意点

不用考虑浏览器兼容性 移动端开发主要对象是手持设备,其中绝大部分是IOS和Android系统,so,在开发此类页面时不必纠结IE和其他一些2B浏览器的兼容性,webkit是本次开发重点. 当然,不同版本的Android是存在一些问题的,还有就是不同浏览器的版本也存在一些差别,IOS在这方面表现甚好. 所以在开发时我们只需使用Chrome进行调试即可,话说Chrome的开发者工具也是灰常不错的. 丰富的页面Meta 控制显示区域各种属性: <meta content="width=devic

移动端web开发常见问题

上一篇总结了一些有关html5和css3的面试题,这一篇是有关于移动端web开发的常见问题,希望一样对你有一些帮助. Meta相关 1. 添加到主屏后的标题(IOS) <meta name="apple-mobile-web-app-title" content="标题"> 2. 启用 WebApp 全屏模式(IOS) 当网站添加到主屏幕后再点击进行启动时,可隐藏地址栏(从浏览器跳转或输入链接进入并没有此效果) <meta name="a

移动端--web开发

最近看到群里对关于 移动端 web开发很是感兴趣,决定写一个关于 移动端的web开发 概念或框架(宝庆对此很是纠结).也是因为自己一直从事pc 浏览器 web一直对 移动端的不是很重视,所以趁此机会也让自己对 移动端的开发 有个清晰的认识. 环境: 1. 移动端的内核:手机浏览器的内核是什么 在文章中 Android 手机 采用 Webkit.其他的QQ,UC,飞豚 浏览器都基于此开发的.而在iOS以及WP7平台上,由于系统封闭,不允许除  系统自带浏览器内核以外的浏览器内核进入,因此各家浏览器