为什么现在的浏览器只能跑JavaScript而不是其他的脚本语言比如PHP呢?
我觉得不管是用什么语言做后端,只要是想更新内容就得用Ajax,这东西写一两个还可以,
如果需求要写几十个,并且每一个都要正确地渲染真的好麻烦,用js库需要修改的时候,而且读别人写的JS真的觉得好累
这个东西5年前到现在都没有任何变化,
我一直在想为啥浏览器不能就像PHP get_file_contens()那样直接获取远端数据呢?一行代码就搞定了,
或许PHP才是一个比较适合做浏览器的内置脚本语言。
所以,我想象了一个能支持PHP脚本的浏览器,就是内置了一种经过修改的PHP解释器的浏览器
将PHP开始和结束标签为:,来运行web中PHP前端脚本的内容:( ?>标签中间的内容还是正常的由后端先执行)
举个粟子:
index.php:
simple_form_select_backend.php:
如果我们以后写网站能这样写的话简直爽爆了有木有?!用file_get_contents()直接从服务器取出文本(数组数据),然后反序列化就可以用了,只需两行代码!!当然还可使用任何其他从服务器交互数据的办法,甚至进行加密,因为你写就是PHP代码呀~~只需当成两个PHP环境之间来交互数据(那么可以使用任何方法,比如get,post,socket等等)。当数据传到前端后,使用在浏览器上的PHP dom parse engine将内容直接放在你想要的位置上。
要不然你就想象一下用JS写一个能监听表单里的内容并输出内容到某个id里,而且下面的下拉框里的内容时用Ajax从服务器获取的,要写多少行代码。。
我真的好想找一个这样的浏览器。。没有人能告诉我的话那我就自己写一个浏览器好了,写了一个计划文档在这:http://blog.getexampapers.com...
有人有建议或者能够指导的记得叫我~~
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
所以这是后端程序员的反击么?
当年NodeJS杀入服务端的仇还记着是吧……
不过要是题主顺便用php造了webpack,react,vue等等的轮子,我还是很看好你的....
首先楼主的构想是可实现的,浏览器内置一个php解释器,只需用php实现一些浏览器的宿主api。客户端世界有自己的法则,首先脚本和资源要从远程获取,这不难,把原来直接从磁盘读文件改为先经过网络获取远程磁盘的文件;然后是脚本本身不能搞多线程,因为多个线程都去修改ui的话很容易造成混乱,因此一些耗时的操作不能做成同步,因为线程还需要响应用户操作什么的,不能耗在这,这也不怕,php有协程来帮忙做异步;想直接操作数据库?不要冒这个险,客户端世界谁也不能相信,要能做js的轮子大军早就做了,不过可以参考pouchdb的做法在服务器转发一下,也不必把链接字符串暴露在客户端了。
楼主说的php前端模板语法很赞,只是get_file_contents在这里并不适用,因为它不能马上返回数据,用户也就不会马上看到渲染出来的选项,这期间还不能做其他事情。怎么办?参考js的做法。
我觉得对比php, JS在前端开发有这几个优势:
异步编程
先发优势
其中异步编程是JS的核心优势,效率高. 以题主的代码来举例:
file_get_contents在网络不佳的情况下,会阻塞很长的时间,所以在这方面其实是不如JS的。先发优势更不用多说,关于JS的轮子遍地开花.
当然,我觉得题主还是很有想法的,至少我就从来没想过这个问题,我还是建议题主大胆尝试的。
看了题主的要求现在的mvvm的模式就很符合。
把大量的dom操作简化几乎所有的操作都放到前端只有需要的数据通过api获取。
然后题主要有那么多闲情搞php替代javascript就去吧,希望不要是像typescript一样的只是转换版。
最后还是javascript……
然后题主能让所有浏览器都搞上吗。。想了一下三大浏览器感觉gg。
最后题主你提出了一个想法,快去做吧。
因为php还不够流行呗, 除非前端人员大部分都会php, 否则没人愿意去学一门新的语言来解决一个已经很好解决的问题
这问题很无语O__O "...
记得在哪里看到个国外有这样一个开源项目,建议题主折腾一个,题主加油,就跟我看到这个帖子一样
用爬虫一天时间“偷了”知乎一百万用户,只为证明PHP是世界上最好的语言
js的诞生之初只是为了实现浏览器一些简单的操作,比如提醒用户某个输入框的值是否需要填写,当初的网速很慢,流量很贵,如果通过服务端去检验成本太高。
在浏览器上为了检验一个输入框引入php这类当时看起来很重型的语言,并不是很符合要求,终于,一个非常简单的简单轻量的语言js就诞生了。
js现在的很多强大的功能都是经过了十几二十年的发展才变成这样的。
JS将会一统天下JS将会一统天下JS将会一统天下JS将会一统天下JS将会一统天下JS将会一统天下JS将会一统天下JS将会一统天下JS将会一统天下JS将会一统天下JS将会一统天下JS将会一统天下JS将会一统天下JS将会一统天下JS将会一统天下JS将会一统天下JS将会一统天下JS将会一统天下JS将会一统天下JS将会一统天下JS将会一统天下JS将会一统天下JS将会一统天下JS将会一统天下JS将会一统天下JS将会一统天下JS将会一统天下JS将会一统天下JS将会一统天下JS将会一统天下JS将会一统天下JS将会一统天下JS将会一统天下JS将会一统天下JS将会一统天下JS将会一统天下JS将会一统天下JS将会一统天下JS将会一统天下JS将会一统天下JS将会一统天下JS将会一统天下JS将会一统天下JS将会一统天下JS将会一统天下