ZEND是否自动包含PhP单位?

use*_*951 -9 php phpunit

我曾经问过这个代码有什么问题:

static $result = null;

if  (isNull($result))
{
    return $result;
}
Run Code Online (Sandbox Code Playgroud)

经过大量的downvotes(问题消失),问题是没有这样的东西叫做isNull函数.我们拥有的是is_null

大.我想知道我最初是如何使用isNull的.

原来这是自动完成工作.

现在我发现了为什么我输入isNull.该功能实际存在.我按ctrl单击,然后我去

/**
 * Returns a PHPUnit_Framework_Constraint_IsNull matcher object.
 *
 * @return PHPUnit_Framework_Constraint_IsNull
 * @since  Method available since Release 3.3.0
 */
function isNull()
{
    return PHPUnit_Framework_Assert::isNull();
}

/**
 * Returns a PHPUnit_Framework_Constraint_IsTrue matcher object.
 *
 * @return PHPUnit_Framework_Constraint_IsTrue
 * @since  Method available since Release 3.3.0
 */
function isTrue()
{
    return PHPUnit_Framework_Assert::isTrue();
}
Run Code Online (Sandbox Code Playgroud)

它来自一个名为functions.php的文件.我不知道那是什么问题

<?php
/**
 * PHPUnit
 *
 * Copyright (c) 2002-2011, Sebastian Bergmann <sebastian@phpunit.de>.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 *   * Redistributions of source code must retain the above copyright
 *     notice, this list of conditions and the following disclaimer.
 *
 *   * Redistributions in binary form must reproduce the above copyright
 *     notice, this list of conditions and the following disclaimer in
 *     the documentation and/or other materials provided with the
 *     distribution.
 *
 *   * Neither the name of Sebastian Bergmann nor the names of his
 *     contributors may be used to endorse or promote products derived
 *     from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 *
 * @package    PHPUnit
 * @subpackage Framework
 * @author     Sebastian Bergmann <sebastian@phpunit.de>
 * @copyright  2002-2011 Sebastian Bergmann <sebastian@phpunit.de>
 * @license    http://www.opensource.org/licenses/bsd-license.php  BSD License
 * @link       http://www.phpunit.de/
 * @since      File available since Release 3.5.0
Run Code Online (Sandbox Code Playgroud)

那是什么?知道该文件是如何进入我的PHP的吗?我以前从没记过那个文件.

我从未添加过这个框架.不是我知道的.然而它就在那里.它必须是一个强大的框架.

我怎么知道autocomplete如何认为它是我的代码的一部分?我试过在资源管理器中显示,在导航器中显示,没有.在Windows资源管理器中无法显示.

PhPUnit必须是一个着名的框架,它在我不知情的情况下进入我的代码.它是由ZEND自动安装的吗?

Don*_*sto 5

isNUll() 是一个来自PHPUnit的函数,它是一个"项目"(PHP Framework).

你的问题似乎是:

<?php
 if(myFooRandomFunction($a,$b,2,3.14))
 {
  //do something
 }
}
Run Code Online (Sandbox Code Playgroud)

myFooRandomFunction()这将是什么以及将做什么?

它没有任何意义(因为我们谈论php的功能)!

然而

PHPUnit_Framework_Assert::isNull()
Run Code Online (Sandbox Code Playgroud)

是该框架的一个功能,用于根据此断言测试您的值.显然,该名称isNull不是随机的,而是按原样编写的,因为它可以从php的标准中识别出来