边练边学PHP

写在前头的话

  首先说到PHP还是用官网的介绍最合适

“PHP is a popular general-purpose scripting language that is especially suited to web development.”

  这里有一点尴尬的地方,php实际并没有那么通用,虽然可以做其他方面的开发,但实际因为标准库的缘故,PHP主要用来做web开发的最多,php也是因为web2.0的流行而流行。这既是一个常被人喷的弱点,其实也算一个优点吧,“专一”。

  此文的目标就是通过示例代码介绍PHP的主要语法,以及通过使用PHP进行简单的开发来加深理解。愿意读这篇入门文章的必然是新手,这里笔者希望简单明了一页能介绍大致的语法骨架。有了大致的概念之后,剩下的细节填充可以自己查找资料。

零、执行起来

可以先在 官网下载地址下载一个合适的版本,然后解压或者编译。windows版本可以直接解压到一个目录,比如C:\php。源码版本的需要编译。

$ wget https://www.php.net/distributions/php-7.3.11.tar.gz
$ tar -xvf php-7.3.11.tar.gz
$ cd php-7.3.11
$ ./configure --prefix=/usr/local/php
$ make && make install

这就会在/usr/local/php目录下安装php。当然这里是默认的编译参数,我们语法实践不需要其他的扩展,所以使用默认参数就够了。
例子保存为test.php之后使用C:\php\php.exe test.php 或者linux下/usr/local/php/bin/php test.php 就可以执行测试脚本。

一、语法

1. php代码的开始标记

  PHP代码以结束 。这主要是因为PHP在创建之初是为了方便写网页,所以大部分代码是嵌入到html页面里面的,PHP文件允许包含除了PHP代码外的其他内容。为了区别html代码和PHP代码,PHP文件里面PHP代码会包含在之间,标记之外的内容会原样输出。



注意:

a. 早期的代码也有用的。

b. 后面PHP因为前后端分离,前端更多使用模板渲染,甚至最近几年流行的mvvm已经不需要服务端来渲染页面。所以为了让PHP在执行过程中,项目文件太多的情况下,不至于在输出结果中输出额外的空白字符,现在PHP文件一般会省去,这样整个文件都当作PHP代码,不会原样输出?>之后可能存在的空格。

c. PHP文件编码一般使用utf-8不带bom。因为某些情况下,bom会输出多余的不可见字符,不好排查。至于gbk之类的,只有比较老的系统使用,在和utf-8混用极易产生乱码。

2. 基本语法

a. 变量和常量

1,"key1"=>2];//类似于其他语言hashmap的形式
[ 10,"key"=>1,];//混合形式,此处10的key是0,数组定义时未指定key的,会从0开始赋值

[10=>1,2];//如果key为数字,则后面元素key从此元素的key开始增加,2的key是11

//数组有一些基本的操作,

$a []= 10;//不指定key的时候,会将元素添加到数组末尾

array_push($a,10)//和上面等价

$a+$b;//此操作和array_merge类似,但有一些不同,至于具体什么不同,可以自己实验一下,或者去翻PHP的文档。这里是常见的面试题。

//常量分为下面两种

define("A_CONSTANT",1);//define定义的常量是全局作用的,重复定义会报一个notice,

//这里注意的是一般常量不要用两个下划线开头(__),因为内置的全局变量常常以此开头,避免重复。其次常量一般大写以表明是常量。

const A_CONSTANT=1;//此种定义常量如果在类定义体里面声明的话,需要通过类名来引用

class A {
    const  A_CONSTANT=1;
}

//使用方式是 A::A_CONSTANT

b. 判断语句

c. 循环语句

PHP的循环语句有几种形式,

 $value){echo $value;}

//这里的“=>”表示数组的key和value,如果不需要key,可以只写value,不包括前面的"$key=>"

//c-style的for,和其他语言一样

while($index<10){echo $index;$index++;} 

//do-while,会在判断条件前先执行一次,有时候用作某些判断条件需要根据第一次执行结果的逻辑实现

do{}while()

//有几个关键词用在循环语句中,break,continue,分别指的是中断循环以及之间跳过这一次循环
//注意break和continue除了常见的形式,在PHP里还有一种形式:break 1;关键词后加一个数字,表明跳出几层循环,1指的是当层循环
//switch-case语句和循环一样可以使用break和continue

d. switch-case

  1. 函数,类,命名空间

二、doit

三、现实世界

官方文档

你可能感兴趣的:(边练边学PHP)