V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  mimiphp  ›  全部回复第 3 页 / 共 3 页
回复总数  49
1  2  3  
2023-11-25 02:43:41 +08:00
回复了 mimiphp 创建的主题 PHP php8.3 更新了
@dongisking 我不知道你对 php 的理解程度是到了什么级别。但是你提到的__call,包括__set,包括__get 。不是写得很清楚了吗?
调用不存在的方法,设置不存在的属性,和调用不存在的属性。。

这种魔术方法,魔术常量 php 非常多。你是在质疑 php 提供的这些方法和常量不可靠还是质疑看不懂?

你比如__DIR__ 就是获取当前脚本所在的系统绝对路径。。。你是想分析他的 C 语言代码的执行逻辑吗?对于应用级别开发的程序员,你只需要知道__DIR__就能拿到绝对路径,为什么能拿到你去关心什么呢?

同样的道理,当你实例化一个对象,然后调用了一个不存在的方法,你可以借用__call 来统一封装提示信息,或者跟踪日志等等。。

如果你开发过自己的框架

__set 方法和__get 方法是非常强大的两个魔术方法。

当控制器中直接
$this->aaa='你好';

由于当前控制器就没有这个这个成员属性。。所以__set 方法会被激活。你可以正好利用这个机制把调用的属性名称和值记录下来,然后做模板方法 display 的参数注入。。。这样在模板文件中就可以直接得到控制器对应的变量名和值了。

这些魔术方法已经说明了使用场景,为什么你要去知道执行过程呢?就是因为不清楚原理,所以叫才叫魔术啊。。。。
2023-11-25 02:33:57 +08:00
回复了 mimiphp 创建的主题 PHP php8.3 更新了
@neoblackcap 主要谈的是 php ,但由于 python 和 javascript 都是脚本语言,附带提到。至于你说的 V8 ,VM 。本质上还是脚本运行环境,但我主要想表达,把 javascript 工程化,本地打包编译,是一个错误的发展方向。更夸张的是微软提出的 typescript 了。也就是不论基于浏览器引擎的浏览器 js 还是基于 v8 的 nodejs ,本质都是脚本语言,脚本语言最大的特性就是不是二进制,是字符串。我们开发的代码不是编译执行的字节码,而是解析引擎需要读取的 API 而已。你可以理解为跟 sql 字符串一样。。但数据库或者 php 解析引擎或者 python 解析引擎,或者浏览器的 js 解析引擎等等,都是得到我们的脚本代码,去激活内置的 C 语言逻辑,与 cpu 内存交互的底层还是 C 语言。
如果理解上面的说法,则任何基于脚本语言开发的所谓打包过程,工程化过程最终都会还原为脚本代码而已,没有提高任何性能。至于其他回复说到的可以规范 debug 可以规范开发等等。。这都是强类型语言编译打开的思想。

脚本语言最大的特性就是简化了开发,随时修改随时迭代。并且 php-fpm 还是个异类,可以说 nginx 与之交互的 php-fpm 多个线程之间毫无关系。这种特性可以保证你修改代码前一秒其他线程都能能完成用户响应,后续新的请求响应的就是你修改后的代码。

但强类型语言做不到。甚至 php+html 坚持的混编也是 20 年前 asp,cgi 等脚本语言发明的。

前端 vue ,react 等等框架提出的虚拟 dom ,diff 算法,最终到了今年 2023 年了。作者 vue 作者都在思考虚拟 dom 到底有没有必要存在。也就是以虚拟 dom 建立,却最终发现真实的 dom 才是根本。因为不管第三方折腾多少年。js 官方团队一直有自己的更新节奏。juqery 也一直在更新。。如果 vue 自己推到虚拟 dom ,最终不就跟后端 php 或者 asp 把 html 理解为普通字符串,然后混编 php 代码替换修改节点内容了吗?兜兜转转不就又回去了吗?
javascript 官方团队本身就在以浏览器解析基准的情况下提出模块组件式开发。一直在更新。
那微软的 typescript 到底在做什么?不就是让强类型语言的 java 程序员等等适应开发前端代码吗?不论解释如何优化,工程化,避免错误,debug ,最终还是编译成原生 javascript 不是吗?
那没有 typescript 之前,或者说 javascript 官方团队的开发方式就是垃圾?
明显就是弱类型语言的脚本语言开发方式不符合强类型语言的开发方式才搞出来的 ts 嘛。。。。所以我上面聊天时就说了态度,微软你这么出名,没必要改变 js 的编程习惯,你可以自己弄一个出来专门针对强类型语言的程序员的前端开发方式啊。并且打包编译二进制效率更高。要求每个用户安装一下就好了嘛。。。

但普通用户都是浏览器呀,javascript 就内置在浏览器内的呀。。。你搞这么多还不是要还原 javascript 嘛。。。你改不了啊。微软你自己不是有 IE 吗?现在没市场了,就来破坏前端开发流程参一脚了么?
2023-11-25 02:17:36 +08:00
回复了 mimiphp 创建的主题 PHP php8.3 更新了
@BBCCBB 我不是 php 核心团队的人,很多信息也是看资料了解的,时间隔太久记不太准确,抱歉。但大体就是这么个情况,php 核心成员确实产生分歧,鸟叔确实不管 php 了。但其实还有其他中国人在核心团队,只不过投票确认的方向是大多数人的选择
2023-11-25 02:15:30 +08:00
回复了 mimiphp 创建的主题 PHP php8.3 更新了
@kenvix 我是基于 php8.3 更新了,跟同事有感而发,而且我也是发在 php 讨论组,怎么就变成暴论了呢?
2023-11-05 18:41:33 +08:00
回复了 huangjovin 创建的主题 全球工单系统 fsou.cc 是不是崩了?
可以试试这个非法搜索
https://ffsou.com
2023-11-05 15:31:32 +08:00
回复了 mimiphp 创建的主题 站长 ffsou.com 这个非凡搜索好用吗
优化了体验,目前来自 5 个数据源,后面会加入本地爬虫,提供站长域名提交功能,欢迎体验,提建议和意见
2023-10-30 21:13:52 +08:00
回复了 aisiji 创建的主题 Google 谷歌搜索怎么把回车搜索调整回来
@Rennen 如果是大家都关心的造孩子内容,推荐 yandex 更劲爆。
2023-10-30 21:12:35 +08:00
回复了 aisiji 创建的主题 Google 谷歌搜索怎么把回车搜索调整回来
@Rennen
可以根据非大陆 IP 开放自由搜索模式,但既然是中文搜索,故意搜索特定造谣内容毫无意义,尽量以符合法律法规的方式使用更靠谱。就类似国外 youtai 内容你也不能自由评论一样,没有必要一定要在敌对阵营标新立异。
2023-10-30 12:26:20 +08:00
回复了 aisiji 创建的主题 Google 谷歌搜索怎么把回车搜索调整回来
ffsou.com 这个非凡搜索还不错,没有广告,内容还蛮全面的
1  2  3  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5285 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 30ms · UTC 08:33 · PVG 16:33 · LAX 01:33 · JFK 04:33
Developed with CodeLauncher
♥ Do have faith in what you're doing.