后端学习Angular之介绍

2018-03-16
阅读 1 分钟
3.3k
本文是<后端学习Angular>系列第一篇文章,主要介绍前端框架Angular和需要的几个技能装备。作为后端人员,学习前端框架Angular是个什么样的经历,有兴趣者可以持续关注<后端学习Angular>这个系列。

几句话熟悉Laravel/Symfony 事件系统

2018-01-12
阅读 2 分钟
4.7k
我们知道,laravel/symfony 框架是由一堆堆 components 组件粘合在一起的。其中会有一个 event component 组件,比较特殊,它像一个中介,是框架层全局 component,专门负责不同component间相互通信传数据的。

写 Laravel 测试代码 (六)

2017-10-25
阅读 3 分钟
2.6k
写测试代码时,有时候需要利用phpunit来生成测试代码覆盖率报告,方便调试和检查。本文主要聊聊如何在PHPStorm中配置phpunit。

Laravel 学习笔记之 request validation

2017-10-23
阅读 2 分钟
2.5k
在用laravel写api时,当前端传进来的request是POST/PUT/PATH等method时,那需要做request validation,尽管对于前后端分离程序,前端程序Angular/Vue已经做了validation,但是ajax传过来的json input,在后端也需要做validation。

Laravel 学习笔记之 model validation

2017-10-22
阅读 3 分钟
3k
在对database进行写操作前,需要对数据进行validation,如type-check 每一个 model column 的定义('type' 这个column必须是enum('card','loan')),这里使用model event来做。

写 Laravel 测试代码(五)

2017-10-22
阅读 8 分钟
2k
本文主要探讨写laravel integration/functional test cases时候,如何assert。前面几篇文章主要聊了如何reseed测试数据,mock数据,本篇主要聊下assert的可行实践,尽管laravel官方文档聊了Testing JSON APIs,并提供了一些辅助的assert方法,如assertStatus(), assertJson()等等,但可行不实用,不建议这么做。

写Laravel测试代码(四)

2017-08-08
阅读 1 分钟
1.5k
在写单元测试时,有时候需要测试A class 的 protected or private method,可以使用 Class Reflection 来做,而不是去改成public,破坏封装。

写Laravel测试代码(三)

2017-08-02
阅读 4 分钟
2.7k
这里举一个简单例子,AccountController::class调用Connector::class, Connector::class 会调用第三方 json api来读取数据,代码如下:

写Laravel测试代码(二)

2017-07-30
阅读 6 分钟
2.1k
在写Laravel测试代码(一) 中聊了关于如何提高 laravel 数据库测试性能,其实简单一句就是:每一个test case, 只重新 seed 被污染的表。 OK,这里有一个前提问题:那如何构建临时测试数据库呢?本文主要探讨如何构建临时测试数据库。

写Laravel测试代码(一)

2017-06-22
阅读 6 分钟
5.1k
写laravel程序时,除了写生产代码,还需要写测试代码。其中,写数据库测试比较麻烦,因为需要针对每一个test case需要建立好数据集,该次test case污染的数据表还需要恢复现场,避免影响下一个test case运行,同时还得保证性能问题,否则随着程序不断膨胀,测试数量也越多,那每一次测试运行需要花费大量时间。

Laravel5.4 不同环境下 env 文件设置

2017-06-07
阅读 2 分钟
4.8k
Laravel5.4现在支持不同环境下env文件设置(好像是L5.4最新支持的吧,记不清楚了,也有可能L5.2-5.3就已经支持了),可以针对不同环境(development, staging, production)设置env文件为:

Laravel学习笔记之Code Style

2016-12-02
阅读 5 分钟
2.9k
在合作开发时需要统一下code style,如给method写annotation时一些tag如@params ,@throw,@return得按照字母顺序来写,等等。推荐一个package:friendsofphp/php-cs-fixer,该package是Symfony作者写的,质量有保证。安装下该package:

Laravel 学习笔记之 Toran Proxy 搭建私有Packagist镜像

2016-11-13
阅读 2 分钟
7.4k
随着业务越来越复杂,有些service具有通用性,即Repo A中的某一service其他的几个Repo都会不同程度的需要,如果能把该service作为一个独立的package,这样其他的Repo可以composer安装这个package,这会避免写多余和重复的代码。

Laravel 学习笔记之 Query Builder 源码解析(下)

2016-10-28
阅读 10 分钟
4k
说明:本文主要学习下Query Builder编译Fluent Api为SQL的细节和执行SQL的过程。实际上,上一篇聊到了\Illuminate\Database\Query\Builder这个非常重要的类,这个类含有三个主要的武器:MySqlConnection, MySqlGrammar, MySqlProcessor。MySqlConnection主要就是在执行SQL时做连接MySql数据库操作,MySqlProcessor主要就...

Laravel 学习笔记之 Query Builder 源码解析(中)

2016-10-26
阅读 10 分钟
6.3k
说明:本篇主要学习数据库连接阶段和编译SQL语句部分相关源码。实际上,上篇已经聊到Query Builder通过连接工厂类ConnectionFactory构造出了MySqlConnection实例(假设驱动driver是mysql),在该MySqlConnection中主要有三件利器:\\Illuminate\\Database\\MysqlConnector;\\Illuminate\\Database\\Query\\Grammars\\Gramm...

Laravel学习笔记之Core Concepts in Guzzle Package——Stream(一)

2016-10-26
阅读 4 分钟
4.1k
说明:本文主要学习guzzlehttp/guzzle package的使用,该package提供了一套发送HTTP请求API,就像phpunit package, mockery package, symfony package, monolog package, league/filesystem package一样,是一个经常被使用的package,也是Laravel框架的一个重要依赖之一。AWS SDK for PHP也是把该package作为一个基础pac...

Laravel学习笔记之Query Builder源码解析(上)

2016-10-25
阅读 7 分钟
4.2k
说明:本文主要学习Laravel Database模块的Query Builder源码。实际上,Laravel通过Schema Builder来设计数据库,通过Query Builder来CURD数据库。Query Builder并不复杂或神秘,只是在PDO扩展的基础上又开放封闭的包装了一层,提供了fluent api,使得书写的代码也很简洁流畅。在看下Query Builder源码之前,先大概探索...

Laravel学习笔记之Schema Builder 和 Migration System(上)

2016-10-24
阅读 9 分钟
6.6k
说明:本文主要学习Schema Builder和Migration System的使用及相关原理。传统上在设计database时需要写大量的SQL语句,但Laravel提供了Schema Builder这个神器使得在设计database时使用面向对象方法来做,不需要写一行SQL,并且还提供了另一个神器Migration System,可以对database做版本控制,包括回滚上一次的迁移操作...

Laravel学习笔记之Route,Middleware和Controller参数传递

2016-10-20
阅读 4 分钟
13k
本文主要学习总结下Route,Middleware,Controller间参数传递。开发时经常碰到类似场景:有时需要在Middleware中读取Route中设置的middleware parameter和route parameter,有时也需要在Controller@Action中读取Middleware中设置的参数。

Laravel学习笔记之Session源码解析(下)

2016-10-12
阅读 5 分钟
4.6k
说明:在中篇中学习了session的CRUD增删改查操作,本篇主要学习关闭session的相关源码。实际上,在Laravel5.3中关闭session主要包括两个过程:保存当前URL到session介质中;在Response Header中存入cookie。其中,Laravel5.3把垃圾回收提前到了中间件的前置操作,中篇有聊到。OK,学习下关闭session的源码吧先。

Laravel学习笔记之Session源码解析(中)

2016-10-12
阅读 7 分钟
3.8k
说明:在上篇中学习了session的启动过程,主要分为两步,一是session的实例化,即\Illuminate\Session\Store的实例化;二是从session存储介质redis中读取id = laravel_session*的数据。Laravel5.3把session垃圾回收放在了启动过程中,尽管Laravel5.1是放在session关闭过程的,本篇聊下垃圾回收,这也是session第一步启动...

Laravel学习笔记之Session源码解析(上)

2016-10-08
阅读 8 分钟
5.2k
说明:本文主要通过学习Laravel的session源码学习Laravel是如何设计session的,将自己的学习心得分享出来,希望对别人有所帮助。Laravel在web middleware中定义了session中间件\Illuminate\Session\Middleware\StartSession::class,并通过该中间件来设计session,这个中间件的主要工作分为三步:(1)启动session,通过se...

Laravel学习笔记之Resource Route的点语法小技巧

2016-10-07
阅读 1 分钟
5.2k
其对应的url是/clients/{client_id}/accounts/{account_id}和/clients/{client_id}/accounts/,这个技巧很有用。控制器源码是:

The devil is in the details

2016-10-04
阅读 1 分钟
2.1k
大半夜突然出现bug,这次被json_decode()坑到了,json_decode($json,true),有true返回数组没true返回对象,在这里坑到了,估计这些SDK函数都不加true。。不过真想吐槽下Intercom这个客服工具,它的Intercom SDK文档写的真让人恼火,都找不到字段值在哪,而且SDK代码里都没有annotations,都不标注函数返回值什么类型,...

Laravel学习笔记之Two-Factor Authentication神器——Duo

2016-10-04
阅读 9 分钟
6.6k
说明:本文主要研究利用Duo来实现双重认证,Two-Factor Authentication就是除了username-password这种登录认证之外,还使用第二层安全认证,引用官网What is Two-Factor Authentication?的一句话:

Laravel学习笔记之Errors Tracking神器——Sentry

2016-10-01
阅读 4 分钟
8.1k
说明:Laravel学习笔记之bootstrap源码解析中聊异常处理时提到过Sentry这个神器,并打算以后聊聊这款神器,本文主要就介绍这款Errors Tracking神器Sentry,Sentry官网有一句话个人觉得帅呆了:

论写文档的重要性

2016-09-26
阅读 1 分钟
2.4k
高质量的代码真的很重要,阅读高质量的代码就感觉像是在看高质量的漫画一样,从变量或方法的命名,到复杂逻辑的分解,甚至一个注释的空格,都不能多一个或少一个,记得上个月写代码注释时,//符号与注释间少了个Space键,都是不被允许的。引用Boss的一个观点:“程序员有两种,一种是只为自己写代码,而不为别人考虑;一...

推荐一款API自动化测试工具——Runscope

2016-09-24
阅读 1 分钟
8.1k
目前很多业务都是前后端分离来做,后端负责写API,如我司RightCapital后端用Laravel5.3来写API供前端AngularJS来消费。写完API需要自动化测试,这里推荐Runscope这个自动化API测试工具,这里是它的features:Runscope Features,当然,这是收费的,但是能极大提高生产率呀,这点就是小钱了,何况程序员都很懒,能自动化的...

Laravel学习笔记之Callback Type

2016-09-23
阅读 7 分钟
7.1k
说明:本文主要学习PHP的回调类型callback type,通常在使用函数进行回调时,如使用call_user_func($callback, $parameters)进行回调时,需要传入回调callback,实际上有几种callback type的,在Laravel中也大量使用回调,并根据场景不同传入不同的回调类型。

Laravel学习笔记之函数处理(Function Handling)

2016-09-23
阅读 5 分钟
3.1k
说明:Laravel中经常使用PHP的Function Handling来设计代码,本文主要学习PHP的Function Handling特性,来提高写代码时的设计质量。PHP提供了一些函数处理操作的内置函数,主要有: