宿迁腾云网络网站建设公司

腾云网络 八年经验专注网站建设
  • 首页
  • 服务项目
    • 网站建设
    • 微信小程序
    • APP开发
    • SEO优化
  • 建站费用
  • 成功案例
    • 网站建设案例
    • 小程序案例
    • APP开发案例
    • SEO优化案例
  • 行业动态
    • 网站建设
    • SEO优化
    • 技术日志
  • 联系我们
    • 关于我们
首页 > 行业动态 > 技术日志 > 为什么PHP不适合于比小型业余网站更大的网站

为什么PHP不适合于比小型业余网站更大的网站

2021-02-01

为什么用PHP开发大型系统感到不舒服?

来自:太平洋计算机网络

在过去的四年中,作者一直致力于PHP应用程序的开发。 PHP确实很容易编写。但是PHP也有一些非常严重的缺陷。

以下作者将给出我自己的理由,为什么PHP不适合于比小型业余网站大的网站。

1.对递归的支持不佳

递归是一种函数调用自身的机制。这是一项强大的功能,可以使某些复杂的事情变得非常简单。使用递归的一个示例是quicksort(quicksort)。不幸的是,PHP不擅长递归。 PHP开发人员Zeev说:“ PHP4.0(Zend)使用堆栈方法处理密集数据,而不是使用堆方法。也就是说,与之相比,它可以容忍的递归函数数量有明显的限制。其他语言。更少。”请参见错误1901。这是一个非常不好的借口。每种编程语言都应提供良好的递归支持。

2.许多PHP模块不是线程安全的

几年前,Apache发布了Web服务器的2.版本0。该版本支持多线程模式,在这种模式下,软件的一部分可以同时运行多个。 PHP的发明者说,PHP的核心是线程安全的,但非核心模块不是必需的。但是,十分之九,您想在PHP脚本中使用此模块,但这使您的脚本不适用于Apache的多线程模式。这就是为什么PHP团队不建议在Apache 2的多线程模式下运行PHP的原因。糟糕的多线程模式支持使PHP经常被认为是Apache 2仍然不受欢迎的原因之一。

请阅读以下讨论:Slashdot:网站拒绝Apache 2吗?。

3.由于商业原因,PHP不健全

通过使用缓存,PHP的性能可以显着提高500%[请参阅基准测试]。那么为什么缓存没有内置在PHP中呢?由于PHP的制造商Zend正在出售自己的Zend Accelerator,因此,他们当然不想放弃他们的商业产品。

但是还有另一种选择:APC。 (Zend后来推出了Zend Optimizer,这是一个免费的加速器-翻译器)

4.没有命名空间

想象一下有人制作了一个PHP模块来读取文件。模块中的功能称为读取。然后,另一个人的模块可以读取网页,该网页还包含读取的功能。然后,我们不能同时使用这两个模块,因为PHP不知道您要使用哪个功能。

但是有一个非常简单的解决方案,那就是名称空间。曾经有人建议将此功能添加到PHP5中,但不幸的是他没有这样做。现在,没有名称空间,并且每个函数都必须以模块名称作为前缀,以避免名称冲突。这使函数名称非常长,例如,xsl_xsltprocessor_transform_to_xml使得代码难以编写和理解。

5.非标准日期格式字符

许多程序员熟悉从UNIX和C语言派生的日期格式字符。其他一些编程语言也采用了此标准,但奇怪的是,PHP具有自己的一组完全不兼容的日期格式字符。在C中,“%j”表示一年中的某天,而在PHP中,其表示每月中的某天。但是,要使情况更加混乱:Smarty(一种流行的PHP模板引擎)的strftime函数和date_format函数使用C / UNIX格式字符。

6.许可证混乱

您可能会认为PHP是免费的,并且手册中提到的所有PHP模块也是免费的。错误!例如,如果您想用PHP生成PDF文件,您将在手册中找到两个模块:PDF和ClibPDF。但是这两个都有商业许可证。因此,对于您使用的每个模块,必须确保您同意他的许可。

7.函数命名规则不一致

某些函数名称由多个单词组成。通常有三种词组合:

直接拼接:getnumberoffiles

下划线分隔:get_number_of_files

骆驼法则:getNumberOfFiles

大多数语言选择其中一种。但是使用PHP。

例如,如果要将某些特殊字符转换为HTML实体,则将使用htmlentities函数(直接拼接词)。如果要使用相反的功能,则必须使用其小兄弟html_entity_decode。由于某些特殊原因,函数名称由下划线分隔。怎么会这样?您知道有一个名为strpad的函数。还是他是str_pad?每次您必须检查该符号是什么时,或者等待他犯错。函数不区分大小写,因此PHP的rawurldecode和RawUrlDecode之间没有区别。这也很糟糕,因为两者都被使用并且外观不同php开发是什么,这会使读者感到困惑。

8.魔术引号的地狱

魔术引号可以保护PHP脚本免受SQL注入攻击。很好但是由于某些原因,您可以在php.ini中关闭此配置。因此,如果要编写灵活的脚本php开发是什么,则始终必须检查魔术参考是打开还是关闭。这样的“功能”应该使编程更容易,但实际上它变得更加复杂。

9.缺乏标准框架

一个没有整体框架的成长中的网站最终将成为维护的噩梦。框架可以使很多工作变得容易。最受欢迎的框架模型是MVC模型,其中表示层,业务逻辑和数据库访问均分开。

许多PHP网站都不使用MVC模型。他们甚至没有框架。即使现在有一些PHP框架,您也可以自己编写。有关PHP的文章和手册并未改进该框架。同时,JSP开发人员使用Struts等框架,而ASP开发人员使用.Net。这些概念似乎已被PHP开发人员广泛理解。这说明了PHP实际上是多么专业。

摘要

出什么问题了?

对于非常小的项目,它可能是一种非常令人满意的编程语言。但是对于更大,更复杂的项目,PHP表现出了它的弱点。继续探索之后,您将找到作者提到的一些问题的解决方案。因此,当解决方案已知时,为什么不能更正呢?另外,为什么手册中未提及这些修复程序?

开源语言非常流行是一件好事。不幸的是,这不是一门好语言。作者希望所有问题都能在一天之内解决(也许在PHP6中?),然后我们将拥有一种既开源又易于使用的开源语言。

到目前为止,当您要启动一个包含5个以上脚本页面的项目时,最好考虑使用C#/ ASP.Net或Java / JSP,或者也许Python也是更好的选择。

Tag: php 编程语言 apache
网站制作公众号

宿迁腾云网络网站建设公司 | 网站开发 | 网站制作 | 网站优化

咨询电话:13160355545

上一篇

返回栏目

下一篇

免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。

热推

  • php编程培训2018年十大编程语言下表:现在不妨介绍跻身本列表中php编程规范
  • php网站源码快速开发语言开发商城系统优势:java开发的优势php快速开发工具箱
  • php网站后台密码破解工具,网站后台用户名密码破解个人信息贩卖黑色产业链越来越猖獗企业被披露(图)php网站源码带后台
  • php 网站源码 论坛修改版流行PHP语言论坛程序官方网站取走网站完整数据库(图)论坛源码 php手机版
  • php网站后台密码破解工具,网站后台用户名密码破解“蹭网神器”太上头,更不要“广告播放器”php网站源码带后台
  • 开源php社交网站源码 再网站建设门槛如此之低地时代,如何用较低成本部署心意地网站php小说开源网站源码
  • 网站上传漏洞的前提是了解文件上传这个功能吗?
  • PHP8确认支持JIT,加上Swoole给你不一样的感觉
  • php实现端口扫描 攻防实验就是利用文件包含高危漏洞安全指南(组图) nmap扫描网段开放端口
  • 开发),需要学习什么学位才能胜任这份工作(组图)

相关

了解常见PHP应用程序安全威胁,掌握6个常见安全性攻击

了解常见PHP应用程序安全威胁,掌握6个常见安全性攻击

如何查看php版本?多种方法助你快速知晓

如何查看php版本?多种方法助你快速知晓

PHP格式化:提升代码质量与协作效率的关键规则

如何查看虚拟主机上的 PHP 版本?这篇文章告诉你

Linux 系统管理员和 web 开发者必知:如何查看 PH

Linux 系统管理员和 web 开发者必知:如何查看 PH

免费开源的轻量级 PHP 开发框架 ThinkPHP,遵循

从零开始开发完整网站:前端、后端与 Web 服务器的关键技术

php框架 Java 与 PHP 之争:为何懂技术的大佬选

BitDefender 发布超级工厂病毒专杀工具,可清除所有

asp语言与php语言的区别 前端和后端的区别,你真的了解吗

标签

seo(1182) 市场营销(661) 网站制作(573) 网站建设(564) 搜索引擎(553) 网站(482) PHP(361) 编程语言(345) 建站(294) 关键词排名优化(267) 网站建设公司(245) 优化(216) seo排名(207) 域名(190) 软件(171) 网站优化(148) 搜索引擎优化(146) 外链(141) 科技(136) 网站关键词(124) 网站排名优化(123) 域名服务器(120) 网站排名(107) 时政(103) 排名优化(95) 搜索引擎收录(93) 网站设计(92) 电子商务(88) 引擎(86) 移动互联网(85) 开发框架(79) 开发(75) 网站服务器(74) 框架(68) 前端开发(68) 网站分析(66) 网站建设方案(65) 关键(64) 流量(63) 源码(62) 百度优化(62) 网站权重(61) 开放源代码(59) seo培训(53) 网页设计(51) 百度(51) php框架(50) 网站建设知识(50) 大数据(50) 谷歌(49)
宿迁腾云网络网站建设公司
网站建设
  • 私人定制
  • 标准模板建站
  • 经济模板建站
精品模板

宿迁腾云网络网站建设公司

联系电话:13160355545

公司地址:江苏省宿迁市丽景湾华庭北门都市花园公寓9楼907

联系邮箱:admin@tyweb.net

全国分站
  • 北京
  • 广东
  • 东莞 广州 中山 深圳 惠州 江门 珠海 汕头 佛山 湛江 河源 肇庆 潮州 清远 韶关 揭阳 阳江 云浮 茂名 梅州 汕尾
  • 山东
  • 济南 青岛 临沂 济宁 菏泽 烟台 泰安 淄博 潍坊 日照 威海 滨州 东营 聊城 德州 莱芜 枣庄
  • 江苏
  • 苏州 徐州 盐城 无锡 南京 南通 连云港 常州 扬州 镇江 淮安 泰州 宿迁
  • 河南
  • 郑州 南阳 新乡 安阳 洛阳 信阳 平顶山 周口 商丘 开封 焦作 驻马店 濮阳 三门峡 漯河 许昌 鹤壁 济源
  • 上海
  • 河北
  • 石家庄 唐山 保定 邯郸 邢台 沧州 秦皇岛 张家口 衡水 廊坊 承德
  • 浙江
  • 温州 宁波 杭州 台州 嘉兴 金华 湖州 绍兴 舟山 丽水 衢州
  • 陕西
  • 西安 咸阳 宝鸡 汉中 渭南 安康 榆林 商洛 延安 铜川
  • 湖南
  • 长沙 邵阳 常德 衡阳 株洲 湘潭 永州 岳阳 怀化 郴州 娄底 益阳 张家界 湘西
  • 重庆
  • 福建
  • 漳州 泉州 厦门 福州 莆田 宁德 三明 南平 龙岩
  • 天津
  • 云南
  • 昆明 红河 大理 文山 德宏 曲靖 昭通 楚雄 保山 玉溪 丽江 临沧 思茅 西双版纳 怒江 迪庆
  • 四川
  • 成都 绵阳 广元 达州 南充 德阳 广安 阿坝 巴中 遂宁 内江 凉山 攀枝花 乐山 自贡 泸州 雅安 宜宾 资阳 眉山 甘孜
  • 广西
  • 贵港 玉林 北海 南宁 柳州 桂林 梧州 钦州 来宾 河池 百色 贺州 崇左 防城港
  • 安徽
  • 芜湖 合肥 六安 宿州 阜阳 安庆 马鞍山 蚌埠 淮北 淮南 宣城 黄山 铜陵 亳州 池州 巢湖 滁州
  • 海南
  • 三亚 海口 琼海 文昌 东方
  • 江西
  • 南昌 赣州 上饶 吉安 九江 新余 抚州 宜春 景德镇 萍乡 鹰潭
  • 湖北
  • 武汉 宜昌 襄樊 荆州 恩施 孝感 黄冈 十堰 咸宁 黄石 仙桃 随州 天门 荆门 潜江 鄂州 神农架
  • 山西
  • 太原 大同 运城 长治 晋城 忻州 临汾 吕梁 晋中 阳泉 朔州
  • 辽宁
  • 大连 沈阳 丹东 辽阳 葫芦岛 锦州 朝阳 营口 鞍山 抚顺 阜新 本溪 盘锦 铁岭
  • 黑龙江
  • 齐齐哈尔 哈尔滨 大庆 佳木斯 双鸭山 牡丹江 鸡西 黑河 绥化 鹤岗 伊春 大兴安岭 七台河
  • 内蒙古
  • 赤峰 包头 通辽 呼和浩特 乌海 鄂尔多斯 呼伦贝尔
  • 贵州
  • 贵阳 黔东 黔南 遵义 黔西 毕节 铜仁 安顺 六盘水
  • 甘肃
  • 兰州 天水 庆阳 武威 酒泉 张掖 陇南 白银 定西 平凉 嘉峪关 临夏 金昌 甘南
  • 青海
  • 西宁 海西 海东 海北 果洛 玉树 黄南
  • 新疆
  • 乌鲁木齐 伊犁 昌吉 石河子 哈密
  • 西藏
  • 拉萨 山南 林芝 日喀则
  • 吉林
  • 长春 白山 白城 延边 松原 辽源 通化 四平
  • 宁夏
  • 银川 吴忠 中卫 石嘴山 固原
SiteMap
网站地图
TAG标签
Copyright © 2017-2025 TYWEB.NET 宿迁腾云网络科技有限公司 ALL RIGHTS RESERVED.   苏ICP备17033535号-1

热门搜索

百度 下载 2025 2024 2026 货源 货货源 虚拟 禅道 报名 金蝶KIS旗舰版
  • 客服

    在线客服

  • 电话

    13160355545

  • 微信

精品模板
建站费用
成功案例
联系我们