一个拍黄片的开发仔
博客文章
最近发表的评论
  • 闭包匿名函数,还在傻傻搞不清楚吗? at 6天前

    @Wi1dcard 多谢赐教。PHP手册中也写道了如此。我能否将你的见解补充到文章后面呢?

  • 闭包匿名函数,还在傻傻搞不清楚吗? at 6天前

    仿照PHP手册写的,请大家看下

    /**
     * Class Order
     */
    class Order
    {
        use Meta;
    
        private $orderId = '001';
    
        private static $defaultMoney = '100';
    
        public $num = 1;
    }
    
    /**
     * Trait Meta
     */
    trait Meta
    {
        /**
         * 增加方法容器
         *
         * @var array
         */
        private $method = [];
    
        /**
         * 增加方法
         *
         * @param string $methodName
         * @param Closure $callBack
         * @throws Exception
         */
        public function addMethod($methodName, $callBack)
        {
            if (!is_callable($callBack)) {
                throw new Exception('该回调无法调用');
            }
    
            // 调用该方法
            $this->method[$methodName] = $callBack->bindTo($this, get_class());
            // 或者 $this->method[$methodName] = Closure::bind($callBack, $this,  get_class());
        }
    
        /**
         * 魔术方法调用
         * 
         * @param $methodName
         * @param array $args
         * @return mixed
         */
        public function __call($methodName, array $args)
        {
            if (isset($this->method[$methodName])) {
                return call_user_func_array($this->method[$methodName], $args);
            }
        }
    
    }
    
    // 客户端调用如下
    
    $order = new Order();
    $order->addMethod('getOrderId', function () {
        return "订单ID:{$this->orderId}";
    });
    
    echo $order->getOrderId();
  • 简聊 Session 与 Token 身份验证 at 1个月前

    @lovecn
    我理解如下:
    有状态的Token只是用户认证的(标识用户)一个方式。
    第三方登录的OAuth 2.0 是一规范标准,有点像设计模式

    拿微信登陆来说吧。微信登陆流程就是采用的就是 OAuth 2.0。当整个流程走完。服务端向资源服务器拿到用户数据后(可以理解为普通的账号密码匹配正确),服务端需要向客户端返回一个用户标识,不论采用的Token 还是 Session。目的都是为了标识用户。这两者其实没有关系

  • 神奇的服务容器 at 1个月前
    1. 依赖注入,其实就是 面向接口 编程
    2. 控制反转,其实就是 管理依赖注入的一个方式
  • 分享一个很基础但是又很考验基本功的面试题 at 4个月前

    我认为应该是:多调用2000次__set()

  • @FixBug 在 2018-09-19 10:50:13 的动弹 at 5个月前

    有时很容易,有时很难。~

  • 是否需要请求资源服务器? at 5个月前

    @liyu001989 好的,那请问下。现在是不是应该在微信后台的回调地址原来是larabbs.test,现在是不是应该改成larabbs.test/api/socials/weixin/authorizations。这样微信登陆就通了

  • 分享下,实现图片验证返回网址? at 7个月前

    你查询下该composer包有没有直接一个方法生成图片,或者如下:

    // 将图片写入文件中
    file_put_contents($captcha->inline(), public_path("static/{$key}.jpg"));
    // 返回的URL地址为
    $arra = [
    'captcha_img_url' => asset("static/{$key}.jpg");
    ];
  • 发送短信验证码一定要先填图片验证码,是不是影响了短信验证码的独立性? at 7个月前

    @GerBawn 不知我理解你的意思正确不正确,你的意思是指:某些需要发送短信的业务(eg:支付宝在用户交易时,会发送一条短信验证码来提醒用户本次消费记录)。对于这种业务,我认为: 需要把发送短信功能封装Service,根据不同上下文来调用。不需要抽象成类或者接口,是因为我们一般使用的别人封装好的composer包来发送短信。别人都帮我们封装了一层。

  • 延迟静态绑定——static at 7个月前

    @xuanjiang1985 ,我是这样理解的:

    1. 面向对象的产生是为了解决当一个项目变大的时候,程序设计如何实现功能之间的解耦,代码最优等等问题。每一个关键字产生都是为了解决一类问题的。文中举的例子让你实现你会如何实现呢?

    2. 静态方法与非静态的方法的区别我理解的不深,无法解答你。
  • 延迟静态绑定——static at 7个月前

    @johnlui 多谢大神分享。 :blush:

  • 理解 MySQL 中的四种隔离级别 at 7个月前

    @passenger ,是的,感谢你的分享。我最近再看《高性能的Mysql》里面就讲解到了这,当时没看懂。这次明白了。刚才看了你的博客。很受用!

  • 理解 MySQL 中的四种隔离级别 at 7个月前

    @悲剧不上演 ,补充一下上面A 客户端的代码:

    file

  • 理解 MySQL 中的四种隔离级别 at 7个月前

    这4中隔离级别,除了 mysql默认的不可重复读 都好理解。有一个疑问,我将隔离等级设置RR(不可重复读)。
    A 客户端:

    set session transaction isolation level repeatable read;
    start transaction;
    select * from account;
    update account set account = account-200 where id = 1; 
    select * from account;
    COMMIT;

    B客户端:

    file

    操作如下:
    1.在A客户端未commit之前查询,
    2.在A客户端未commit之后查询,

    这样不就是你说的隔离等级(不可重复读)的现象吗?表示没看懂!望指教?

  • 如何更优雅的给控制器 “减负” at 10个月前

    深有体会的是,第三方登录,普通登录,注册登等这些方式都是有相同的后置操作,我当时做的是将这些成功后的操作封装在Model中创建了一个successLogin()方法。

  • [深圳][20k-30k] 腾讯深圳招聘高级 PHP 工程师 [急] at 1年前

    我有个梦想就是:就是进入鹅厂

  • postman 调试出现 404 错误? at 1年前

    请将接口地址修改为http://larabbs.test/api/version

  • 因网站迁移工作量大,原定今日发布的 Laravel 教程第三部,将改在周三发布 at 1年前

    期待期待。:exclamation: :exclamation::exclamation: