• 技术文章 >php框架 >ThinkPHP

    ThinkPHP容器之Countable巧用

    咔咔咔咔2020-10-12 13:58:17原创72

    本文将讲解一个冷门的知识点,如果不去看源码时根本不会了解的一个知识点,那就是countTable的使用。

    六、Container容器类剖析之Countable巧用

    关于Countable这块内容一直没想好是否是文章的形式写出展现给大家,但是在后期阅读源码时大量的出现了Countable的应用。

    为了大家能看懂每一个技术点,咔咔还是写了出来。

    这个知识点只是为了给大家展示一下怎么用,在后文中会提到跟count的关联。

    在文件thinkphp/library/think/Container.php中,就可以直接看到使用了Countable接口,并且实现了它!

    在这里插入图片描述
    在这里插入图片描述

    来到Countable这接口中,我们只能看到一个方法就是count().

    根据代码中Count elements of an object这行注释可以了解到,这个接口是计算对象的元素

    在看源码的过程中我们需要对其注释先看一遍,即使不会英文那也有翻译软件呢!会给你提供更好的理解。

    在这里插入图片描述根据PHP文档的说明在深入了解一下。

    文档说明当你执行count()方法时就相当于在执行上边的abstract public Countable::count ( void ) : int抽象方法。

    在这里插入图片描述实战案例

    光说不干,事事落空;又说又干,马到成功。直接开干

    新建文件kaka/container/countableTest.php,并且添加以下内容

    在这里插入图片描述接着在文件application/index/controller/Container.php中学会使用Countable。

    这里注意一下用法,是直接使用count();

    在这里插入图片描述在这里插入图片描述

    Countable中的count()跟平时使用count()方法有什么区别

    顺便看一下PHP源码中的解释

    可以看到第一个参数可以是数组也可是是countable

    咔咔的理解是Countable只是重写了SPL中的count方法,为了就是方便定制自己需要的统计规则而已。

    int count ( mixed $array_or_countable [, int $mode = COUNT_NORMAL ] )

    接下来就是针对框架里边的容器进行剖析,一步一步的追溯到根源。

    坚持学习、坚持写博、坚持分享是咔咔从业以来一直所秉持的信念。希望在偌大互联网中咔咔的文章能带给你一丝丝帮助。我是咔咔,下期见。

    以上就是ThinkPHP容器之Countable巧用的详细内容,更多请关注php中文网其它相关文章!

    本文原创发布php中文网,转载请注明出处,感谢您的尊重!
    专题推荐:ThinkPHP
    上一篇:ThinkPHP之玩转自己的容器类 下一篇:ThinkPHP容器之你不知道的count用法
    第13期线上培训班

    相关文章推荐

    • ThinkPHP容器之控制反转和依赖注入• ThinkPHP容器之反射机制• ThinkPHP容器之使用设计模式和反射实现一个简单的案例• ThinkPHP之玩转自己的容器类

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网