Пример #1
0
 /**
  * 最常用的使用方式
  */
 public function testMostUsedWay()
 {
     /**
      * 初始化Lotus类
      */
     $lotus = new Lotus();
     /**
      * 项目目录, 按照约定的目录结构,自动加载共享配置文件
      */
     $lotus->option['proj_dir'] = dirname(__FILE__) . '/proj_dir/';
     /**
      * 应用名称
      */
     $lotus->option['app_name'] = 'app_name1';
     /**
      * 可选
      */
     $lotus->defaultStoreDir = '/tmp';
     /**
      * MVC模式 默认 true
      */
     $lotus->mvcMode = true;
     /**
      * 开发模式, 默认 true
      */
     $lotus->devMode = true;
     /**
      * run
      */
     $lotus->init();
     /**
      * class_exists默认调用自动加载
      */
     $this->asserttrue(class_exists("LtCaptcha"));
 }
 public function testPerformance()
 {
     $option['proj_dir'] = dirname(__FILE__) . '/proj_dir/';
     $option['app_name'] = 'app_name2';
     /**
      * 初始化Lotus类
      */
     $lotus = new Lotus();
     $lotus->devMode = false;
     $lotus->defaultStoreDir = '/tmp';
     $lotus->option = $option;
     $lotus->init();
     /**
      * class_exists默认调用自动加载
      */
     $this->asserttrue(class_exists("LtCaptcha"));
     /**
      * 运行100次,要求在1秒内运行完
      */
     $base_memory_usage = memory_get_usage();
     $times = 100;
     $startTime = microtime(true);
     for ($i = 0; $i < $times; $i++) {
         $lotus = new Lotus();
         $lotus->devMode = false;
         $lotus->defaultStoreDir = '/tmp';
         $lotus->option = $option;
         $lotus->init();
         unset($lotus);
     }
     $endTime = microtime(true);
     $totalTime = round($endTime - $startTime, 6);
     $averageTime = round($totalTime / $times, 6);
     $memory_usage = memory_get_usage() - $base_memory_usage;
     $averageMemory = formatSize($memory_usage / $times);
     $memory_usage = formatSize($memory_usage);
     if (LOTUS_UNITTEST_DEBUG) {
         echo "\n---------------------Lotus------------------------------\n";
         echo "times      \t{$times}\n";
         echo "totalTime   \t{$totalTime}s\taverageTime   \t{$averageTime}s\n";
         echo "memoryUsage \t{$memory_usage}\taverageMemory \t{$averageMemory}";
         echo "\n---------------------------------------------------------\n";
     }
     $this->assertTrue(1 > $totalTime);
 }
Пример #3
0
 * SDK工作目录
 * 存放日志,AOP缓存数据
 */
if (!defined("AOP_SDK_WORK_DIR")) {
    define("AOP_SDK_WORK_DIR", WEB_ROOT . "/cache/");
}
if (!is_dir(WEB_ROOT . "/cache/")) {
    mkdirs(WEB_ROOT . "/cache/");
}
/**
 * 是否处于开发模式
 * 在你自己电脑上开发程序的时候千万不要设为false,以免缓存造成你的代码修改了不生效
 * 部署到生产环境正式运营后,如果性能压力大,可以把此常量设定为false,能提高运行速度(对应的代价就是你下次升级程序时要清一下缓存)
 */
if (!defined("AOP_SDK_DEV_MODE")) {
    define("AOP_SDK_DEV_MODE", true);
}
/**
 * 定义常量结束
 */
/**
 * 找到lotusphp入口文件,并初始化lotusphp
 * lotusphp是一个第三方php框架,其主页在:lotusphp.googlecode.com
 */
$lotusHome = dirname(__FILE__) . DIRECTORY_SEPARATOR . "lotusphp_runtime" . DIRECTORY_SEPARATOR;
include $lotusHome . "Lotus.php";
$lotus = new Lotus();
$lotus->option["autoload_dir"] = dirname(__FILE__) . DIRECTORY_SEPARATOR . 'aop';
$lotus->devMode = AOP_SDK_DEV_MODE;
$lotus->defaultStoreDir = AOP_SDK_WORK_DIR;
$lotus->init();