Разработчикам, использующим assert в php.

Grey_EM

Guest
Разработчикам, использующим assert в php.

Разработчикам, использующим assert в php.
Приведите Pls пример реального кода, где используются assert.
 

[VS]

Guest
PHP:
<?php
include('DWPollManager.php');
class CDWImagePoll extends CDWPollManager
{
	var $iImages;
	function ImageVote($aMarks)
	{
		if (sizeof($aMarks) != $this->iImages) return false;
		$strMarks = implode(':', $aMarks);
		return $this->Vote($strMarks);
	}
	function GetImageVoteResults()
	{
		$results = array();
		for ($i = 0; $i < $this->iImages; $i++)
			$results[$i] = 0;
		$votes = $this->GetAllVotes();
		foreach($votes as $choice)
		{
			$aChoices = explode(':', $choice);
			assert(sizeof($results) == sizeof($aChoices));
			for ($i = 0; $i < sizeof($results); $i++)
				$results[$i] += $aChoices[$i];
		}
		return $results;
	}
}
?>
 

Grey_EM

Guest
Автор оригинала: [VS]
PHP:
<?php
include('DWPollManager.php');
class CDWImagePoll extends CDWPollManager
[skip]
	function GetImageVoteResults()
	{
		$results = array();
		for ($i = 0; $i < $this->iImages; $i++)
			$results[$i] = 0;
		$votes = $this->GetAllVotes();
		foreach($votes as $choice)
		{
			$aChoices = explode(':', $choice);
			assert(sizeof($results) == sizeof($aChoices));
			for ($i = 0; $i < sizeof($results); $i++)
				$results[$i] += $aChoices[$i];
		}
		return $results;
	}
}
?>
По коду не очень, понятно ситуация с разным количеством элементов в массивах в процессе нормального функционирования класса может возникнуть?
Или только если кто-то использует его неправильно?
 

[VS]

Guest
эта ситуация может возникнуть если где-то в другом месте в программе допущена ошибка.

assert - это именно для нахождения ошибок программиста.
 

Grey_EM

Guest
Автор оригинала: [VS]
эта ситуация может возникнуть если где-то в другом месте в программе допущена ошибка.

assert - это именно для нахождения ошибок программиста.
Я в курсе.
Хотел просто убедиться что ты правильно его используешь.
:)
 
Сверху