PHP新特性之命名空间、性状和生成器

2018-06-02 07:00:24 1001 思小齐

1).命名空间在PHP 5.3中被引入,类似于文件夹的功能。例如Symfony框架中的Request和Response,位于Symfony的命名空间下。2).命名空间始终应该在<?php标签的下面一行。3).PHP文件的命名空间和操作系统的物理文...

查看详细

PHP的迭代器和生成器

2019-11-03 17:30:34 893 思小齐

分析:想一下,如果把集合对象和对集合对象的操作放在一起,当我们想换一种方式遍历集合对象中元素时,就需要修改集合对象了,违背“单一职责原则”,而迭代器模式将数据结构和数据结构的算法分离开,两者可独立发展。

查看详细

zanphp源码解读 - MVC说起

2017-10-18 15:32:15 924 思小齐

从上的 namespace 得知 Model src/Model/Index/GetDBDataController 中 获取 一个 Model $demo$demo->doSql() 获取相关数据当然 这里 的 GetDBData 只是一个演示,正常来说 应该是个 User 、 Shop 等等啥的同...

查看详细

PHP 7.0 & 7.1 部分新增特性备忘

2018-01-31 22:10:46 945 思小齐

当没有返回值而使用 $generator->getReturn() 时,会返回 null。而且,在生成器没有输出完全时,使用 $generator->getReturn() 会报错。

查看详细

PHP+MySQL导出大量数据(Iterator yield)

2018-04-19 01:58:33 880 思小齐

产品汪:我要在后台做一个功能,可以导出自定义时间范围的订单信息。开发小哥二话不说,半天就把功能做完并上线了。结果,第二天一上班产品汪过来就是拍桌子:MD,我想把去年一整年的订单都导出来,结果后台直接...

查看详细

PHP协程

2019-01-18 03:13:50 947 思小齐

“协程”就是用户态的线程 要理解是什么是“用户态的线程”,必然就要先理解什么是“内核态的线程”。 内核态的线程是由操作系统来进行调度的,在切换线程上下文时,要先保存上一个线程的上下文,然后执行下一个线程,...

查看详细

PHP7下的协程实现

2018-09-16 23:02:13 908 思小齐

前言 相信大家都听说过『协程』这个概念吧。 但是有些同学对这个概念似懂非懂,不知道怎么实现,怎么用,用在哪,甚至有些人认为yield就是协程! 我始终相信,如果你无法准确地表达出一个知识点的话,我可以认为...

查看详细

PHP 7 值得期待的新特性(下)

2017-10-14 01:15:58 903 思小齐

这是我们期待已久的 PHP 7 系列文章的第二篇。点此阅读 第一篇本文系 OneAPM 工程师编译整理。 也许你已经知道,重头戏 PHP 7 的发布将在今年到来!现在,让我们来了解一下,新版本有哪些新功能与改进。 在本系列...

查看详细

PHP7新特性介绍

2019-12-17 15:49:20 860 思小齐

本文内容根据PHP发布时的 new files 而来,链接地址 : PHP 7 new 特性一览 Added ?? operator Added <=> operato 新的操作符 {代码...} Added \u{xxxxx} Unicode Codepoint Escape Syntax 可以直接使用这种...

查看详细

PHP7 的抽象语法树(AST)带来的变化

2019-07-15 11:11:09 925 思小齐

本文大部分内容参照 AST 的 RFC 文档而成:[链接],为了易于理解从源文档中节选部分进行介绍。 本文并不会告诉你抽象语法树是什么,这需要你自己去了解,这里只是描述 AST 给 PHP 带来的一些变化。 新的执行过程 ...

查看详细