❤ 关于php原生开发与主流php框架使用心得

阿轩的BUG
文章191
评论56
标签101
站点日志
作者总数:1位
置顶文章:0篇
标签总数:101条
文章总数:196篇
评论总数:56条
微语总数:149条
运行天数:2314天
最近更新:2024-09-30
文章标签
最新评论
Sherlock
2025-08-21
不是应该打包成apk文件吗,怎么突然就运行编译了,下一步呢
老金er
2025-05-25
人生设计非常必要,在信息化发达的今天,周围大部分人依然只能过着人生工程模式生活,长时间生活洗礼后,尽管“人生工程”已经不再适合很多人,他们也无法做出任何改变,人生设计给我们提供了新的思路,值得尝试
赏帮赚
2025-05-25
职场太多的尔虞我诈
三笑
2024-08-16
emlog6.0.1可以升级支持吗?
pony
2024-07-08
这篇文章提供了一种新的人生规划方法——"人生设计",它借鉴了产品设计的理念,鼓励人们以创造性和探索性的方式思考和规划自己的生活。以下是对这篇文章的几个评价维度: 创新性:将产品设计的理念应用于人生规划是一个新颖的视角,为人们提供了一种跳出传统生活轨迹,探索个性化生活路径的方法。 实用性:文章不仅提出了理念,还详细介绍了具体的实施步骤,包括自我评估、制定计划、原型设计和实践选择等,具有很强的操作性。 启发性:通过强调好奇心、不断尝试、重新定义问题等心态,文章鼓励人们打破常规,勇于探索未知,这对于激发个人潜能和创造力具有积极作用。 适应性:"人生设计"理念适用于不同人生阶段和不同背景的人,无论是希望从头开始的人,还是已经取得一定成就但希望探索新方向的人,都可以从中获得启发。 情感共鸣:文章对许多人对传统生活轨迹的不满和对改变的渴望进行了深刻的洞察,能够引起读者的共鸣。 可持续性:人生设计强调的是一个持续迭代和试错的过程,这与现实生活的发展规律相吻合,有助于人们在不断变化的环境中做出适应性调整。 教育意义:作为一种人生规划方法,"人生设计"可以作为教育的一部分,帮助年轻人更早地学会自我探索和规划,为未来的生活和职业发展打下基础。 局限性:尽管"人生设计"提供了一种新的思考框架,但它可能需要个人具备一定的自我认知和反思能力,对于一些缺乏自我探索经验的人来说,可能需要额外的指导和支持。 总体来说,这篇文章提供了一种有价值的人生规划方法,对于那些渴望改变、寻求个性化生活的人来说,是一种有益的参考和指导。
首页实用干货 🌋

1.PHP是世界上最好的web开发语言

PHP是世界上最好的web开发语言,这个无可辩驳,当然去掉web两个字,这毫无意义,网上很多喷子鼓吹的java,.net,python都差的远。

php有如下优点:

  • 简单易学。正是因为如此,才造就了php开发者人群的庞大和良莠不齐,但是我们不能因为阳光和空气获取起来毫不费力就说它不重要吧?这个是人的问题,不是开发语言的问题。
  • 灵活性高,和html、css高度融合。因为php本就是为web开发而生的,其他的语言都是从桌面程序和控制台程序发展起来的。
  • 服务器配置简单。网上一键配置多如过江之鲫,在没有比它更简单的了。
  • 对服务器要求低,和好兄弟mysql搭配,随便一台办公电脑都能跑的很溜。要是你用java+oracle,得专门买台服务器,你想用办公电脑当服务器,不用一百人访问就卡死你。我以前接手过一个公司的oa,同样功能用php做出来,万八个人访问起来毫无压力。

php的缺点:

  • 缺乏并发和事务处理机制。对于超大型的网站,数千万级访问来说,如果是新闻网站还好,可以采用生成html方式,基本毫无压力,但是对于一些纯纯动态的如oa(千万级访问的oa系统恕我孤陋寡闻,没见过)和复杂的事务流程来说,效率并不高,所以某宝的一些秒杀活动、12306订票、银行atm取款机等都用java或python,因为他们重要的不是浏览内容,而是事务处理,而且通常是多台服务器分布式并发执行。
  • 只支持web开发,不方便做 .exe文件。这个其实也不算缺点,人家本来就不是干这个事的,就像你拿着大刀长矛去厨房切菜非得说不如菜刀好用,让一个程序员去炒菜说不如新东方学徒,你非得这样,谁也没办法。
  • 语法不太严谨。变量不用定义就能用,这个我觉得很方便,另外php有严格模式,启用后变量必须声明才能用,你愿意你可以设置。另外说起这个我就特不习惯Python没有大括号的做法,说是优美,我去,如果要复制黏贴一段代码,光调整格式就费老大的劲,而且代码一长或者把代码拷贝的别的机器,很容易出错。

什么时候使用PHP

项目不大,如何判断这个呢,就看你需要几台服务器运行这个程序,如果有几十、几百台的话那就是大项目了。10台以内php都可以轻松应付。

2. 中型项目减少PHP压力的方法

对于千万级的中型项目,可以采用这些方法减少压力:

  • 数据库单独一台机器,或者几台机器(关键词:主从模式、数据复制、数据同步),记住把数据库放在几个地方比把网站代码放在几个地方要容易。
  • 采用二级域名,把几个功能分别放在几台服务器。你可以把session和公共变量保存在数据库中,保证无缝隙登录整合。

3. 原生开发VS框架

原生开发的优点:

  • 学习成本低
  • 雍余代码少,原本一个几百k搞定的小项目,用thinkphp得10M多
  • 执行效率高,毕竟框架要耗费很多资源
  • 安全性能高(如果你是高手),框架有时候存在漏洞,会让你的程序天然带入漏洞。
  • 程序配置开发灵活,不用遵从框架的路由规则

框架开发的优点:

  • 开发效率高,代码量少(这里指的是你自己写的代码)
  • 集成功能多,调用比较简单
  • 安全性能高(如果你是新手),毕竟写框架的人水平比你高,想的比你周到。
  • 代码打包后较大,因为包含了框架的代码,特别对于外包,你收了人家三万块,给你300k代码,人家总感觉不合算,用了框架,再加上一些图片,起码30M,当然你无耻点可以搞个几百M。这里你要说原生开发不会搞图片吗,可是人家一看php文件没多少,每个人文件打开才几十行代码,人家傻吗?

个人总结,对于业务逻辑不是很复杂,能用框架的还是用框架吧,确是省事很多。如果你很多功能用框架不好完成,那就用原生,没必要纠结太多。

4. 常见的php框架

4.1 Thinkphp(国产)

这是我目前使用最多的框架,也是国内使用人数最多的框架,日常开发中的大多数功能基本都包含了,如果没有的可以找一下扩展插件,强烈推荐。

4.2 CodeIgniter

怎么说呢,CodeIgniter3.0我用着挺好的,使用频率超过Thinkphp,结果到了4.0,好像完全变了一个软件,易用性大大降低。而且这个框架更新比较慢。对于使用php7以下的(不含)建议使用CodeIgniter3.0,php7以上的还是用Thinkphp吧。

4.3 Laravel

传说中Laravel是一个简单优雅的PHPWeb开发框架,可惜本人不怎么优雅,感受不到,反而是被那些繁琐的配置搞的好乱。其优点是大量的第三方开源库,可以快速方便的实现模块功能,安全机制非常齐全,提交表单的数据验证(验证有差不多80种,能想到的基本都有),提交数据时产生随机_token验证,避免非法提交,能避免跨域攻击;继承了登录验证、权限验证的,这个的确很方便,有兴趣的朋友可以研究一下。

4.4 Yii

Yii采用严格的OOP编写,这个是它的主要特点,奈何我这个人不太喜欢严格,Yii的组件非常多,学习成本也有点高,据说适合用于开发大型Web应用。

4.5 Yaf

Yaf,全称YetAnotherFramework,是一个C语言编写的PHP框架,是一个以PHP扩展形式提供的PHP开发框架,相比于一般的PHP框架,它更快,更轻便,据说性能很高,不过我做的小项目,感受不出来,这个框架学习起来难度有点大,使用人数也不多,但是用它的几乎都是大公司,新浪好像就用它,百度以前也用过。做小项目就不要去了解了。想要进大厂的可以研究一下。

4.6 Cakephp

z这个和thinkphp很类似,据说think开始的时候就是参考的它,既然如此,我们还是用think吧,毕竟国产的,大家看得懂,遇到问题也容易找人请教。

4.7 Zend

ZendFramework(简写ZF)是开源的,主要用于Web应用程序的开发和服务,ZF采用MVC(Model–View-Controller)架构模式来分离应用程序中不同的部分方便程序的开发和维护。框架包很大,功能很多,学习起来成本有点大,性能并不是很突出,国内用的也很少,我没怎么研究过。

好了,本文就介绍到这里,php框架有不下千种,我这里都是介绍目前比较主流的php框架,对于疏漏的,大家可以留言补充。

上一篇
🏫 详解JS的四种异步解决方案:回调函数、Promise、Generator、async/await
下一篇
💩 如何少写PHP "烂"代码