Source of file AbstractPrompt.php
Size: 2,130 Bytes - Last Modified: 2014-03-12T23:21:18+01:00
/home/theseer/Downloads/ZendFramework-2.3.0/library/Zend/Console/Prompt/AbstractPrompt.php
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 | <?php /** * Zend Framework (http://framework.zend.com/) * * @link http://github.com/zendframework/zf2 for the canonical source repository * @copyright Copyright (c) 2005-2014 Zend Technologies USA Inc. (http://www.zend.com) * @license http://framework.zend.com/license/new-bsd New BSD License */ namespace Zend\Console\Prompt; use ReflectionClass; use Zend\Console\Adapter\AdapterInterface as ConsoleAdapter; use Zend\Console\Console; use Zend\Console\Exception; abstract class AbstractPrompt implements PromptInterface { /** * @var ConsoleAdapter */ protected $console; /** * @var mixed */ protected $lastResponse; /** * Return last answer to this prompt. * * @return mixed */ public function getLastResponse() { return $this->lastResponse; } /** * Return console adapter to use when showing prompt. * * @return ConsoleAdapter */ public function getConsole() { if (!$this->console) { $this->console = Console::getInstance(); } return $this->console; } /** * Set console adapter to use when showing prompt. * * @param ConsoleAdapter $adapter */ public function setConsole(ConsoleAdapter $adapter) { $this->console = $adapter; } /** * Create an instance of this prompt, show it and return response. * * This is a convenience method for creating statically creating prompts, i.e.: * * $name = Zend\Console\Prompt\Line::prompt("Enter your name: "); * * @return mixed * @throws Exception\BadMethodCallException */ public static function prompt() { if (get_called_class() === __CLASS__) { throw new Exception\BadMethodCallException( 'Cannot call prompt() on AbstractPrompt class. Use one of the Zend\Console\Prompt\ subclasses.' ); } $refl = new ReflectionClass(get_called_class()); $instance = $refl->newInstanceArgs(func_get_args()); return $instance->show(); } } |