toArray();
} else if (!is_array($options)) {
$options = func_get_args();
$temp = array();
if (!empty($options)) {
$temp['encoding'] = array_shift($options);
}
$options = $temp;
}
if (!array_key_exists('encoding',$options) && function_exists('mb_internal_encoding')) {
$options['encoding'] = mb_internal_encoding();
}
if (array_key_exists('encoding',$options)) {
$this->setEncoding($options['encoding']);
}
}
/**
* Returns the set encoding
*
* @return string
*/
public function getEncoding()
{
return $this->_encoding;
}
/**
* Set the input encoding for the given string
*
* @param string $encoding
* @return Zend_Filter_StringToLower Provides a fluent interface
* @throws Zend_Filter_Exception
*/
public function setEncoding($encoding = null)
{
if ($encoding !== null) {
if (!function_exists('mb_strtolower')) {
require_once 'Zend/Filter/Exception.php';
throw new Zend_Filter_Exception('mbstring is required for this feature');
}
$encoding = (string) $encoding;
if (!in_array(strtolower($encoding),array_map('strtolower',mb_list_encodings()))) {
require_once 'Zend/Filter/Exception.php';
throw new Zend_Filter_Exception("The given encoding '$encoding' is not supported by mbstring");
}
}
$this->_encoding = $encoding;
return $this;
}
/**
* Defined by Zend_Filter_Interface
*
* Returns the string $value,converting characters to lowercase as necessary
*
* @param string $value
* @return string
*/
public function filter($value)
{
if ($this->_encoding !== null) {
return mb_strtolower((string) $value,$this->_encoding);
}
return strtolower((string) $value);
}
}
研读:
setEncoding()就可。就可以把私有属性设置好值了。
toArray();
} else if (!is_array($options)) {
$options = func_get_args();
$temp = array();
if (!empty($options)) {
$temp['encoding'] = array_shift($options);
}
$options = $temp;
}
if (!array_key_exists('encoding',$options) && function_exists('mb_internal_encoding')) {
$options['encoding'] = mb_internal_encoding();
}
if (array_key_exists('encoding',$options)) {
$this->setEncoding($options['encoding']);
}