当前位置: 首页>>代码示例>>PHP>>正文


PHP Cli::out方法代码示例

本文整理汇总了PHP中Cli::out方法的典型用法代码示例。如果您正苦于以下问题:PHP Cli::out方法的具体用法?PHP Cli::out怎么用?PHP Cli::out使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Cli的用法示例。


在下文中一共展示了Cli::out方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: monitor

 public function monitor($file, $channel)
 {
     if (false === ($fp = @fopen($file, "r"))) {
         Cli::error("Failed to open {$file}");
     } else {
         Cli::out("Monitoring file: {$file}");
     }
     while (1) {
         if (-1 === fseek($fp, 0, SEEK_END) or !($pos = ftell($fp))) {
             goto retry;
         }
         if ($this->lastPosition === null or $this->lastPosition > $pos) {
             $this->lastPosition = $pos;
             goto retry;
         }
         if ($this->lastPosition < $pos) {
             fseek($fp, $this->lastPosition - $pos, SEEK_CUR);
             if (false === ($content = fread($fp, $pos - $this->lastPosition))) {
                 goto retry;
             }
             try {
                 $this->client->send($content, $channel);
             } catch (\Exception $ex) {
                 Cli::error($ex->getMessage());
             }
             $this->lastPosition = $pos;
         }
         retry:
         usleep(200000);
     }
 }
开发者ID:joy2fun,项目名称:websocket-console-client,代码行数:31,代码来源:FileClient.php

示例2: test_out

 function test_out()
 {
     // default
     ob_start();
     Cli::out('Some text.');
     $out = ob_get_clean();
     $this->assertEquals("Some text.\n", $out);
     // no newline
     ob_start();
     Cli::out('Some text.', 'default', '');
     $out = ob_get_clean();
     $this->assertEquals("Some text.", $out);
     // info message
     ob_start();
     Cli::out('Some text.', 'info');
     $out = ob_get_clean();
     $this->assertEquals("[33;33mSome text.[0m\n", $out);
     // success message
     ob_start();
     Cli::out('Some text.', 'success');
     $out = ob_get_clean();
     $this->assertEquals("[0;32mSome text.[0m\n", $out);
     // error message
     ob_start();
     Cli::out('Some text.', 'error');
     $out = ob_get_clean();
     $this->assertEquals("[31;31mSome text.[0m\n", $out);
 }
开发者ID:Selwyn-b,项目名称:elefant,代码行数:28,代码来源:CliTest.php

示例3: onTask

 public function onTask($server, $task_id, $from, $data)
 {
     Cli::out("Task #{$task_id} started.");
     $json = json_decode($data, true);
     foreach ($this->subscribers as $fd => $row) {
         if (empty($json['channel']) or empty($row['channel']) or false !== strpos(',' . $row['channel'] . ',', ',' . $json['channel'] . ',')) {
             $this->server->push($fd, $data);
         }
     }
     return true;
 }
开发者ID:joy2fun,项目名称:websocket-console-server,代码行数:11,代码来源:SwooleServer.php

示例4: process

 protected function process($data, $source)
 {
     if (false === ($array = $this->parseMessage($data))) {
         Cli::out("Invalid data.");
         return;
     }
     if (array_key_exists($array['cmd'], $this->handlers)) {
         call_user_func($this->handlers[$array['cmd']], $array, $source, $data);
     } else {
         Cli::out(sprintf("Unknown cmd [%s].", $array['cmd']));
     }
 }
开发者ID:joy2fun,项目名称:websocket-console-server,代码行数:12,代码来源:ServerAbstract.php

示例5: list

    // list settings in section
    if (count($parts) === 1) {
        list($section) = $parts;
        if (!preg_match($valid_section_name, $section)) {
            Cli::out('Invalid section name: ' . $section, 'error');
            return;
        }
        $settings = conf($section);
        $names = array_keys($settings);
        sort($names);
        echo join(', ', $names) . "\n";
        // show specific setting (encoded as JSON value)
    } elseif (count($parts) === 2) {
        list($section, $setting) = $parts;
        if (!preg_match($valid_section_name, $section)) {
            Cli::out('Invalid section name: ' . $section, 'error');
            return;
        }
        if (!preg_match($valid_setting_name, $setting)) {
            Cli::out('Invalid setting name: ' . $setting, 'error');
            return;
        }
        $value = conf($section, $setting);
        if (!defined('JSON_PRETTY_PRINT')) {
            define('JSON_PRETTY_PRINT', 0);
        }
        echo json_encode($value, JSON_PRETTY_PRINT) . "\n";
    } else {
        Cli::out('Invalid setting value: ' . $_SERVER['argv'][2], 'error');
    }
}
开发者ID:Selwyn-b,项目名称:elefant,代码行数:31,代码来源:conf.php

示例6: file_put_contents

            echo "See conf/updates/error.log for details.\n";
            file_put_contents('conf/updates/error.log', $output);
            return;
        }
        // Patch is okay to apply
        echo "Patch ok, applying...\n";
        exec('patch -p1 -f -i ' . $version['patch']);
        // Apply associated database updates
        if ($version['script']) {
            printf("Applying db update: %s\n", basename($version['script']));
            $sqldata = sql_split(file_get_contents($version['script']));
            DB::beginTransaction();
            foreach ($sqldata as $sql) {
                if (!DB::execute($sql)) {
                    $error = DB::error();
                    DB::rollback();
                    Cli::out('Error applying db update: ' . $version['script'], 'error');
                    echo "See conf/updates/error.log for details.\n";
                    file_put_contents('conf/updates/error.log', $error);
                    return;
                }
            }
            DB::commit();
        }
    }
    Cli::out(sprintf("Applied %d updates.", count($versions)), 'success');
}
// Upgrade the apps that were specified as well
foreach ($update_apps as $app) {
    // TODO: Implement me
}
开发者ID:Selwyn-b,项目名称:elefant,代码行数:31,代码来源:update.php

示例7: die

<?php

/**
 * Generates a random password of the specified length
 * (default is 8 characters), using random lower- and
 * upper-case letters, numbers, and symbols.
 */
if (!$this->cli) {
    die('Must be run from the command line.');
}
$page->layout = false;
require_once 'apps/cli/lib/Functions.php';
if (isset($_SERVER['argv'][2])) {
    if (!is_numeric($_SERVER['argv'][2])) {
        Cli::out('Usage: ./elefant generate-password <length|8>', 'info');
        die;
    }
    $length = $_SERVER['argv'][2];
} else {
    $length = 8;
}
echo generate_password($length) . "\n";
开发者ID:Selwyn-b,项目名称:elefant,代码行数:22,代码来源:generate-password.php

示例8: array

    }
}
$data = array('appname' => $name, 'plural' => $plural, 'fields' => $fields, 'pkey' => $pkey, 'open_tag' => '<?php', 'close_tag' => '?>', 'backslash' => '\\');
mkdir('apps/' . $plural . '/conf', 0755, true);
mkdir('apps/' . $plural . '/forms', 0755, true);
mkdir('apps/' . $plural . '/handlers', 0755, true);
mkdir('apps/' . $plural . '/lib', 0755, true);
mkdir('apps/' . $plural . '/models', 0755, true);
mkdir('apps/' . $plural . '/views', 0755, true);
require_once 'apps/cli/lib/CRUDHelpers.php';
file_put_contents('apps/' . $plural . '/conf/config.php', $tpl->render('cli/crud-app/config', $data));
file_put_contents('apps/' . $plural . '/conf/acl.php', $tpl->render('cli/crud-app/acl', $data));
file_put_contents('apps/' . $plural . '/conf/install_mysql.sql', $tpl->render('cli/crud-app/install_mysql', $data));
file_put_contents('apps/' . $plural . '/conf/install_pgsql.sql', $tpl->render('cli/crud-app/install_pgsql', $data));
file_put_contents('apps/' . $plural . '/conf/install_sqlite.sql', $tpl->render('cli/crud-app/install_sqlite', $data));
file_put_contents('apps/' . $plural . '/forms/add.php', $tpl->render('cli/crud-app/add_form', $data));
file_put_contents('apps/' . $plural . '/forms/edit.php', $tpl->render('cli/crud-app/edit_form', $data));
file_put_contents('apps/' . $plural . '/models/' . cli\Filter::camel($name) . '.php', $tpl->render('cli/crud-app/model', $data));
file_put_contents('apps/' . $plural . '/handlers/admin.php', $tpl->render('cli/crud-app/admin_handler', $data));
file_put_contents('apps/' . $plural . '/handlers/index.php', $tpl->render('cli/crud-app/index_handler', $data));
file_put_contents('apps/' . $plural . '/handlers/add.php', $tpl->render('cli/crud-app/add_handler', $data));
file_put_contents('apps/' . $plural . '/handlers/edit.php', $tpl->render('cli/crud-app/edit_handler', $data));
file_put_contents('apps/' . $plural . '/handlers/delete.php', $tpl->render('cli/crud-app/delete_handler', $data));
file_put_contents('apps/' . $plural . '/handlers/install.php', $tpl->render('cli/crud-app/install_handler', $data));
file_put_contents('apps/' . $plural . '/handlers/upgrade.php', $tpl->render('cli/crud-app/upgrade_handler', $data));
file_put_contents('apps/' . $plural . '/views/index.html', $tpl->render('cli/crud-app/index_view', $data));
file_put_contents('apps/' . $plural . '/views/add.html', $tpl->render('cli/crud-app/add_view', $data));
file_put_contents('apps/' . $plural . '/views/edit.html', $tpl->render('cli/crud-app/edit_view', $data));
file_put_contents('apps/' . $plural . '/views/admin.html', $tpl->render('cli/crud-app/admin_view', $data));
Cli::out('App created in apps/' . $plural, 'success');
开发者ID:Selwyn-b,项目名称:elefant,代码行数:30,代码来源:crud-app.php

示例9: die

<?php

/**
 * This command imports a schema file into the database.
 */
if (!$this->cli) {
    die('Must be run from the command line.');
}
$page->layout = false;
if (!isset($_SERVER['argv'][2])) {
    Cli::out('Usage: ./elefant import-db <file>', 'info');
    die;
}
$file = $_SERVER['argv'][2];
if (!file_exists($file)) {
    Cli::out('** Error: File not found: ' . $file, 'error');
    die;
}
// import the database schema
$sqldata = sql_split(file_get_contents($file));
DB::beginTransaction();
foreach ($sqldata as $sql) {
    if (!DB::execute($sql)) {
        Cli::out('** Error: ' . DB::error(), 'error');
        DB::rollback();
        return;
    }
}
DB::commit();
Cli::out(count($sqldata) . ' commands executed.', 'success');
开发者ID:Selwyn-b,项目名称:elefant,代码行数:30,代码来源:import-db.php

示例10: start

 /**
  * Initialize a progress bar
  *
  * @param mixed $total   number of times we're going to call set
  * @param int   $message message to prefix the bar with
  * @param int   $options overrides for default options
  *
  * @static
  * @return string - the progress bar string with 0 progress
  */
 public static function start($total = null, $message = '', $options = array())
 {
     if ($message) {
         $options['message'] = $message;
     }
     $options['total'] = $total;
     $options['start'] = time();
     self::reset($options);
     Cli::out(self::display());
 }
开发者ID:levi-putna,项目名称:phpcli,代码行数:20,代码来源:ProgressBar.php

示例11: die

<?php

/**
 * Generate or reset an API token and secret key for the specified user.
 * Note that resetting an API token and secret key will cause any use
 * of the old one to fail.
 */
if (!$this->cli) {
    die("Must be run from the command line.\n");
}
$page->layout = false;
if (!isset($_SERVER['argv'][2])) {
    Cli::out('Usage: ./elefant api/create-token <user-id>', 'info');
    return;
}
$user = new User($_SERVER['argv'][2]);
if ($user->error) {
    Cli::out('Error: User not found.', 'error');
    return;
}
list($token, $key) = api\Api::create_token($user->id);
echo $token . ':' . $key . "\n";
开发者ID:Selwyn-b,项目名称:elefant,代码行数:22,代码来源:create-token.php

示例12: die

 */
if (!$this->cli) {
    die('Must be run from the command line.');
}
$page->layout = false;
if (!isset($_SERVER['argv'][2])) {
    Cli::out('Usage: ./elefant backup <path>', 'info');
    die;
}
$path = $_SERVER['argv'][2];
if (!is_dir($path)) {
    Cli::out('** Error: Specified path is not a folder.', 'error');
    die;
}
if (!is_writeable($path)) {
    Cli::out('** Error: Specified folder is not writeable.', 'error');
    die;
}
// add trailing slash
$path = preg_match('/\\/$/', $path) ? $path : $path . '/';
date_default_timezone_set('GMT');
$ts = gmdate('Y-m-d-H-i-s');
if (!@is_dir('.backups')) {
    mkdir('.backups');
    file_put_contents('.backups/.htaccess', "Order allow,deny\nDeny from all\n");
}
mkdir('.backups/backup-' . $ts);
exec('./elefant export-db .backups/backup-' . $ts . '/dump.sql');
copy('.htaccess', '.backups/backup-' . $ts . '/.htaccess');
exec('cp -R * .backups/backup-' . $ts . '/');
chdir('.backups');
开发者ID:Selwyn-b,项目名称:elefant,代码行数:31,代码来源:backup.php

示例13: die

 * Show the documentation for a helper, found in the first comment
 * block in the source file.
 */
if (!$this->cli) {
    die('Must be run from the command line.');
}
$page->layout = false;
if (!isset($_SERVER['argv'][2])) {
    Cli::out('Usage: ./elefant helper-docs <helper>', 'error');
    die;
}
$helper = $_SERVER['argv'][2];
list($app, $handler) = explode('/', $helper, 2);
$route = 'apps/' . $app . '/handlers/' . $handler . '.php';
if (!file_exists($route)) {
    Cli::out('Helper not found in ' . $route, 'error');
    die;
}
echo "\n# Helper: " . $helper . "\n\n";
// Get the comment itself
$comments = array_filter(token_get_all(file_get_contents($route)), function ($entry) {
    return $entry[0] == T_DOC_COMMENT;
});
$comments = array_shift($comments);
if (!isset($comments[1])) {
    echo "No documentation found.\n\n";
    die;
}
$docs = $comments[1];
// remove comment block tags
$docs = preg_replace('/^\\/\\*\\*?/', '', $docs);
开发者ID:Selwyn-b,项目名称:elefant,代码行数:31,代码来源:helper-docs.php

示例14: exec

        if (isset($_SERVER['argv'][2])) {
            exec('sqlite3 ' . $conf['Database']['master']['file'] . ' .dump > ' . $_SERVER['argv'][2]);
        } else {
            passthru('sqlite3 ' . $conf['Database']['master']['file'] . ' .dump');
        }
        break;
    case 'mysql':
        // get port number
        list($host, $port) = strpos($conf['Database']['master']['host'], ':') !== false ? explode(':', $conf['Database']['master']['host']) : array($conf['Database']['master']['host'], 3306);
        if (isset($_SERVER['argv'][2])) {
            exec(sprintf('mysqldump --password=%s -u %s -h %s -P %d %s > %s', escapeshellcmd($conf['Database']['master']['pass']), $conf['Database']['master']['user'], $host, $port, $conf['Database']['master']['name'], $_SERVER['argv'][2]));
        } else {
            passthru(sprintf('mysqldump --password=%s -u %s -h %s -P %d %s', escapeshellcmd($conf['Database']['master']['pass']), $conf['Database']['master']['user'], $host, $port, $conf['Database']['master']['name']));
        }
        break;
    case 'pgsql':
        // get port number
        list($host, $port) = strpos($conf['Database']['master']['host'], ':') !== false ? explode(':', $conf['Database']['master']['host']) : array($conf['Database']['master']['host'], 3306);
        file_put_contents('conf/.pgpass', sprintf('%s:%d:%s:%s:%s', $host, $port, $conf['Database']['master']['name'], $conf['Database']['master']['user'], $conf['Database']['master']['pass']));
        chmod('conf/.pgpass', 0600);
        if (isset($_SERVER['argv'][2])) {
            exec(sprintf('export PGPASSFILE=conf/.pgpass; pg_dump -U %s -h %s -p %d %s > %s; export PGPASSFILE=~/.pgpass', $conf['Database']['master']['user'], $host, $port, $conf['Database']['master']['name'], $_SERVER['argv'][2]));
        } else {
            passthru(sprintf('export PGPASSFILE=conf/.pgpass; pg_dump -U %s -h %s -p %d %s; export PGPASSFILE=~/.pgpass', $conf['Database']['master']['user'], $host, $port, $conf['Database']['master']['name']));
        }
        unlink('conf/.pgpass');
        break;
    default:
        Cli::out('** Error: Unable to determine database driver from site config.', 'error');
        break;
}
开发者ID:Selwyn-b,项目名称:elefant,代码行数:31,代码来源:export-db.php

示例15: foreach

                $include[] = $string['orig'];
                break;
            }
        }
    }
}
// Include and export each language
foreach ($i18n->languages as $lang) {
    $code = !empty($lang['locale']) ? $lang['code'] . '_' . $lang['locale'] : $lang['code'];
    require 'lang/' . $code . '.php';
    $export = array();
    foreach ($include as $string) {
        if (isset($this->lang_hash[$code][$string])) {
            $export[$string] = $this->lang_hash[$code][$string];
        }
    }
    asort($export);
    $out = "<?php\n\nif (! isset (\$this->lang_hash['{$code}'])) {\n";
    $out .= "\t\$this->lang_hash['{$code}'] = array ();\n}\n\n";
    $out .= "\$this->lang_hash['{$code}'] = array_merge (\n\t";
    $out .= "\$this->lang_hash['{$code}'],\n\tarray (\n";
    $sep = '';
    foreach ($export as $k => $v) {
        $out .= sprintf("%s\t\t'%s' => '%s'", $sep, str_replace('\'', '\\\'', stripslashes($k)), str_replace('\'', '&apos;', stripslashes($v)));
        $sep = ",\r";
    }
    $out .= "\n\t)\n);\n";
    file_put_contents('apps/' . $app . '/lang/' . $code . '.php', $out);
}
Cli::out(sprintf('Translations exported to apps/%s/lang', $app), 'success');
开发者ID:Selwyn-b,项目名称:elefant,代码行数:30,代码来源:bundle-translations.php


注:本文中的Cli::out方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。