當前位置: 首頁>>代碼示例>>PHP>>正文


PHP IO::in方法代碼示例

本文整理匯總了PHP中IO::in方法的典型用法代碼示例。如果您正苦於以下問題:PHP IO::in方法的具體用法?PHP IO::in怎麽用?PHP IO::in使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在IO的用法示例。


在下文中一共展示了IO::in方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: dialog

 /**
  * Консольный диалог
  *
  * Диалог формируется из трех состовляющих: сообщение $message,  варианты ответов $answ и 
  * ответом по-умолчанию $default.
  *
  * Доступны варианты ответа: {@link IO::NONE}, {@link IO::OK}, {@link IO::CANCEL}, {@link IO::YES},   
  * {@link IO::NO}, {@link IO::ALL}  в любых комбнациях.
  * Один из вариантов ответа можно указать как ответ по умолчанию. Если он не указан, то ответом по
  * умолчанию считает первый(младший) из вариантов ответа.
  * При выводе варианты ответа транслируются(отображаются) в соответствии с массивом {@link IO::$answText}.
  *
  * Метод выводит текст сообщения, варианты ответа, среди которых цветом выделен ответ по умолчанию.
  * После чего ожидает ввод пользователя. 
  *
  * Если пользователь ничего не ввел(нажал Enter) тогда принимается ответ по умолчани, 
  * остальные варианты распознаются по первой букве в массиве {@link IO::$answText} без учета регистра.
  * Если ответ не найден среди вариантов выбрасывается исключение.
  *
  * Метод возвращает выбранный вариант ответа.
  *
  * <code>
  * $answ = IO::dialog('Do You really want to do  ~RED~THIS~~~?', IO::NO | IO::YES, IO::NO);
  * if ( IO::YES == $answ ){
  *		// let's do it
  * }
  * else IO::out('Cancelled... ');
  * </code>
  *
  *
  * @throws IOException
  * @param string $message текст сообщения
  * @param int $answ варианты ответов
  * @param int $default ответ по умолчанию
  * @return int выбранный вариант ответа 
  */
 static function dialog($message, $answ = IO::NONE, $default = null)
 {
     IO::out($message, false);
     $a = array();
     if ($answ & IO::NONE) {
         $answ = $default = $a[0] = IO::NONE;
     } else {
         if ($answ & IO::YES) {
             $a[] = IO::YES;
         }
         if ($answ & IO::OK) {
             $a[] = IO::OK;
         }
         if ($answ & IO::NO) {
             $a[] = IO::NO;
         }
         if ($answ & IO::CANCEL) {
             $a[] = IO::CANCEL;
         }
         if ($answ & IO::ALL) {
             $a[] = IO::ALL;
         }
     }
     if (is_null($default)) {
         $default = $a[0];
     }
     for ($i = 0, $c = count($a); $i < $c; $i++) {
         $avaible[$i] = self::$answText[$a[$i]];
         if ($a[$i] == $default) {
             $avaible[$i] = '~WHITE~' . $avaible[$i] . '~~~';
         }
     }
     $str = ' [ ' . implode(' / ', $avaible) . ' ] ';
     IO::out($str, false);
     if (self::$assumeYes) {
         IO::out(null);
         return $default;
     }
     $in = IO::in(IO::TYPE_CHAR);
     if ($answ == IO::NONE) {
         return null;
     }
     if (is_null($in)) {
         return $default;
     }
     for ($i = 0, $c = count($a); $i < $c; $i++) {
         if (strtolower($in) == substr(strtolower(self::$answText[$a[$i]]), 0, 1)) {
             return $a[$i];
         }
     }
     throw new IOException('Incorrect input');
 }
開發者ID:point,項目名稱:cassea,代碼行數:88,代碼來源:IO.php

示例2: cmdPassword

 public function cmdPassword()
 {
     try {
         $login = ArgsHolder::get()->shiftCommand();
         $password = ArgsHolder::get()->shiftCommand();
         if ($login === false) {
             return io::out('Incorrect param count', IO::MESSAGE_FAIL) | 1;
         }
         if ($user = User::findBy("login", $login)) {
             if (!$password) {
                 IO::out('New password: ', false);
                 $password = IO::in(IO::TYPE_STRING);
                 IO::out('Confirm New password: ', false);
                 $p2 = IO::in(IO::TYPE_STRING);
                 if ($password != $p2) {
                     return io::out('Passwords not match.', IO::MESSAGE_FAIL) | 2;
                 }
             }
             $user->setPassword($password);
         } else {
             return io::out(PHP_EOL . 'User ~WHITE~' . $login . '~~~ not found', IO::MESSAGE_FAIL) | 3;
         }
     } catch (UserException $e) {
         return io::out($e->getMessage(), IO::MESSAGE_FAIL) | 127;
     }
 }
開發者ID:point,項目名稱:cassea,代碼行數:26,代碼來源:CmdUser.php


注:本文中的IO::in方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。