diff options
author | Ludovic Pouzenc <ludovic@pouzenc.fr> | 2018-07-16 00:09:33 +0200 |
---|---|---|
committer | Ludovic Pouzenc <ludovic@pouzenc.fr> | 2018-07-16 00:09:33 +0200 |
commit | 4a3ec0ca3f7d0ca8776a6ee7f2a2615234395eb8 (patch) | |
tree | 8869134f1c3b5f7c3841578fbcaa4ff9cee7e2bc /fai_gestion/src/Shell | |
parent | a6104f47f7a0534664f8f3740f303f01e7e7399e (diff) | |
download | chd_gestion-4a3ec0ca3f7d0ca8776a6ee7f2a2615234395eb8.zip chd_gestion-4a3ec0ca3f7d0ca8776a6ee7f2a2615234395eb8.tar.gz chd_gestion-4a3ec0ca3f7d0ca8776a6ee7f2a2615234395eb8.tar.bz2 |
Cake 3.6.7 fresh install
Diffstat (limited to 'fai_gestion/src/Shell')
-rw-r--r-- | fai_gestion/src/Shell/ConsoleShell.php | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/fai_gestion/src/Shell/ConsoleShell.php b/fai_gestion/src/Shell/ConsoleShell.php new file mode 100644 index 0000000..2eb9395 --- /dev/null +++ b/fai_gestion/src/Shell/ConsoleShell.php @@ -0,0 +1,81 @@ +<?php +/** + * CakePHP(tm) : Rapid Development Framework (https://cakephp.org) + * Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) + * + * Licensed under The MIT License + * For full copyright and license information, please see the LICENSE.txt + * Redistributions of files must retain the above copyright notice. + * + * @copyright Copyright (c) Cake Software Foundation, Inc. (https://cakefoundation.org) + * @link https://cakephp.org CakePHP(tm) Project + * @since 3.0.0 + * @license https://opensource.org/licenses/mit-license.php MIT License + */ +namespace App\Shell; + +use Cake\Console\ConsoleOptionParser; +use Cake\Console\Shell; +use Cake\Log\Log; +use Psy\Shell as PsyShell; + +/** + * Simple console wrapper around Psy\Shell. + */ +class ConsoleShell extends Shell +{ + + /** + * Start the shell and interactive console. + * + * @return int|null + */ + public function main() + { + if (!class_exists('Psy\Shell')) { + $this->err('<error>Unable to load Psy\Shell.</error>'); + $this->err(''); + $this->err('Make sure you have installed psysh as a dependency,'); + $this->err('and that Psy\Shell is registered in your autoloader.'); + $this->err(''); + $this->err('If you are using composer run'); + $this->err(''); + $this->err('<info>$ php composer.phar require --dev psy/psysh</info>'); + $this->err(''); + + return self::CODE_ERROR; + } + + $this->out("You can exit with <info>`CTRL-C`</info> or <info>`exit`</info>"); + $this->out(''); + + Log::drop('debug'); + Log::drop('error'); + $this->_io->setLoggers(false); + restore_error_handler(); + restore_exception_handler(); + + $psy = new PsyShell(); + $psy->run(); + } + + /** + * Display help for this console. + * + * @return \Cake\Console\ConsoleOptionParser + */ + public function getOptionParser() + { + $parser = new ConsoleOptionParser('console'); + $parser->setDescription( + 'This shell provides a REPL that you can use to interact ' . + 'with your application in an interactive fashion. You can use ' . + 'it to run adhoc queries with your models, or experiment ' . + 'and explore the features of CakePHP and your application.' . + "\n\n" . + 'You will need to have psysh installed for this Shell to work.' + ); + + return $parser; + } +} |