Skip to content
  • P
    Projects
  • G
    Groups
  • S
    Snippets
  • Help

施宇 / icsales

  • This project
    • Loading...
  • Sign in
Go to a project
  • Project
  • Repository
  • Issues 0
  • Merge Requests 0
  • Pipelines
  • Wiki
  • Snippets
  • Settings
  • Activity
  • Graph
  • Charts
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • Files
  • Commits
  • Branches
  • Tags
  • Contributors
  • Graph
  • Compare
  • Charts
Find file
Normal viewHistoryPermalink
Switch branch/tag
  • icsales
  • ThinkPHP
  • Library
  • Behavior
  • BorisBehavior.class.php
BorisBehavior.class.php 2.23 KB
施宇's avatar
init
14f95149
 
施宇 committed 6 years ago
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK IT ]
// +----------------------------------------------------------------------
// | Copyright (c) 2009 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: liu21st <liu21st@gmail.com>
// +----------------------------------------------------------------------
namespace Behavior;

use Think\Think;

/**
 * Boris行为扩展
 */
class BorisBehavior
{
    public function run(&$params)
    {
        if (IS_CLI) {
            if (!function_exists('pcntl_signal')) {
                E("pcntl_signal not working.\nRepl mode based on Linux OS or PHP for OS X(http://php-osx.liip.ch/)\n");
            }

            Think::addMap(array(
                'Boris\Boris'             => VENDOR_PATH . 'Boris/Boris.php',
                'Boris\Config'            => VENDOR_PATH . 'Boris/Config.php',
                'Boris\CLIOptionsHandler' => VENDOR_PATH . 'Boris/CLIOptionsHandler.php',
                'Boris\ColoredInspector'  => VENDOR_PATH . 'Boris/ColoredInspector.php',
                'Boris\DumpInspector'     => VENDOR_PATH . 'Boris/DumpInspector.php',
                'Boris\EvalWorker'        => VENDOR_PATH . 'Boris/EvalWorker.php',
                'Boris\ExportInspector'   => VENDOR_PATH . 'Boris/ExportInspector.php',
                'Boris\Inspector'         => VENDOR_PATH . 'Boris/Inspector.php',
                'Boris\ReadlineClient'    => VENDOR_PATH . 'Boris/ReadlineClient.php',
                'Boris\ShallowParser'     => VENDOR_PATH . 'Boris/ShallowParser.php',
            ));
            $boris  = new \Boris\Boris(">>> ");
            $config = new \Boris\Config();
            $config->apply($boris, true);
            $options = new \Boris\CLIOptionsHandler();
            $options->handle($boris);
            $boris->onStart(sprintf("echo 'REPL MODE FOR THINKPHP \nTHINKPHP_VERSION: %s, PHP_VERSION: %s, BORIS_VERSION: %s\n';", THINK_VERSION, PHP_VERSION, $boris::VERSION));
            $boris->start();
        }
    }
}