在使用 Laravel Eloquent 模型时,我们可能要判断取出的结果集是否为空,但我们发现直接使用 is_null 或 empty 是无法判段它结果集是否为空的。

var_dump 之后我们很容易发现,即使取到的空结果集, Eloquent 仍然会返回 IlluminateDatabaseEloquentCollection 对象实例。
其实,Eloquent 已经给我们封装几个判断方法。

$result = Model::where(...)->get();
//不为空则
if ($result->first()) { } 
if (!$result->isEmpty()) { }
if ($result->count()) { }
$result = Model::where(...)->first();
如果找不到数据,返回是null

在写一个 Web 应用的时候,很多人都遇到过这样的需求:如何实现在一个用户登录进来之后,停留时间过久(页面没有操作和活动),我们就自动将用户退出登录?

解决办法其实很简单,我们在 Laravel 中自定义一个 Middleware 就可以实现:

namespace App\Http\Middleware;

use Closure;

class SessionTimeout {

    protected $timeout = 1200;
    public function handle($request, Closure $next)
    {
        $isLoggedIn = $request->path() != 'logout';
        if(! session('lastActivityTime')){
            app('session')->put('lastActivityTime', time());
        } elseif(time() - app('session')->get('lastActivityTime') > $this->timeout){
            app('session')->forget('lastActivityTime');
            $cookie = cookie('intend', $isLoggedIn ? url()->current() : 'home');
            $email = $request->user()->email;
            auth()->logout();
            return route('login')->withInput(['email' => $email])->withCookie($cookie);
        }
        $isLoggedIn ? app('session')->put('lastActivityTime', time()) : app('session')->forget('lastActivityTime');
        return $next($request);
    }

}

我们主要是通过 lastActivityTime 这个记录来判断用户是否有对应的操作(刷新页面或者是访问新的页面等),
如果在 20 分钟内没有操作的话,我们就会跳转到登录页面。

转载: codecasts

如果你经常使用 Composer 命令,如:create-project,require,update,remove。 当这些命令执行时,Composer 会通过依赖下载对应包信息。 下载 JSON 文件数量取决于您使用的软件包复杂程度。

中国互联网大环境由于众所周知的原因,连接 packagist.org 速度很慢,甚至无法连接。通过使用镜像可以加快下载速度,节省没必要的等待时间。

请执行以下命令将 Composer 默认仓库设置为国内composer源

建议:在更改配置源之前,推荐先执行 composer clearcache 清除缓存
若项目之前已通过其他源安装,务必删除 composer.lock 以及 vendor 目录,重新生成。

全局配置

composer config -g repo.packagist composer https://packagist.laravel-china.org

这里推荐 laravel-china.org 的 composer 源

其它国内源

composer config -g repos.packagist composer https://php.cnpkg.org

克隆 Github 上的项目

将 Github 上想要导入的项目完整克隆到本地

5dd5d359-37e9-4478-ab18-274a990855aa.png

本地执行

git clone https://github.com/antirez/redis.git --bare

https://github.com/antirez/redis.git 改为自己在GitHub的项目

3b66efa2-6427-4592-91ba-71cafd80eb62.png

将克隆下来的仓库推送到自建的git仓库

克隆完成后,将仓库推送到 开发者平台上。
使用仓库页面提供的 URL。

推送所有的分支和对象

cd redis.git
git push https://git.dev.tencent.com/jiong/redis.git --all

c14512ca-e811-4319-ab3b-0c5d43323ae4.png

https://git.dev.tencent.com/jiong/redis.git 改为自己git平台地址

完成后,再执行

推送所有的标签。

git push https://git.dev.tencent.com/jiong/redis.git --tags

https://git.dev.tencent.com/jiong/redis.git 改为自己git平台地址

b4ad9820-b511-48a5-ad05-3906a4500efe.png

这样,整个仓库就全部导入到自建搭建的git平台.

转: 如何将Git仓库导入腾讯云开发者平台?

或许大家都用过网上或者购买过光盘那些坑爹的Ghost盗版系统,内置各种辣鸡、流氓软件,新系统?纯净版Ghost系统?不存在的~

在开始自建KMS服务器之前,我觉得很有必要给大家分享一个神站,没错就是MSDN!

地址:https://msdn.itellyou.cn/

这个站活了10年,实乃良心站点,想必老网虫或多或少知道这个站,在MSDN上面我们可以下载到各个版本的微软原版系统ISO。

自建KMS激活服务器:CentOS安装vlmcsd搭建

KMS.jpg

Key Management Service(简称:KMS),这个功能是在Windows Vista之后的产品中的一种新型产品激活机制。我们可以利用手里闲置的VPS安装vlmcsd来搭建KMS激活服务器,这篇文章以CentOS为例,当然vlmcsd并不局限限于CentOS,如Ubuntu、Windows、MacOS等都可以安装服务端,原理和方法相同。

搭建环境:CentOS7 X64

使用Xshell或者PuTTY登录到你的服务器,先确定一下你这台机器的CPU架构:

cat /proc/cpuinfo

一般都是Intel,毕竟技术实力摆在那里。不过也有一些用AMD的CPU,例如腾讯最近推出的“国内首家采用 AMD EPYC™霄龙处理器的实例”...

k1.jpg

下载vlmcsd项目文件:

yum -y install wget 
wget https://github.com/Wind4/vlmcsd/releases/download/svn1111/binaries.tar.gz

如果你的机器CPU和上述我的一样都是Intel,那么就可以直接用我下面的命令进入目录:

cd binaries/Linux/intel/static

否则你需要在binaries目录内找到对应你机器CPU架构的目录进入。

这里我是X64位的系统,所以直接执行下面的命令vlmcsd就启动了:

./vlmcsd-x64-musl-static

如果你的机器不是64位系统,则需要在此目录内找到对应你系统位数的可执行文件来运行:

k2.png

查看vlmcsd的运行情况,可以使用如下命令:

ps -ef | grep vlmcsd-x64-musl-static

看到如图则说明运行正常:

k3.png

如果你不想用vlmcsd了,则可以使用如下命令来关闭vlmcsd

kill -9 上图使用psef命令回显的vlmcsd进程ID

注意,vlmcsd需要用到1688端口,如果你的机器防火墙打开了,需要设置放行规则或者关闭:

systemctl stop firewalld.service

至此,vlmcsd的搭建就完成了。

激活步骤:

1、使用管理员权限运行CMD
2、在CMD内键入如下命令:

slmgr /skms 这里填写你的VPS公网IP或是解析到此IP的域名

3、继续在CMD内键入如下命令:

slmgr /ato

4、最后一个命令:

slmgr /xpr

OK,重启电脑看看是否已经激活成功?

转自:老D博客