liyu001989

liyu
第 3995 位会员
注册于 2016-03-30 10:21:16
活跃于 2017-02-24 18:11:04


专栏文章
最近话题
最新评论
  • 关于 Laravel jwt-auth 的几点疑问 at 2017-02-22 18:20:17

    或许是下面这样

    token 有两个时间,一个是过期时间(ttl),一个是可刷新时间(refresh_ttl)。怎么理解,比如 ttl 是 1 天,refresh_ttl 是1周,那么 token 一天后过期,但是1周之内你仍然可以用这个 token 换取一个新的 token,而这个新 token 又会在 1 天后过期,1周内可刷新。
    
    举个例子,用户登录了你的应用,并且每天都会打开你的应用,你的应用如果发现这个 token 过期了,会主动刷新一次,如果成功那么用户依然是登录的。当用户1周都没有登录过你的应用,那么他就需要重新登录了。
    
    客户端的逻辑应该是,首先判断这个 token 是否过期了,1是通过两个 ttl 判断,因为客户端是知道这两个时间的,2是调用需要授权的接口返回的状态码(401),判断过期了则主动尝试刷新,刷新成功了,重置token和时间,失败了,则跳转到登录页面。
  • 对 REST 的理解 at 2017-02-17 00:26:43

    Rest 是一种风格,这种风格首先是好的,是有理论依据的,解决了我很多疑惑,也帮助我快速的完成了接口。我认为这里并没有双方,我就是在实现一套通用的,合理的接口,一旦有了你认为的双方,你就很有可能实现各种奇奇怪怪的接口。所以我认为,遇到问题了应该尽量去找到合适的解决方案,而不是跟某几个同事约定。

  • Git 的使用基础和示例 at 2017-02-16 11:39:26

    话锋一转,来到了composer
    但是

    ^1.2 等于 >=1.2 && <2.0.0

    应该是

    ^1.2 等于 >=1.2.0 && <1.3.0

    https://getcomposer.org/doc/articles/versions.md#caret

  • 对 REST 的理解 at 2017-02-14 14:35:49

    @Addison 批量操作,我理解的不一定对,有一些讨论,比如这里,和这里

    首先批量创建 post /users 因为post应该可以创建一批资源的,可能response返回201,但是location返回什么,stackoverflow , 其实很多人基本也不用这个location,body是空还是创建的资源的集合?如果返回集合那么同一个接口就可能有两种格式的数据返回? 又好像不太好。

       If one or more resources has been created on the origin server as a
       result of successfully processing a POST request, the origin server
       SHOULD send a 201 (Created) response containing a Location header
       field that provides an identifier for the primary resource created
       (Section 7.1.2) and a representation that describes the status of the
       request while referring to the new resource(s).

    批量更新 patch /users

    批量删除 delete /users

    这两个可能就是这样吧,具体怎么更新和删除靠请求参数决定

  • [优帆远扬] Laravel、Remote 与 自由 at 2017-02-13 22:33:27

    之前居然没发现,赶紧提交一份简历 :+1:

  • 对 REST 的理解 at 2017-02-10 16:47:26

    @keer 我只能说,愿天下多一些讲道理的同事

  • 对 REST 的理解 at 2017-02-10 12:30:59

    @monkey ok 已修正

  • Lumen + dingoapi + jwt 的例子 at 2017-02-09 21:52:13

    @Lidisam 响应内容必须是字符串或者是实现了tostring方法的对象,检查一下你的response吧

  • 关于数据库中一些数字字段定义的思考 at 2017-01-17 15:55:55

    同样的问题

    因为绑定了接口和实现,各地其实是在直接用接口,所以我们写在接口里面了

    不知道有没有更好的办法,repository 确实是带来了各种不方便的地方。

      3 namespace App\Repositories\Contracts;
      4
      5 interface FooRepository
      6 {
      7     const STATUS_PROCESSING = 1;
      8     const STATUS_SUCCESSED = 2;
     12 }
  • 关于 l5-repository 开发架构的问题 at 2017-01-13 15:20:08

    考虑到 issue和pr的处理情况,我们使用的是 https://github.com/rinvex/repository。不同的实现而已,都是repository层。

    我的理解主要有两点,

    • 一是repository是用来进行数据操作的一层,负责进行数据的查询和修改,需要进行查询的地方直接操作的是repository,并不关心具体是怎么操作的,有可能是\DB,也可以是Eloquent,也可以是某个性能更好的XXORM。解耦了orm。
    • 第二个就是方便我们添加缓存。

    但是其实对于解耦,我感觉很长一段时间我们还是很依赖Eloquent的,因为他真的是好用,替换成另一套ORM或者直接使用sql,应该是很后面优化的事了。对于我的话,好处就是方便缓存,逼着我们不会把换七八糟的逻辑写在model里面。所以到底用不用,还是挺纠结的,看项目吧。

    然后就是对于貌似很多的业务逻辑会放在Controller层? ,这点我不同意,这个跟使不使用repository没什么关系,controller要做的是验证请求,处理业务,返回结构。验证请求有FormRequest, 处理业务有event,job,service,太多东西帮助我们处理,controller太大太乱,一定是代码组织的有问题。业务通过各种方式处理了,而不是每单个的复杂业务逻辑就要有一个文件? 按照点灯坊的架构,会有一个Service层来处理业务逻辑。

  • 信息被删除或无权限查看
  • Laravel Dineer 03 上海站匆匆一聚,期待下次聚会~ at 2016-12-19 10:28:14

    计划一下成都啊,话说 @JobsLong 是新疆人吗

  • 求助 env () 函数获取不到值了 at 2016-12-04 23:19:21

    首先,controller为什么会去取env。或者说controller 应该不知道env这回事

    controller 关心的是配置,而配置才会因为环境的不同而不同。

    所以比如场景是

    controller 想的到支付宝的应用id,
    支付宝id,线上使用线上的id,测试环境使用沙箱的id
    首先应该有个 config/alipay.php  , 配置文件有 [app_id => env('ALIPAY_APP_ID')]
    测试,正式,开发有自己的ALIPAY_APP_ID

    controller 怎么都会是 config('alipay.app_id') 而不是 env('ALIPAY_APP_ID') 去获取

  • Dingo API 表单验证错误 App 无法处理? at 2016-11-09 00:06:51

    照这个逻辑,那么http 422的错误信息应该放在哪?

    如果要用github的api,做个app,岂不是完蛋了?

    file

  • [深圳] 靠谱 iOS 工程师求一份靠谱的 iOS 工作 at 2016-10-12 16:39:45

    仰望一下大神 :+1:

  • Lumen 下 使用 dingo 、dwt,支付宝的异步回调是怎么写路由躲开 token 检验的呢 at 2016-09-01 17:48:15

    env 里面 API_VERSION=v1 默认就是请求v1版本的api 啊

  • Lumen 下 使用 dingo 、dwt,支付宝的异步回调是怎么写路由躲开 token 检验的呢 at 2016-09-01 17:37:09

    你的意思是必须有 accept 头信息指定版本是吧。API_VERSION 不是可以处理这些没有header的默认情况吗

  • Lumen 下 使用 dingo 、dwt,支付宝的异步回调是怎么写路由躲开 token 检验的呢 at 2016-09-01 15:56:41
    因为是做api接口,采用了版本的,请求头部必须带token

    楼主在说jwt? 请求头必须带jwt token? 为什么。

    jwt token 是身份信息,路由就是路由。两个东西没什么关系啊

    放在jwt.auth middleware外面就行吧

  • Laravel 5.1 队列,使用内存不断增长的问题。 at 2016-08-29 17:33:34
    在后台运行的队列侦听器在处理完每个任务前不会重新启动框架。因此你应该在任务运行完成前,谨慎地释放所有内存占用较高的资源。例如你利用 GD 函数库来处理图片,就要在结束前用 imagedestroy 来释放内存。
    
    如果你的数据库连接也要在使用完后进行关闭,则可以用 DB::reconnect 方法来确保有新的数据库进行连接。

    demon守护进程,不重启框架,所以需要手动unset掉变量,释放内存。

    那么其实所有的变量都是需要释放的啊,不然内存涨上来只是时间的问题?

  • 单元测试时保证数据库整洁 at 2016-08-16 10:57:04

    如果利用好laravel的依赖注入和mock,可以不依赖数据库进行单元测试