晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
| DIR:/opt/cloudlinux/alt-php55/root/usr/share/pear/ezc/ConsoleTools/structs/ |
| Current File : //opt/cloudlinux/alt-php55/root/usr/share/pear/ezc/ConsoleTools/structs/output_format.php |
<?php
/**
* File containing the ezcConsoleOutputFormat class.
*
* @package ConsoleTools
* @version 1.6.1
* @copyright Copyright (C) 2005-2010 eZ Systems AS. All rights reserved.
* @license http://ez.no/licenses/new_bsd New BSD License
* @filesource
*/
/**
* Struct class to store formating entities used by ezcConsoleOutput.
*
* Struct class to store formating entities used by ezcConsoleOutput.
*
* Possible values of {@link ezcConsoleOutputFormat::$color} are:
* - gray
* - red
* - green
* - yellow
* - blue
* - magenta
* - cyan
* - white
* - default (representing the consoles default color)
*
* For {@link ezcConsoleOutputFormat::$bgcolor} the following values are valid:
* - black
* - red
* - green
* - yellow
* - blue
* - magenta
* - cyan
* - white
* - default (representing the consoles default background color)
*
* The {@link ezcConsoleOutputFormat::$style} attribute takes an array of
* (possibly) multiple attributes. Choose from the lists below:
*
* - default (resets all attributes to default)
*
* - bold
* - faint
* - normal
*
* - italic
* - notitalic
*
* - underlined
* - doubleunderlined
* - notunderlined
*
* - blink
* - blinkfast
* - noblink
*
* - negative
* - positive
*
* @property string $color
* Contains the color for this format.
* @property array(string) $style
* Contains the lists of styles that are associated with
* this format.
* @property string $bgcolor
* Contains the background color for this format.
* @property string $target
* Contains the output target to use. Pick one of
* ezcConsoleOutput::TARGET_OUTPUT, ezcConsoleOutput::TARGET_STDOUT
* or ezcConsoleOutput::TARGET_STDERR.
*
* @package ConsoleTools
* @version 1.6.1
*/
class ezcConsoleOutputFormat
{
/**
* Container to hold the properties
*
* @var array(string=>mixed)
*/
protected $properties = array(
'color' => 'default',
'style' => array( 'default' ),
'bgcolor' => 'default',
'target' => ezcConsoleOutput::TARGET_OUTPUT,
);
/**
* Create a new ezcConsoleOutputFormat object.
* Creates a new object of this class.
*
* @param string $color Name of a color value.
* @param array(string) $style Names of style values.
* @param string $bgcolor Name of a bgcolor value.
* @param string $target Target output stream.
*/
public function __construct( $color = 'default', array $style = null, $bgcolor = 'default', $target = ezcConsoleOutput::TARGET_OUTPUT )
{
$this->__set( 'color', $color );
$this->__set( 'style', isset( $style ) ? $style : array( 'default' ) );
$this->__set( 'bgcolor', $bgcolor );
$this->__set( 'target', $target );
}
/**
* Overloaded __get() method to gain read-only access to some attributes.
*
* @param string $propertyName Name of the property to read.
* @return mixed Desired value if exists, otherwise null.
* @ignore
*/
public function __get( $propertyName )
{
switch ( $propertyName )
{
case 'style':
return (array) $this->properties[$propertyName];
case 'color':
case 'bgcolor':
case 'target':
return $this->properties[$propertyName];
default:
throw new ezcBasePropertyNotFoundException( $propertyName );
}
}
/**
* Overloaded __set() method to gain read-only access to properties.
* It also performs checks on setting others.
*
* @throws ezcBasePropertyNotFoundException
* If the setting you try to access does not exists
* @throws ezcBaseValueException
* If trying to set an invalid value for a setting.
*
* @param string $propertyName Name of the attrinbute to access.
* @param string $val The value to set.
* @ignore
*/
public function __set( $propertyName, $val )
{
if ( !isset( $this->properties[$propertyName] ) )
{
throw new ezcBasePropertyNotFoundException( $propertyName );
}
// Extry handling of multi styles
if ( $propertyName === 'style' )
{
if ( !is_array( $val ) ) $val = array( $val );
foreach ( $val as $style )
{
if ( !ezcConsoleOutput::isValidFormatCode( $propertyName, $style ) )
{
throw new ezcBaseValueException( $propertyName, $style, 'valid ezcConsoleOutput format code' );
}
}
$this->properties['style'] = $val;
return;
}
// Continue normal handling
if ( ( $propertyName === "color" || $propertyName === "bgcolor" )
&& !ezcConsoleOutput::isValidFormatCode( $propertyName, $val ) )
{
throw new ezcBaseValueException( $propertyName, $val, 'valid ezcConsoleOutput format code' );
}
$this->properties[$propertyName] = $val;
}
/**
* Property isset access.
*
* @param string $propertyName Name of the property.
* @return bool True is the property is set, otherwise false.
* @ignore
*/
public function __isset( $propertyName )
{
return isset( $this->properties[$propertyName] );
}
}
?>
|