Mac从入门到痴迷系列之增强快速预览功能

  • 白俊遥
  • 2019-02-03 14:51:44
  • PHP
  • mac
默认在 mac 上是在文件上按空格键预览;但是这个预览的功能特别的简陋;预览个 php 这类文件没有高亮;json 之类的文件更惨直接就没法预览;这时候就需要 Quick Look plugins 了;它主要有以下功能:1. 高亮预览代码文件2. 预览没有后缀的文本文件3. 预览 markdown 文件4. 预览 json 文件5. 预览压缩...
阅读全文

解决laravel使用QQ邮箱发邮件失败

Connection could not be established with host smtp.exmail.qq.com in StreamBuffer.php line 270顺藤摸瓜找到 vendor/swiftmailer/swiftmailer/lib/classes/Swift/Transport/StreamBuffer.php 发现其实是这个 错误抑制...
阅读全文

为laravel队列安装supervisor并配置

supervisor 是用 Python 开发的进程管理程序;python 在主流的 linux 发行版都已经内置了;pip 则是 python 的一个包管理工具;跟 php 的 composer 类似; 但是系统默认没有安装 pip ;先来安装;```bashwget https://bootstrap.pypa.io/getpip.py python getp...
阅读全文

laravel passport加密jwt格式的access_token中的sub(user_id)字段

  • 白俊遥
  • 2019-01-06 22:35:49
  • PHP
  • oauth
在很多需求我们不希望别人知道用户在我们表中的 user_id ;但是又想用数据库的自增 id 功能;一般时候在取出用户后加密 user_id 加密即可;但是总有那么几个不经意间就可能把我们的 user_id 暴露了;比如说 laravel 的 passport ;创建一个项目用于测试;```bashlaravel new passport``` 安装 ...
阅读全文

Mac从入门到痴迷系列之phpstorm配置xdebug

  • 白俊遥
  • 2018-12-30 21:25:04
  • PHP
  • mac
安装 xdebug```bashpecl channelupdate pecl.php.netpecl install xdebug```配置debug;```bashvim vim /usr/local/etc/php/7.2/php.ini```增加如下配置```bashxdebug.remote_enable=On```开启成功的标...
阅读全文

Mac从入门到痴迷系列之配置开发环境

  • 白俊遥
  • 2018-12-23 22:43:21
  • PHP
  • mac
安装php7.2 替代系统自带的php```bashbrew install php@7.2brew link php@7.2 force``` 安装 composer```bashbrew install composer```设置国内镜像```bashcomposer config g repo.packagist composer https...
阅读全文

使用array_diff优雅的删除数组中指定的value值

在开发过程中经常需要删除数组中某个值;比如说有个数组;```php$names = [ '张三', '李四', '王麻子']```我们希望删除 `李四` 这个值;常规的思路是先用 `array_search` 函数获取 `李四` 在 `$names` 中的键名;然后使用 `unset` 删除;为了严谨还得判断`李四`是否存在;`...
阅读全文

php设计模式(二十一)观察者模式

在业务开发过程中多个功能会互相依赖;如果我们想在一个对象发生变化后通知和它有关联的类;比如说你做了某件事后希望可以使用邮件和短信发送通知;这时候就比较适合使用观察者模式了;不过 php 官方已经提供了 ;因此这又是一篇为了设计模式而写设计模式的文章; 结构SubjectAbstract: Subject 抽象类 示例中指 SubjectAbstract.php;...
阅读全文

php设计模式(二十)迭代器模式

迭代器模式允许用户通过特定的顺序访问容器中的数据;它将数据和顺序的实现分离;迭代器模式属于设计模式中的没落贵族;单独实现迭代器的场景很少了;比如 php 官方都提供了;这篇文章是为了设计模式而写设计模式; 结构Container: 容器接口 定义获取迭代器的方法 示例中指 ContainerInterface;ConcreteContainer: 实现 Cont...
阅读全文

php设计模式(十九)命令模式

命令模式就和名字一样;比较适合执行命令的场景;命令发送者只管调用具体命令类中的 execute() 方法;然后在具体命令类中设定命令接收者;可以消除命令发送者和命令接受者之间的耦合;并且可以方便的扩展新命令; 结构CommandInterface:命令抽象类;一般会暴露一个 execute 方法;Command:具体的命令类;设定接收者;Invoker:命令...
阅读全文