laravel模型使用小技巧

2019-10-28 15:38:04

## laravel模型使用小技巧 ### 1. query 针对 `phpstorm` 代码提示优化,使用 `query`: ```php User::query()->find($id) ->setAppends([]) ->makeHidden(['id', 'update_at']); ``` ### 2. setAppends 有时候在模型里写了 `$appends` 后,后面查询出的结果里都会出现 `$appends` 里的字段。 可以通过 `setAppends([])` 临时清空 `$appends`。 ### 3. makeHidden 在特定的查询条件或使用场景下不显示指定字段,`makeHidden`: ### 4. withDefault 模型关联,使用关联的表数据为空时,会报找不到对象的错误,可使用 `withDefault`,在没有数据时统一返回 `null` ```php public function user() { return $this->...

阅读全文

Git配置多个SSH-Key

2019-10-15 11:10:26

## 背景 当有多个git账号时,比如: * a. 一个gitee,用于公司内部的工作开发; * b. 一个github,用于自己进行一些开发活动; ## 解决方法 ### 1.生成一个公司用的SSH-Key ``` $ ssh-keygen -t rsa -C 'xxxxx@company.com' -f ~/.ssh/gitee_id_rsa ``` ### 2.生成一个github用的SSH-Key ``` $ ssh-keygen -t rsa -C 'xxxxx@qq.com' -f ~/.ssh/github_id_rsa ``` ### 3.在 ~/.ssh 目录下新建一个config文件,添加如下内容(其中Host和HostName填写git服务器的域名,IdentityFile指定私钥的路径) ``` # gitee Host gitee.com HostName gitee.com PreferredAuthentications publickey IdentityFile ~/.ssh/gitee_id_rsa # github Host github....

阅读全文

Sulime text 添加右键打开

2019-10-15 11:04:25

把以下代码,复制到`Sublime Text3`的安装目录,然后重命名为:`right.inf`,然后右击安装就可以了。 ``` [Version] Signature="$Windows NT$" [DefaultInstall] AddReg=SublimeText3 [SublimeText3] hkcr,"*\\shell\\SublimeText3",,,"用 SublimeText3 打开" hkcr,"*\\shell\\SublimeText3\\command",,,"""%1%\sublime_text.exe"" ""%%1"" %%*" hkcr,"Directory\shell\SublimeText3",,,"用 SublimeText3 打开" hkcr,"*\\shell\\SublimeText3","Icon",0x20000,"%1%\sublime_text.exe, 0" hkcr,"Directory\shell\SublimeText3\command",,,"""%1%\sublime_text.exe"" ""%%1""" ``` 如果发现右键中的“用 SublimeText3 打开”中的中文有乱码, 则...

阅读全文

解决PhpStorm搜索/下载插件超时问题

2019-09-26 10:38:41

### 解决 `PhpStorm` 搜索/下载插件超时问题 去掉 `Use secure connection` 勾选,不使用安全连接即可。 ![COwFeq_image.png](http://files.showcj.com/images/article/2019/09/26/COwFeq_image.png?imageView2/2/w/800)

阅读全文

docker 常用命令

2019-09-04 10:41:47

## 安装 ### docker 安装 ``` sudo wget -qO- https://get.docker.com/ | sh sudo usermod -aG docker jesse ``` ### docker-compose 安装 ``` sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose ``` ## 常用命令 1.运行容器,如果镜像不存在则会先pull,将docker内的80端口映射到本地的8080 ``` docker run -p 8080:80 -d daocloud.io/nginx ``` 2.查看docker当前正在运行的容器 ``` docker ps ``` 3.查看docker所有的容器 ``` docker ps -a ``` 4.停止容器 ``` docker stop 5040b5f7c9b...

阅读全文

composer 常见问题处理

2019-09-04 10:20:29

**1.提示 版本 与 composer.json 不符** 报错: `Your requirements could not be resolved to an installable set of packages` 解决办法1: ``` --ignore-platform-reqs ``` 解决办法2: ``` "minimum-stability" : "dev", "prefer-stable" : true ``` **2.解决使用 `Composer` 的时候提示输入 Token** 进入 https://github.com/settings/tokens 点击 「Generate new token」 新建一个 Token,选择默认新建就行,然后就会得到一个 Token,然后输入这个值就 OK 了 **3.解决使用 `composer` 的时候错误 file could not be downloaded** ``` composer config secure-http false ``` **4.解决作者未发布版本** (Could not find a version o...

阅读全文

推荐六个鲜为人知的 Composer 命令

2019-07-23 09:26:05

Composer 是 PHP 的一个依赖管理工具。 如果你是一名 PHP 开发人员,那么你很可能每天都在使用它并且频繁的运行命令 `require`, `install` 和 `update`。也许你并没有意识到, 我们可以使用一些其他的 Composer 命令,来更加轻松的使用它。 它有许多的命令可以使用,但今天我将分享我使用的并且每天都有帮助的 6 个命令。 ## show 先说下 `show` 命令。它允许您查看项目的所有已安装包(包括依赖项),以及查看相关包的说明。所有这些信息都可以在Composer锁文件(composer.lock)中找到, 但是使用 `show` 命令相对来说是一种更简单、更方便的一种查看包信息的方法。 要列出所有已安装的包及其版本号和说明,只需使用 `show`: ``` composer sh...

阅读全文

时序攻击

2019-07-12 19:06:20

> 在校验验证码或密码时,可以使用 [hash_equals](http://php.net/manual/zh/function.hash-equals.php) 方法 `hash_equals` 是可防止时序攻击的字符串比较,那么什么是时序攻击呢?比如我们使用这段代码进行比较 ```php $code == $_POST['code']; ``` 那么两个字符串是从第一位开始逐一进行比较的,发现不同就立即返回 false,那么通过计算返回的速度就知道了大概是哪一位开始不同的,这样就实现了电影中经常出现的按位破解密码的场景。而使用 hash_equals 比较两个字符串,无论字符串是否相等,函数的时间消耗是恒定的,这样可以有效的防止时序攻击。 如果 PHP 不支持此方法或想自己实现的,可以参考如下: ```php ```

阅读全文

thinkphp 漏洞记录

2019-06-18 16:12:14

thinkphp 漏洞记录:漏洞环境:5.0.20以下版本描述:ThinkPHP5.0在核心代码中实现了表单请求类型伪装的功能,该功能利用$_POST['_method']变量来传递真实的请求方法,当攻击者设置$_POST['_method']=__construct时,Request类的method方法便会将该类的变量进行覆盖,攻击者利用该方式将filter变量覆盖为system等函数名,当内部进行参数过滤时便会进行执行任意命令。引用:ThinkPHP 5.0命令执行漏洞分析及复现漏洞环境:v5.0.23及v5.1.31以下版本描述:ThinkPHP官方2018年12月9日发布重要的安全更新,修复了一个严重的远程代码执行漏洞。该更新主要涉及一个安全更新,由于框架对控制器名没有进行足够的检测会导致在没有开启强制路由的情况下可能的...

阅读全文

数据库二进制图片输出到前端

2018-08-18 17:21:23

在维护老项目时,发现有的项目居然把图片存在数据库,而不是图片链接,数据库里的图片字段类型是:`mediumblob`现在的需求是:从数据库取出图片在前端列表显示。大学是,老师就开始教导我们不要把图片存在数据库里,不方便维护,而且很占数据库体积。然后就没有碰到过存取数据库的二进制图片,突然碰到有点懵。估计大多数人没有这样的习惯,然后网上的资料也是大量重复过时的方法。目前接触到的前端渲染图片有两种:1、URL地址;2、 data:image/jpeg;base64  。于是想到在后端先用base64进行编码,然后在前端输出,果然可以!    代码如下:PHP:$base64Img = base64_encode($blobImg);HTML:<img src="data:image/jpe...

阅读全文

laravel-admin必填项加星号

2018-08-03 15:27:27

1.文件修改,vendor/encore/laravel-admin/src/Form/Field.php 新增:/** * Form element label classes. * * @var array */ protected $elementLabelClass = [];/** * Add the element label class. * * @param $class * * @return $this */ public function addElementLabelClass($class) { if (is_array($class) || is_string($class)) { $this->elementLabelClass = array_merge($this->elementLabelClass, (array) $class); $this->elementLabelClass = array_unique($this->elementLabelClass); } return $this; } 修改方法(约740行左右)getViewElemen...

阅读全文

程序员必须掌握英语单词

2018-07-11 18:47:42

application 应用程式 应用、应用程序application framework 应用程式框架、应用框架 应用程序框架architecture 架构、系统架构 体系结构argument 引数(传给函式的值)。叁见 parameter 叁数、实质叁数、实叁、自变量array 阵列 数组arrow operator arrow(箭头)运算子 箭头操作符assembly 装配件assembly language 组合语言 汇编语言assert(ion) 断言assign 指派、指定、设值、赋值 赋值assignment 指派、指定 赋值、分配assignment operator 指派(赋值)运算子 = 赋值操作符associated 相应的、相关的 相关的、关联、相应的associative container 关联式容器(对应 sequential container) 关联式容器atomic 不可分割的 原子的attribute 属...

阅读全文

IE下扫描枪不兼容问题

2018-07-10 19:04:35

 js监听条形码扫描枪barcode.on('keyup', function(event){ if(event.keyCode === 13){ // 逻辑 console.log(barcode.val()); } });在IE下扫描时经常出现条形码扫不全、获取不到条形码、条形码空白等问题。在其他浏览器则无此问题。经过一番对比和debug,发现IE只有在中文输入法下才会复现此bug。 所以只需切换输入法或开启键盘大写即可。  由于JS是无权限操控电脑的输入法和大写的,所以在非自己使用的情况下,应标注醒目提示用户使用英文输入法或开启键盘大写。

阅读全文

linux下全文检索引擎sphinx/coreseek的安装配置

2018-06-27 19:38:18

linux下全文检索引擎sphinx/coreseek的安装配置1.安装预装软件yum install make gcc g++ gcc-c++ libtool autoconf automake imake mysql-devel libxml2-devel expat-devel 2.下载coreseek4.1https://download.csdn.net/download/dl425134845/9535621 3.解压tar zxvf coreseek-4.1-beta.tar.gz 4.安装进入到mmseg-3.2.14目录,在该目录中运行./bootstrap 命令。 5.指定安装coreseek安装路径./configure --prefix=/usr/local/mmseg3 6.实际安装coreseekmake && make install 7.测试coreseek的分词效果进入到/usr/local/mmseg3/bin 目录中,执行如下命令./mmseg -d /usr/local/mmseg3/etc /usr/local/src/co...

阅读全文