November 18, 2016

从 MySQL Workbench 的 ER 设计图导出 Laravel 迁移文件

要说数据库的设计工具,我用过最好用的就是 MySQL Workbench 了( MySql 自己产品,免费使用 ),别的不多说,看下图我的项目的 ER 设计图就知道了(注意左上角小地图,能看到稍微上点规模的项目的数据库设计是非常方便的):

file

过去我是这样做:先设计好数据库,然后自己通过 sublime 的多光标编辑来快速编辑得到很多的数据库迁移命令,最后通过 Jeffrey 的迁移命令扩展包快速生成迁移文件......

September 05, 2016

5分钟配置并使用 Elasticsearch

简介

Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎。无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。

1.分布式的实时文件存储,每个字段都被索引并可被搜索

2.分布式的实时分析搜索引擎

3.可以扩展到上百台服务器,处理PB级结构化或非结构化数据

其实,最重要的是 2016/9/2 taylorotwell 合并了社区对 Elasticsearch 的拓展支持功能,让我们广大 laravelers 能更加方便的使用这么好的搜索引擎,这个 PR 我关注了快一个月,终于合并到新版本了,让我感受到了......

August 02, 2016

选择合适的 MySQL 日期时间类型来存储你的时间

构建数据库写程序避免不了使用日期和时间,对于数据库来说,有多种日期时间字段可供选择,如 timestamp 和 datetime 以及使用 int 来存储 unix timestamp。

不仅新手,包括一些有经验的程序员还是比较迷茫,究竟我该用哪种类型来存储日期时间呢?

那我们就一步一步来分析他们的特点,这样我们根据自己的需求选择合适的字段类型来存储 (优点和缺点是比较出来的 :smile: , 跟父母从小喜欢拿邻居小孩子跟自己比一样的)

datetime 和 timestamp

datetime 更像日历上面的时间和你手表的时间的结合,就是指具体某个时间。

timestamp 更适......

July 30, 2016

Fira Code 一个程序员专供的字体

大家都有自己喜欢的主题,编辑器(对于IDE来说大家应该都是 PHPStorm 了)、字号、行间距等等个性化设置。今天给大家推荐一款程序员字体,叫做 Fira code。

在我们写程序的时候,经常会用到 -> => :: >= .= += 等超过一个字符的操作符,但是这个操作符其实只有一个含义,按照常理来说,既然表达一个含义那么占一个位置也是理所应当的。这就是 Fira code 的目的了。

Fira code 其实基于 Fira Mono 字体,然后对操作符做了特殊处理,这样更符合通常的阅读习惯(虽然早已习惯了两个字符表示一个含义)。

废话不多说,上图

July 30, 2016

用 Laravel 拥抱异常

令人讨厌的异常

提起异常,大家都很反感,当信心满满的写完一段代码,刷新也没发现上面写着大大的 Exception 是最心烦的时候了。模块给领导演示的时候,如果报了异常,也是最让人崩溃的时候了。

既然这样,我为什么要说拥抱异常呢?

其实异常并没有大家想象的那么可怕,异常其实非常简单,如果你的程序里面很少有抛出异常的代码,我相信你看了下面的分析,你会爱上异常的。

什么是异常

异常是运行中超出了你程序预期的一个东西。

异常就是一个意外,影响了你的程序正常运行。但是如果你用好异常,会让你的程序便于解耦,结构更加清晰明了。

如何使用异常

在 Laravel 中已经定义了很多异常,例如......

August 20, 2015

获取银行卡信息

Bank card info

Build Status

根据银行卡号获取银行信息(银行名称, 信用卡/借记卡, 银行LOGO 等), 供任何 PHP 框架或者原生代码使用.

做涉及到金融项目的时候,难免和银行卡打交道,还记得在支付宝上给同学同志同事女朋友打钱的时候,当你输入完银行卡号的时候自动帮你选择好银行卡的小细节吗?当你给信用卡还款的时候,能自动判断出是信用卡还是储蓄卡。如此贴心的功能,你值得拥有!

Ban......