php代码优化---本人的例子

简介: php代码优化---本人的例子

直接上货:


1:数据统计 店铺数量、提现金额、收益金额、用户数量


旧:


// //店铺
        // $storey = db( 'store' )->whereTime( 'addtime', 'yesterday' )->count();
        //昨天
        // $stored = db( 'store' )->whereTime( 'addtime', 'd' )->count();
        //今天
        // $storew = db( 'store' )->whereTime( 'addtime', 'w' )->count();
        //本周
        // $store = db( 'store' )->whereTime( 'addtime', 'm' )->count();
        //本月
        // //收益
        // $ordery = db( 'order' )->whereTime( 'addtime', 'yesterday' )->sum( 'money' );
        //昨天
        // $orderd = db( 'order' )->whereTime( 'addtime', 'd' )->sum( 'money' );
        //今天
        // $orderw = db( 'order' )->whereTime( 'addtime', 'w' )->sum( 'money' );
        //本周
        // $order = db( 'order' )->whereTime( 'addtime', 'm' )->sum( 'money' );
        //本月
        // //提现
        // $deposity = db( 'deposit' )->whereTime( 'addtime', 'yesterday' )->sum( 'money' );
        //昨天
        // $depositd = db( 'deposit' )->whereTime( 'addtime', 'd' )->sum( 'money' );
        //今天
        // $depositw = db( 'deposit' )->whereTime( 'addtime', 'w' )->sum( 'money' );
        //本周
        // $deposit = db( 'deposit' )->whereTime( 'addtime', 'm' )->sum( 'money' );
        //本月
        // //用户
        // $usery = db( 'userinfo' )->whereTime( 'addtime', 'yesterday' )->count();
        //昨天
        // $userd = db( 'userinfo' )->whereTime( 'addtime', 'd' )->count();
        //今天
        // $userw = db( 'userinfo' )->whereTime( 'addtime', 'w' )->count();
        //本周
        // $user = db( 'userinfo' )->whereTime( 'addtime', 'm' )->count();
        //本月


新:


$db = null;
        $data = [];
        for ( $i = 0; $i < 4; $i++ ) {
            if ( $i<3 ) {
                if ( $i == 0 ) {
                    $db = 'store';
                } else {
                    $db = 'userinfo';
                }
                $storey = db( $db )->whereTime( 'addtime', 'yesterday' )->count();
                //昨天
                $stored = db( $db )->whereTime( 'addtime', 'd' )->count();
                //今天
                $storew = db( $db )->whereTime( 'addtime', 'w' )->count();
                //本周
                $store = db( $db )->whereTime( 'addtime', 'm' )->count();
                //本月
                $data[ $i ] = [
                    'storey'=>$storey,
                    'stored'=>$stored,
                    'storew'=>$storew,
                    'store'=>$store
                ];
            } else {
                if ( $i == 2 ) {
                    $db = 'order';
                } else {
                    $db = 'deposit';
                }
                $storey = db( $db )->whereTime( 'addtime', 'yesterday' )->sum( 'money' );
                //昨天
                $stored = db( $db )->whereTime( 'addtime', 'd' )->sum( 'money' );
                //今天
                $storew = db( $db )->whereTime( 'addtime', 'w' )->sum( 'money' );
                //本周
                $store = db( $db )->whereTime( 'addtime', 'm' )->sum( 'money' );
                //本月
                $data[ $i ] = [
                    'storey'=>$storey,
                    'stored'=>$stored,
                    'storew'=>$storew,
                    'store'=>$store
                ];
            }
        }

2:where语句 查询token及过期时间


旧:


$list = db('userinfo')
           ->where('token',$tokens)
           ->where('pastdue','>=',$datetime)
           ->count();

新:


$list = db('userinfo')->where("token = '$tokens' and pastdue > '$datetime'")->count();
3:token验证


旧:


if (!$this->auth->match($this->noNeedLogin)) {
            //初始化
            $this->auth->init($token);
           //检测是否登录
           if (!$this->auth->isLogin()) {
               $this->error(__('Please login first'), null, 401);
          }
          // 判断是否需要验证权限
          if (!$this->auth->match($this->noNeedRight)) {
             // 判断控制器和方法判断是否有对应权限
            if (!$this->auth->check($path)) {
               $this->error(__('You have no permission'), null, 403);
                 }
           }
        } else {
           // 如果有传递token才验证是否登录状态
            if ($token) {
                $this->auth->init($token);
           }
         }


新:


$date = ['imgfile/files','imgfile/list','sekhlp/index','userinfo/index','screen/index','storetype/index','store/index','common/upload'];
        $type = 1;
        foreach ($date as $k){
            if($k==$path){
                $type = 1;
                break;
            }else{
                $type = 0;
            }
        }
        if($type!==1){}
相关文章
|
5月前
|
缓存 PHP 数据库
【PHP开发专栏】PHP代码优化与内存管理
【4月更文挑战第30天】本文探讨了PHP的代码优化和内存管理,旨在提升Web应用性能。第一部分介绍了代码优化,包括减少代码重复、选择高效数据结构、减少函数调用、使用缓存、优化数据库查询、图像处理和正则表达式优化。第二部分讲解内存管理,建议减少全局变量、正确使用内存分配函数、利用对象引用计数、避免内存泄露及优化内存分配。第三部分通过在线论坛的缓存应用和图像处理的内存池技术展示了实践案例。
53 2
|
5月前
|
缓存 算法 PHP
深入PHP内核:探索高性能代码优化策略
【5月更文挑战第27天】 在本文中,我们将深入探讨PHP的内核机制,并分析如何通过理解其工作原理来优化我们的代码。文章将聚焦于几个关键领域,包括解释器执行流程、内存管理、以及代码编写最佳实践等。我们的目标是为开发者提供实用的指导,帮助他们写出更加高效和稳定的PHP应用程序。
|
11天前
|
安全 关系型数据库 MySQL
PHP与MySQL交互:从入门到实践
【9月更文挑战第20天】在数字时代的浪潮中,掌握PHP与MySQL的互动成为了开发动态网站和应用程序的关键。本文将通过简明的语言和实例,引导你理解PHP如何与MySQL数据库进行对话,开启你的编程之旅。我们将从连接数据库开始,逐步深入到执行查询、处理结果,以及应对常见的挑战。无论你是初学者还是希望提升技能的开发者,这篇文章都将为你提供实用的知识和技巧。让我们一起探索PHP与MySQL交互的世界,解锁数据的力量!
|
22天前
|
NoSQL 关系型数据库 MySQL
不是 PHP 不行了,而是 MySQL 数据库扛不住啊
【9月更文挑战第8天】这段内容讨论了MySQL在某些场景下面临的挑战及其原因,并指出这些问题不能完全归咎于MySQL本身。高并发读写压力、数据量增长以及复杂查询和事务处理都可能导致性能瓶颈。然而,应用程序设计不合理、系统架构不佳以及其他数据库选择和优化策略不足也是重要因素。综合考虑这些方面才能有效解决性能问题,而MySQL通过不断改进和优化,仍然是许多应用场景中的可靠选择。
|
2月前
|
存储 SQL 关系型数据库
PHP与MySQL交互的奥秘
【8月更文挑战第29天】在编程的世界里,PHP和MySQL就像是一对默契的舞伴,共同演绎着数据的交响曲。本文将带你探索它们之间的互动,从连接数据库到执行查询,再到处理结果,每一步都充满了节奏与和谐。我们将一起走进这段代码的旅程,感受数据流动的魅力。
|
2月前
|
SQL 关系型数据库 MySQL
PHP与MySQL交互之基础教程
【8月更文挑战第31天】 在数字世界中,数据是推动一切的核心力量。本文将引导你探索PHP与MySQL的协同工作,通过实际代码示例,展示如何建立连接、执行查询以及处理结果集。无论你是初学者还是希望巩固知识的开发者,这篇文章都将为你提供宝贵的实践知识。
|
3月前
|
数据库
基于PHP+MYSQL开发制作的趣味测试网站源码
基于PHP+MYSQL开发制作的趣味测试网站源码。可在后台提前设置好缘分, 自己手动在数据库里修改数据,数据库里有就会优先查询数据库的信息, 没设置的话第一次查询缘分都是非常好的 95-99,第二次查就比较差 , 所以如果要你女朋友查询你的名字觉得很好 那就得是她第一反应是查和你的缘分, 如果查的是别人,那不好意思,第二个可能是你。
52 3
|
5月前
|
关系型数据库 MySQL PHP