欢迎光临
我们一直在努力

PHP:不,不可能

php:不,不可能

您可以在此标题中添加“还”!有时,事情就是这样,只是因为没有人知道如何做得更好。

然而,这并不意味着一切都是好主意。

php不支持多重继承

您根本不能执行以下操作:

<a style="color:#f60; text-decoration:underline;" href="https://www.codesou.cn/" target="_blank">c++</a>lass child extends parent1, parent2 {}

但是,许多开发人员会认为有更好的方法,例如使用接口来强制类实现特定行为。

请注意,您仍然可以对这些接口应用某种多重继承(如果这对您的情况确实有意义):

interface A {}
interface B {}
interface C extends A, B {}

但是,对我来说,这并不是反对多重继承的最佳论据。许多编程语言注重简单性和可读性而不是复杂性。

立即学习PHP免费学习笔记(深入)”;

引入多重继承可能会导致很多误用,更不用说钻石问题了,这对于 php 等高级语言来说会是个问题。

如果你能避免不必要的复杂性那就最好了。

php不支持多线程

许多编程语言提供内置工具来同时执行多个线程(例如,java、c++)。

pthreads 试图在 php 中引入多线程,但 pthreads 和并行的创建者 joe watkins 在 2019 年 2 月宣布:

由于架构缺陷,在 php 7.4 之后将不再维护 pthreads。

来源:php 文档 – phtreads如果你想进一步挖掘,你可以查看parallel,它的灵感来自于go并发。虽然并行非常酷,但您的情况真的需要如此复杂吗?如果您需要内置的异步处理机制,现在可以使用 fibers(自 php 8.1 起)。fibers 允许您编写可中断的函数。虽然 fibers 非常酷,但您的情况真的需要如此复杂吗?使用 reactphp 或 swoole 等第三方解决方案可能是更好的选择,特别是如果您只需要事件循环。更好的是,您可以构建一个队列机制来处理消息并重试失败的作业。symfony 组件 http client 还支持各种异步操作(例如并发异步流和多路复用请求/响应)。

php 不适合实时处理
php是解释型语言,不兼容密集型操作和需要低延迟、高可预测性的系统。虽然这是事实,但为什么要使用 php 进行高频交易、流媒体、在线游戏或机器和流程的高级监控?

包起来
php 适用于网络以及您可能知道的许多其他创意用途。我希望它能保持简单性,因为它绝对是一个功能。

赞(0) 打赏
未经允许不得转载:码农资源网 » PHP:不,不可能
分享到

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

登录

找回密码

注册