Ne bu PHP kodu belgelemek için en iyi yol olacağını?

3 Cevap php

Eğer fonksiyon ne yapar söyle ve nasıl kullanarak aşağıdaki işlevi belgelemek istiyorum Comments Can:

function tosql($value, $value_type, $is_delimiters = true, $use_null = true) 
    {
    	if (is_array($value) || strlen($value)) {
    		switch ($value_type) {
    			case NUMBER:
    			case FLOAT:
    				return preg_replace(array("/,/", "/[^0-9\.,\-]/"), array(".", ""), $value);
    				break;
    			case DATETIME:
    				if (!is_array($value) && is_int($value)) { $value = va_time($value); }
    				if (is_array($value)) { $value = va_date($this->DatetimeMask, $value); } 
    				else { return "NULL"; }
    				break;
    			case INTEGER:
    				return intval($value);
    				break;
    			case DATE:
    				if (!is_array($value) && is_int($value)) { $value = va_time($value); }
    				if (is_array($value)) { $value = va_date($this->DateMask, $value); }
    				else { return "NULL"; }
    				break;
    			case TIME:
    				if (!is_array($value) && is_int($value)) { $value = va_time($value); }
    				if (is_array($value)) { $value = va_date($this->TimeMask, $value); }
    				else { return "NULL"; }
    				break;
    			case TIMESTAMP:
    				if (!is_array($value) && is_int($value)) { $value = va_time($value); }
    				if (is_array($value)) { $value = va_date($this->TimestampMask, $value); }
    				else { return "NULL"; }
    				break;
    			case NUMBERS_LIST:
    			case FLOATS_LIST:
    				$values = (is_array($value)) ? $value : explode(",", $value);
    				for ($v = 0; $v < sizeof($values); $v++) {
    					$value = $values[$v];
    					$value = preg_replace(array("/,/", "/[^0-9\.,\-]/"), array(".", ""), $value);
    					if (!is_numeric($value)) {
    						$value = 0;
    					}
    					$values[$v] = $value;
    				}
    				return implode(",", $values);
    				break;
    			case INTEGERS_LIST:
    				$values = (is_array($value)) ? $value : explode(",", $value);
    				for ($v = 0; $v < sizeof($values); $v++) {
    					$values[$v] = intval($values[$v]);
    				}
    				return implode(",", $values);
    				break;
    			default:
    				$value = addslashes($value);
    				break;
    		}
    		if ($is_delimiters) {
    			$value = "'" . $value . "'";
    		}
    	} elseif ($use_null) {
    		$value = "NULL";
    	} else {
    		if ($value_type == INTEGER || $value_type == FLOAT || $value_type == NUMBER 
    			|| $value_type == NUMBERS_LIST || $value_type == FLOATS_LIST || $value_type == INTEGERS_LIST) {
    			$value = 0;
    		} elseif ($is_delimiters) {
    			$value = "''";
    		}
    	} 
    	return $value;
    }

3 Cevap

Peki güvenli bir SQL komutu kullanılabilecek bir dize verilen bir değeri dönüştürmek için bir işlev gibi görünen bir zamanlar üzerinde hızlı veriyor. Onu dönüştürmek yapamıyorsanız kodunu kırmak için değil, böylece o, uygun bir kasa değeri, 'null' vermek.

usage: tosql( mydate, 'DATE' )

Eğer bir yorum kodu yukarıdaki yukarıdaki gibi bir şey kesmek ve yapıştırmak önermek ...

PhpDocumentor kullanma

/**
 * tosql
 * Converts a string to a valid sql string
 * @param string
 * @param string
 * @return string
*/
function tosql($value, $value_type, $is_delimiters = true, $use_null = true) 
{
}

Bu değer ve değerin türünü gösteren bir sabit alır ve bir SQL ifadesinde kabul edilebilir bir şey haline dönüşür. Bazı türlerinin (DATETIME, DATE, TIME, TIMESTAMP yanı dizileri destekler ve LIST türleri .) $is_delimiters true olduğunda, (bunları gerektiren takılı değerleri ve karşılaştırma belirteçleri için) tek tırnak ile öğeyi çevreler. $use_null belirtilirse, bir NULL belirteci sağlar.

How kod görüş, din, ve ne kadar sizin kodunu kullanmak zorunda sonraki yahoo umurumda meselesidir Yorumlamak için.