美文网首页
PHP七天系列之基础知识

PHP七天系列之基础知识

作者: PFinal南丞 | 来源:发表于2020-04-13 22:43 被阅读0次

    基础入门

    PHP是什么?

    PHP(PHP: Hypertext Preprocessor,超文本预处理器的缩写),是一种被广泛应用的开放源代码的、基于服务器端的用于产生动态网页的、可嵌入HTML中的脚本程序语言,尤其适合 WEB 开发。

    当客户端向服务器的程序提出请求时,web服务器根据请求响应对应的页面,当页面中含有php脚本时,服务器会交给PHP解释器进行解释执行,将生成的html代码再回传给客户端,客户端的浏览器解释html代码,最终形成网页格式的页面。

    执行方式

    PHP 代码被包含在特殊的起始符和结束符中,使得网页的脚本可以进出“PHP 模式”。其它用 C 或 Perl 语言写的脚本,需要用大量的命令来编写程序以输出 HTML ,而用PHP 编写一个 HTML 脚本,只需嵌入了一些代码来完成操作(例如,在本例中输出了一些文本)。和客户端的 JavaScript 不同的是,PHP 代码是运行在服务端的。如果在服务器上建立了如上例类似的代码,则在运行该脚本后,客户端就能接收到其结果,但他们无法得知其背后的代码是如何运作的。甚至可以将 web 服务器设置成让 PHP 来处理所有的 HTML 文件,这么一来,用户就无法得知服务端到底做了什么。

    PHP运行环境安装

    大家在初始学习PHP时使用集成化开发环境是最好的选择,下面是常用的集成开发环境

    集成开发软件 可使用的操作系统 说明
    WAMP Win 推荐
    XAMPP Win/Mac
    Mamp Mac 推荐
    Lamp Linux(CentOS/Fedora/Debian/Ubuntu)

    PHP的特点

    • 是开放源代码的,服务器端的脚本语言。
    • 独立于操作系统,可以运行在几乎所有系统中。
    • 支持大部分的服务器,如Apache,IIS。
    • 支持大量的数据库,主要是Access\MySQL\SQL Server这三种。
    • 可以创建图象。
    • … …
    • 还有一些其他特色功能在后面的高级技术详细介绍。
    • 我们知道的网站如迅雷、新浪微博等大型网站都在使用PHP程序。

    C/S与B/S结构

    C/S结构

    C/S (Client/Server)结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构

    B/S****结构

    B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。

    集成开发环境

    WAMP

    Windows下的Apache+Mysql/MariaDB+Perl/PHP/Python,一组常用来搭建动态网站或者服务器的开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。

    MAMP

    苹果系统下MAMP PRO是专业级版本的经典本地服务器环境的os x软件。MAMP这几个首字母代表苹果的OSX系统上的Macintosh、Apache、MySQL和PHP,顾名思义,你应该知道MAMP的强大功能 啦!MAMP 内含 Apache 伺服器、PHP 安装套件以及MySQL安装套件。

    PHP的标记风格

    <?php … … ?>

    这是PHP推荐使用的标记风格。服务器管理员不能禁用这种风格的标记。

    分号

    PHP用分号来分隔简单的语句。复合语句用大括号来标记代码块,如条件测试或循环,在大括号后面不要用分号。和其他语言不一样的是,在PHP中右括号(?>)前的分号不是必选的。

    空白和换行符

    一般来说,空白符在PHP中无关紧要。可以将一个语句展开成任意行,或者将语句紧缩在一行。
    可以利用这个灵活的格式来使代码更具有可读性(通过排列分配、缩进等)。一些懒惰的程序员利用这种自由的格式创建根本无法阅读的代码,这是不提倡的。

    程序的注释

    PHP支持C、C++和Shell脚本风格的注释,如下:

    // 单行注释
    /* ...*/  多行注释      (注意:不能嵌套)
    # 脚本注释
    

    查看数据

    echo

    输出一个或多个变量,他不是函数,不需要使用括号,如果输出多个请用逗号分隔

    echo 1,2,3,4;

    var_dump

    打印变量的相关信息

    var_dump(1234);

    区别:echo 是直接输出,var_dump输出和带有变量类型

    变量知识

    定义变量

    PHP是弱类型语言,不像其他语言需要对变量进行类型声明。PHP中以 $ 作为前缀来定义变量,以a~z(大小写)或 _ 下划线定义变量名。

    下面是合法的变量名

    $pf =  'pfinal.com';
    $_name = 'PFinal社区';
    

    下面是非法的变量声明

    $999 = 'yahoo.com'
    $&* = 'sina.com.cn'
    

    弱类型

    PHP是一种非常弱的类型语言。在大多数编程语言中,变量只能保持一种类型的数据,而且这个类型必须在使用变量前声明,例如C语言中。

    而在PHP中,变量的类型通常不是由程序员设定的,确切地说,是根据该变量使用的上下文在运行时(即变量的值)决定的。

    简单来说,var = 1;就是数字,var2 = '1'就是字符串,变量类型是由值决定的。

    传值与引用

    传值赋值

    直接使用 = 将变量的值赋值给另一个变量。

    $a = 1;
    $b = $a;
    $b = 2;
    echo $a;//结果是1
    

    引用赋值

    将一个变量的内存地址赋值给另一个变量的行为即传址赋值。需要在 = 等号前加上 & 引用符号,这样两个变量指向内存中的一个地址,任何一个变量的改变都影响到另一个变量,有点类似于快捷方式的概念。

    $a = 1;
    $b = &$a;
    $b = 2;
    echo $a;//结果是2
    

    可变变量

    可以变量即使用一个变量的值,作为另一个变量名。

    $a = 'hello';   //普通变量
    $$a = 'world';  //可变变量 相当于:$hello = ‘world’;
    echo "$a ${$a}";//输出:hello world
    echo "$a $hello";//输出:hello world
    

    变量作用域

    变量作用域指变量在代码中可以访问的位置。

    超全局变量

    可以代码的任何位置都可以访问的变量

    变量 说明
    $_GET 地址栏GET提交
    $_POST 表单POST提交
    $_FILES 文件上传变量
    $_SESSION 会话变量
    $_COOKIE cookie值变量
    $_GLOBALS 全局变量
    $_REQUEST 包含$_GET、$_POST、$_COOKIE
    $_SERVER 服务器环境变量

    全局变量

    全局声明(函数外声明)的变量会保存在 $_GLOBALS 中,函数内默认不能访问到全局变量,在函数中访问需要使用 global 关键字。

    $pf='PFinal社区';
    function p() {
        //利⽤ global 引入全局变量
        global $pf; 
        echo $pf;
    }
    p(); 
    

    也可以使用全局数组$GLOBALS调⽤用全局变量量。 如: $GLOBALS['hd'];

    检测变量

    通过isset 函数可以检测变量是否定义。

    var_dump(isset($name));
    # 结果是false
    

    变量销毁

    php在全部代码执行结束后会删除所有变量,也使用 unset 函数可以在程序运行中删除变量。

    $name='pfinalClub.com';
    unset($name);
    

    全局变量不能在函数中删除

    $name = 'pfinalClub.com';
    function run()
    {
        global $name;
        unset($name);
    }
    run();
    echo $name;
    # 依然可以输出 pfinalClub.com
    

    相关文章

      网友评论

          本文标题:PHP七天系列之基础知识

          本文链接:https://www.haomeiwen.com/subject/vxgomhtx.html