Yii核心团队Alexander Makarov的访谈

Yii的主要开发人员之一Alexander Makarov( SamDark )将在DevConf上 讨论软件包的度量标准 ,我借此机会向我问了有关Yii的新版本,新的ORM ,为OpenCollective筹款,全职开源开发以及一些问题的问题。关于会议。

我将首先问您一个经常被问到的问题。 Yii怎么了? Yii 3什么时候? 我已经在github.com/yiisoft上观看了活跃的新软件包创建活动, 已经有一段时间了。

有了Yii,一切都很好。 好吧,差不多。 要进行解释,您需要回头看看。

制作2.0版时,我们有些高估了自己的优势。 可以理解, Qian雪每天翻山越岭,对我们所有人来说似乎都是一次。

然后,不幸的是,他没有足够的时间来使用OpenSource,并且对所做工作的支持一直困扰着团队的其他成员。 好吧,由于没有人参与到全职框架中,因此导致发布的频率不高且不大。 另外,在设计时,我们犯了错误。 现在它们对我来说似乎很明显,但是后来我们认为它是如此的好。 幸运的是,它们并不多。 它们不会使Yii 2.0变坏;框架是好的。 但是随着时间的推移,它们带来了向后兼容性的承诺,许多功能以及缺乏时间,这给我们框架的开发带来了问题: PSR的引入,避免封闭所有PHP通用的软件包和库,在应用更复杂的开发方法方面的改进,更好的可测试性。

有人试图摆脱进化。 有一段时间我相信了这一点,并谈到了2.1版。 但是,技术债务已经太大了。 这不是一个没有意义的很好的框架。 而现在,到了某个时候,人们意识到有必要重构所有事物,甚至是扔掉并重写许多部分。 但是在把我投入战斗之前,我坐好并反省。 我为自己指出了我要解决的问题,构建3.0的原则以及Yii作为一个组织的价值观。 这产生了一些文件:

https://github.com/yiisoft/docs/blob/master/001-yii-values.md
https://github.com/yiisoft/docs/blob/master/003-roadmap.md

接下来,开始分配单个软件包的工作,在此过程中,重新阅读并重新考虑了构建Robert Martin软件包的原则。 这些软件包实际上并不是全新的。 这些是Yii2的一部分,大部分可以单独使用。
但是有新的,例如:

https://github.com/yiisoft/event-dispatcher
https://github.com/yiisoft/di

该过程尚未完成,因此包裹数量的增加将继续。 现在,使用它们并不容易,但是以后维护起来会容易得多。

我记得您曾计划使用一些鲜为人知的新ORM。 github.com/cycle/orm我不想花时间去详细了解他,告诉我它与其他人有何不同以及它如何吸引了您?

是的,这确实是一个Cycle 。 它由roadrunner.dev的作者Anton Titov实施。 那里的文档仍然不太相关,因此,如果您还没有准备好阅读源代码,那么现在进入内部还为时过早。

我和安东已经聊了很久了。 然后,他有了一个内部框架,并询问有关Yii中的方式和功能的问题,以及Active Record中我喜欢和不喜欢的东西。 论及教义的利与弊。 有时他们会打电话给我,安东(Anton)演示那里的工作方式和所做的事情,我多次说过,在Yii比较方便。
到了某个时候,我开始这么说少了,并且意识到,全球性的有趣事物可能来自Cycle 。 那时,已经存在类似于Yii查询生成器的语法,关系的概念等等。 特别是贿赂的事实是,安东在生产中使用了RoadRunner ,对他来说至关重要的是, Cycle不会泄漏,不会吃掉多余的内存并且不会由于批处理中的错误而崩溃。

实际上,我上次在春季观看了Cycle的详细信息,并且没有做出将Yii默认设置为Cycle的决定。 这只是一个选择。 但有一点很明确:我们不会将Active Record绑定到验证,表格等方面。 一切都应与任何事物一起工作:与DTO,与Doctrine实体,与循环。
Yii最近开始通过opencollective.com/yiisoft筹集资金。 “一个专注的核心开发人员-每年24,000美元”的目标目前已接近完成。 这是什么意思? 专职与Yai打交道的开发人员? 会是谁

是的,我们真的开始了一项筹款活动,因为Yii 3的支持时间比以前更多,只有Yii 2支持。 专注于核心开发人员并不意味着它将是全职的(这个数量仍然不能与商业全职人员相比),而是意味着几乎每天都有一位开发人员将大量时间投入到框架上,而不会因为烧毁生产,截止日期,团队问题而分心。 。 就是说,这不仅是更多的时间,而且是思想的重点,没有太多分散注意力的因素。

我将是第一个这样的开发人员。 达到目标后,我们将尝试提高标准,并将其扩展到核心团队的另一位成员。
所有这些增加的活动很可能是由于您终于有时间了。 您在Skyeng工作,就在那儿(您可以在此处阅读有关原因和详细信息-rmcreative.ru/blog/post/poka--skyeng )。 您继续只处理开源吗? 感觉怎么样 家庭预算?

是的,就像这样:时间到了, Yii在实现目标的优先次序上已经大大提高了。 我几乎专门处理OpenSource。 现在, OpenCollective允许使用几乎所有帐户付款。 有时我会做一些小事,例如代码审查,流程或安全性,设计OpenSource库,寻找公司的人(有时也是优秀开发人员的朋友也会来),但又不至于影响到框架的开发。

感觉...各种各样。 这真的是我喜欢做的。 我很高兴它成为了一个很好的工具。 对那些对Yii漠不关心且乐于助人的人感到满意。 我喜欢在会议上发言。

有时责任的负担会粉碎。 我想放松一下,但是“必要”让我有所作为。 在大多数情况下,在这种情况下什么都不明智,因此我尽力说服自己其余的人当之无愧。

好吧,人们对未来还有很多工作的理解并不十分深刻。 尽管,如果您查看每周所做的工作,那么很显然,做到这一点是真实的,我们会做到这一点。

我期待有可能宣布alpha并获得第一批愤怒评论的时刻:)
我仍然记得您开了一家咖啡店之类的东西,也许不仅仅是一家。 经营灵魂? 需要很多时间吗?

两个咖啡馆,是的。 他们自己做了让自己高兴。 酒吧很高。 事实证明不错,但仍有成长空间。 我的兄弟现在主要从事咖啡馆。 时间不多。
5月,您是PhpRussia会议的组织者之一。 她怎么样了

一切顺利 他们几乎完成了他们想要的一切:500人和在线观众。 著名的外国演说家,强有力的节目。 几乎完全没有任何覆盖。 评论大多是正面的,但还有很多事情要做。 我们将做更多。
普通开发者为什么要参加这样的会议?

  1. 为了知道在哪里生长。
  2. 为了了解项目中是否一切正确。
  3. 招聘新的工具和做法。
  4. 聊天。 这通常会带来非常出乎意料的结果:从愉快的交流到宝贵的提示和见解。

最后,关于您的报告。 “编程理论:封装原理和度量标准”。 您提到了Robert Martin及其对包装的想法。 这在PHP世界中有多适用? 在已编译语言的世界中,将一个项目分成几个程序包,再将这些程序包编译成单独的程序集是很正常的做法,并且那里确实需要一些规则。 在PHP中,我们通常谈论的是作曲家软件包,它们略有不同,并且这些带有度量标准的原则仅在Yii3级别的项目中才需要。 不行吗

这非常适用于PHP 。 当然,首先,这对于YiiSymfonyLaravel级别的项目是必需的,但是对于商业项目,这也是有意义的。 数据包度量标准不仅可以应用于Composer软件包,还可以应用于代码模块,微服务等。



DevConf将于6月21日至22日举行,仅剩2个星期了。 有力的报道 ,有机会在场外或休息时讨论一系列问题,并获得长期好评。

Source: https://habr.com/ru/post/zh-CN455098/


All Articles