登峰造极境

  • WIN
    • CSharp
    • JAVA
    • OAM
    • DirectX
    • Emgucv
  • UNIX
    • FFmpeg
    • QT
    • Python
    • Opencv
    • Openwrt
    • Twisted
    • Design Patterns
    • Mysql
    • Mycat
    • MariaDB
    • Make
    • OAM
    • Supervisor
    • Nginx
    • KVM
    • Docker
    • OpenStack
  • WEB
    • ASP
    • Node.js
    • PHP
    • Directadmin
    • Openssl
    • Regex
  • APP
    • Android
  • AI
    • Algorithm
    • Deep Learning
    • Machine Learning
  • IOT
    • Device
    • MSP430
  • DIY
    • Algorithm
    • Design Patterns
    • MATH
    • X98 AIR 3G
    • Tucao
    • fun
  • LIFE
    • 美食
    • 关于我
  • LINKS
  • ME
Claves
长风破浪会有时,直挂云帆济沧海
  1. 首页
  2. Programming
  3. PHP
  4. 正文

Laravel常用技巧

2017-04-30

一、如何获取当前登录用户信息

use Auth;
class XXXController extends Controller
{
    public function xxx()
    {
        echo  Auth::user()->id; //当前登录用户ID
        echo  Auth::user()->username;//当前登录用户账号
        echo  Auth::user()->realname;//当前登录用户名称姓名
    }
}

二、使用unionall批量返回多条SQL查询结果

当需要多次查询,一次反馈时,可以使用laravel unionall 语句,将多个查询结果级联在一起进行查询,语句如下:

$ips_list = DB::table('ips')->where('network', '=', '1')->where('used', '=', '0')->limit(5);

for($n = 1; $n < $total_networks; $n++){
    $ip_list_subquery = DB::table('ips')
             ->where('network', '=', $n)
             ->where('used', '=', '0')
             ->limit(5);
    $ips_list = $ips_list->unionAll($ip_list_subquery);
}
$ips = $ips_list->get();

上述代码的级联形式如下:

$a->unionAll($b)->unionAll($c)->unionAll($d)...

比常规的包含式unionall查询性能更好:

$a->unionAll($b->unionAll($c->unionAll($d...))))

三、性能优化方法

1、常规优化

php artisan route:cache
php artisan optimize 
php artisan config:cache
composer dumpautoload -o

2、PHP开启opcache方法

3.2.1 打开php.ini文件

3.2.2 找到:[opcache],设置为:

[opcache]
; dll地址
zend_extension=php_opcache.dll
; 开关打开
opcache.enable=1
; 开启CLI
opcache.enable_cli=1
; 可用内存, 酌情而定, 单位为:Mb
opcache.memory_consumption=528
; Zend Optimizer + 暂存池中字符串的占内存总量.(单位:MB)
opcache.interned_strings_buffer=8
; 对多缓存文件限制, 命中率不到 100% 的话, 可以试着提高这个值
opcache.max_accelerated_files=10000
; Opcache 会在一定时间内去检查文件的修改时间, 这里设置检查的时间周期, 默认为 2, 定位为秒
opcache.revalidate_freq=1
; 打开快速关闭, 打开这个在PHP Request Shutdown的时候回收内存的速度会提高
opcache.fast_shutdown=1

 

四、Echart X轴滑动触发性能优化

使用Echart绘制曲线图,并绑定X轴滑动事件。

当滑动后,需要向服务器发起三次ajax请求。

若完全使用异步,用户滑动后,可能会发起上百次请求,但是Chrome等浏览器并发限制默认是6,会导致请求速度极慢。

经过测试后,将ajax请求最快的请求设为同步,ajax速度请求慢的设为异步体验最好。

五、常用命令

php artisan dump-autoload

 

标签: 暂无
最后更新:2017-09-06

代号山岳

知之为知之 不知为不知

点赞
< 上一篇
下一篇 >

COPYRIGHT © 2099 登峰造极境. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

蜀ICP备14031139号-5

川公网安备51012202000587号