2013-03-19 38 views
-8

有一次我問的有什麼不對的代碼問題:ZEND是否自動包含PhP單元?

static $result = null; 

if (isNull($result)) 
{ 
    return $result; 
} 

後噸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(); 
} 

這是從一個名爲functions.php的。我不知道是什麼樣的問題

<?php 
/** 
* PHPUnit 
* 
* Copyright (c) 2002-2011, Sebastian Bergmann <[email protected]>. 
* 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 <[email protected]> 
* @copyright 2002-2011 Sebastian Bergmann <[email protected]> 
* @license http://www.opensource.org/licenses/bsd-license.php BSD License 
* @link  http://www.phpunit.de/ 
* @since  File available since Release 3.5.0 

那是什麼?任何想法如何該文件進入我的PHP?我從來沒有記得之前有過這個文件。

我從來沒有添加這個框架。不是我知道。但它在那裏。它必須是一個強大的框架。

我怎麼知道自動完成功能認爲這是我的代碼的一部分?我試圖在資源管理器中顯示,在導航器中顯示,什麼都沒有沒有選擇在Windows資源管理器中顯示。

PHPUnit的必須是一個著名的框架,它鑽進了我的代碼,而我知道這件事。它是否由ZEND自動安裝?

+3

你在問phpunit如何進入你的電腦? – Stu 2013-03-19 13:23:04

+0

它如何進入你的PHP安裝我不知道,但它是一個框架,它允許你測試腳本的錯誤。 Google是你的朋友。 – ATaylor 2013-03-19 13:23:07

+0

如果我可能知道,這個問題是如此不真實? – 2013-03-19 14:06:28

回答

1

PHPUnit是一個單元測試框架。當你(或某人)將它添加到你的代碼中時,它的功能顯然在代碼中隨處可見。

這是一個常見的情況在編程,不僅在PHP。它發生在每種語言中 - 您可以添加其他人的代碼或框架或插件或插件,而不會意識到所有的影響。在這裏,您的框架添加了功能(isNull),如果您決定刪除PHPUnit,它將會中斷。所以,使用addins可能會有風險。

+0

我從來沒有添加這個框架。不是我知道。 – 2013-03-19 14:08:41

5

isNUll()是PHPUnit的一個函數,它是一個「項目」(PHP框架)。

你的問題似乎是:

<?php 
if(myFooRandomFunction($a,$b,2,3.14)) 
{ 
    //do something 
} 
} 

是什麼myFooRandomFunction()以及這將如何呢?

它沒有任何意義(因爲我們談論php的功能)!

無論其

PHPUnit_Framework_Assert::isNull() 

是針對這種說法測試你的價值觀該框架的功能。很顯然,這個名字isNull不是隨機的,併爲所記,讓它從PHP的標準

+0

有什麼框架?這不是myFooRandomFunction()。我沒有寫這個函數。這看起來像一個着名的框架。 – 2013-03-19 14:07:47

+0

@JimThio是PHPUnit的所有答案建議你 – DonCallisto 2013-03-19 14:10:06

+0

PHPUnit到底是什麼,它是如何進入我的框架列表等/這是zend thingy? – 2013-03-19 14:34:21

2

PHP單元測試識別就是測試 PHP代碼,並聲稱取得了PEAR庫一定的條件是否在區域化代碼會見。

isNull()不是內置的PHP函數。

+0

如果它不是內置的,它爲什麼會自動完成?那是什麼框架? – 2013-03-19 14:08:12

+0

PHPUnit正如你發佈的評論中提到的,也是上面的答案。它的自動完成是因爲IDE在其項目構建中有框架。 – 2013-03-19 14:21:26

+0

這包括在ZEND中嗎? – 2013-03-19 14:34:57