zoukankan      html  css  js  c++  java
  • PHP die与exit的区别

    最近听见有人说die和exit区别,bula~bula。决心一探究竟。

    翻了翻PHP 5.6的源码(源码的位置为zend目录下zend_language_scanner.l大约是1014~1020行)

    1 <ST_IN_SCRIPTING>"exit" {
    2     return T_EXIT;
    3 }
    4 
    5 <ST_IN_SCRIPTING>"die" {
    6     return T_EXIT;
    7 }

    由源码可以看得出来,zend引擎在解析die和exit都解析成了T_EXIT,另外插一句die和exit都不是函数,都只是语义结构。

    所以二者的实现,完全相同。

    为什么要开放两个实现一样函数呢?

    存在即是合理。

    原因是:二者虽然在实现相同,但是具有不同的名字,这就意味着,在平常的编程中,可以使我们的语义化更强。

    代码1:

    <?php 
      $pdo = new PDO("mysql:host=localhost;dbname=db_demo","root","") or die('error') ; 

    代码2:

    <?php
        function getData(){
          return [];        
        }
        $data = getData();
        if(empty($data)){
          exit('data is null!');                      
        }

    从以上两个代码片段来总结:

    die主要用于不可预测的、意外的程序终止(非主观)。

    exit主要用于想要程序终止(主观)。

  • 相关阅读:
    python 操作mysql
    openstack 与 VMware(vSphere) 不同
    python redis 实现订阅发布
    python redis 管道
    python rabbitMQ 实现RPC
    python 连接redis
    使用gdb
    在应用程序中如何打印调用栈
    如何使用coredump
    linux中常用命令
  • 原文地址:https://www.cnblogs.com/feiyafeiblog/p/7230306.html
Copyright © 2011-2022 走看看