php8.0版本的新特性

https://cloud.tencent.com/developer/article/1765141?from=article.detail.1785167

PHP8正式版发布,带来了注解和JIT
2020-12-25阅读 6450
PHP8 正式版已经发布,它引入了一些重大变更,以及许多新特性和性能优化,包括命名参数、联合类型、注解、Constructor Property Promotion、match 表达式、nullsafe 运算符、JIT,以及对类型系统、错误处理和一致性的改进。
之前的 PHPCon 上听过 Nikic 的一些分享,感兴趣的小伙伴可以查看Nikic 的 PPT

PHP8

在 PHP 官网 也提到了一些新特性和功能说明,我们来看一看

一步步教你如何使用 laradock 搭建项目环境

前言:

看群里和laravel社区有些人对docker不太会使用,在这里我推荐使用laradock来部署我们的项目环境,用laradock部署简单快捷,方便管理,可以为你省出很多时间陪陪家人。现在用laradock一步步搭建环境。

setup 1:

从github上拉去laradock项目

git clone https://github.com/laradock/laradock.git   

setup 2:

进入laradock文件夹,重命名或者复制 env-example 到 .env文件

Laravel 三种中间件作用讲解

昨天在开发过程中,需要使用到中间件的技术,之前都只是简单的认为要增加中间件就往middleware里添加中间件即可。本着周末的时间,就仔细研究了下 $middleware $middlewareGroup $routeMiddleware三个属性,到底是怎么样用的,通过查阅文档和网上资料,可算是搞明白了这三个属性是怎么用的和该怎么用。

$middleware属性:

这个属性称为全局中间件,为什么说是全局中间件呢?因为你的每一次请求,这里面的每个中间件都会执行。

$routeMiddleware属性:

这个属性称为路由中间件,为什么说是路由中间件呢?因为定义在该属性内的中间件,只能在定义路由时候引用。
假设这是我们定义的路由中间件:

protected $routeMiddleware = [
    ...
    'auth' => \Illuminate\Auth\Middleware\Authenticate::class,
];

Nginx 负载均衡实战

有时候,为了提高程序负载、增加服务器处理能力,就需要负载均衡技术。该技术主要是把用户请求分发到不同的服务器上去处理,这样做有效的解决单台服务器处理慢,和单机故障问题,真是一举多得的办法。

nginx 实现负载均衡要依赖一个upstream模块和proxy_pass反向代理指令,这个模块通过一些简单的调度算法来实现请求分发从而达到负载均衡策略。下面看nginx.conf文件怎么

nginx负载均衡模块默认支持4种算法:

  1. 轮询:这是upstream模块默认支持的算法,该算法有几个附加属性 ① weight轮询权值 ② backup 备份服务器。
  2. ip_hash:这是按请求ip使用hash结果进行分配,如果采用这种算法有效解决了session问题。
  3. fair:这个是最智能的算法。因为该算法是根据后端服务器的响应时间来分配请求,响应时间短的优先分配。
  4. url_hash:这个算法和ip_hash类似,不同的是hash请求地址url的结果来分配请求。

使用轮询算法

upstream test{
    server 127.0.0.1:91 weight=1;  #weight 权值。值越大分配到的访问几率越高
    server 127.0.0.1:92 weight=2;
    server 127.0.0.1:93 backup;
}
server {
    listen 85 ;
    index index.php  index.html index.htm;
    location / {
        proxy_pass http://test;
    }
}

使用ip_hash算法

upstream test{
    ip_hash;
    server 127.0.0.1:91;
    server 127.0.0.1:92;
    #server 127.0.0.1:93 backup; 使用ip_hash算法时,不能使用backup状态
}
server {
    listen 85 ;
    index index.php  index.html index.htm;
    location / {
        proxy_pass http://test;
    }
}

其余两个算法需要额外的第三方模块支持,所以在这就不做演示啦,不过配置都是一样的。引入指令即可。

Laravel Eloquent 事件详细讲解

这篇文章为大家总结一下 LaravelEloquent模型的事件和具体在什么样的情况下触发事件。

Eloquent事件有:

retrievedcreatingcreatedupdatingupdatedsavingsaveddeletingdaleted

可事件有这么多,那这些事件具体在什么时候才能触发呢?

众多事件触发条件

1.retrieved:当数据库中检索现有模型时会触发该事件。

2.creating:当创建新模型时候,会触发该事件。备注:在创建前调用该方法
3.created:当创建新模型时候,会触发该事件。备注:在创建后调用该方法
4.updating:当模型已经存在数据库中时,并调用了save方法,则会调用该事件。备注:updating在保存前调用
5.updated:当模型已经存在数据库中时,并调用了save方法,则会调用该事件。备注:updating在保存后调用
6.saving:当更新或者创建模型时,会调用该事件。备注:在更新或者创建之前调用该方法
7.saved:当更新或者创建模型时,会调用该事件。备注:在更新或者创建之后调用该方法
8.deleting:当删除模式时,会调用该方法。备注:在删除之前调用
9.deleted:当删除模式时,会调用该方法。备注:在删除之后调用

谢谢大家!希望您喜欢!^_^

原文地址: 睿懿