如何选择适合的编程框架:考虑团队成员、市场情况及项目需求

大型项目呢?无需框架。电影都是你们自己手写的吗?

如何选择适合的编程框架:考虑团队成员、市场情况及项目需求

仍然没有使用php。用其他语言做吗?

犹豫了一会儿,我决定回答这个问题。这是我在面试时经常问的问题,因为每个框架、每个项目都是不同的。选择框架是一个经验、思考和判断的问题。

项目规模只是决策的依据,甚至不是非常重要的依据。说一下我认为选择框架时需要注意的地方。

团队成员情况&未来团队成员情况&当地就业市场情况

首先,如果现在和将来你是团队中唯一的人(比如你自己的玩具项目),那么就选择你最想使用的那个。但只要不是这样,你最好了解市场上的各种常见框架,然后忘记你的个人喜好。

了解你的团队成员的现状,考虑你的团队未来的发展速度,未来可能加入的团队成员的情况,以及你所在地区的就业市场情况。例如,Laravel 可能是一个不错的选择,但如果你在二三线城市,你的团队必须快速发展并招募大量人员,那么选择 Laravel 可能很快会让你陷入“作曲家和开发者”的困境。现代PHP技能培训课程》。传教是一项伟大的职业,但这不是你的职业

项目生命周期及未来演进方向

我认为这是比项目规模更重要的因素之一。有些项目作为你公司的主营业务,需要长期维护、不断迭代。其他项目可能是副项目或过渡项目,完成后可能没有任何后续需求。最后,还有一些外包/准外包项目。交付后,没有需求/后续需求,可以作为另一个项目使用。

不管项目有多大,不管有多少需求,如果是第三种,不需要考虑未来的演进,那么就可以牺牲框架的可扩展性(换取开发速度或者其他好处) ),例如可以考虑WordPress修改等选项。不管项目多小,如果是你公司的主营业务,并且不断迭代,那么不管工作量多小,框架的可扩展性都要慎重考虑。

那么,框架的可扩展性如何呢? CI 是一个非常可扩展的框架吗? ZendFramework1/2 是一个非常可扩展的框架吗?

答案是看未来的演进方向。有些项目未来的压力在于访问流量大,有些项目的压力在于数据量大、检索频繁,有些项目的压力在于需求迭代快、变更频繁、周期短。项目面临的问题越常见,预设各种解决方案的框架就越多,也许能够减少重新发明轮子的需要。相反,项目面临的问题越极端,那么轻量级框架可能更适合你的团队自行研究解决。该方案被嫁接到框架中。另外,项目维护时间越长,预测变化就越困难,采用预设各种解决方案的框架的风险就越大(那些预设的解决方案能够准确解决你每个问题的概率变得越来越小) ) )

框架本身的基本素质

性能和基准。除了 phalcon 和 Yaf 这两个 C 实现的框架之外,请考虑其他框架也同样快。另外,除非你托管的是类似新浪微博替代PHP框架的东西,或者除非你管理的项目web机器超过100台,否则请忽略PHP框架的性能因素。

PSR 和作曲家的亲和力。这是一把双刃剑。我已经讨论过如何看待这个特质。

安全。有些框架甚至有自己的安全漏洞。另外,如果框架层面提供了一些安全性的东西,建议简单阅读代码。有时自己写可能会更好。

功能性。也就是前面提到的预设解的数量和质量。

模块化程度。框架内的各个部分是否可以定制,定制的成本有多高。

业务代码量很难找到对应的词(?)。简而言之,除了前两个功能(功能性和模块化)之外,还存在第三个功能,并且不可能实现三者兼得。一个功能众多、模块化程度高、可以随意定制和替换的框架,往往需要编写大量的普通业务代码。能够用一句话描述大量功能的框架往往模块化程度不高,并且不易定制。模块化程度高、业务代码不显眼的框架往往没有丰富的预设功能。

周围的生态和活动水平以及兼容性。活跃的框架有成长和改进的空间,但过于活跃有时会导致应用程序不兼容。另一个指标是周围的生态。有没有人基于这个框架开发一些外围模块/插件?

最后,如果一定要用“大”“小”这样粗俗的词来形容框架和项目,我的建议是大项目用小框架,小项目用大框架。如果你明白我之前说的话,你就应该明白我为什么这么说。

对于小型项目使用一些流行的框架。

对于大型项目,您将编写自己的框架。而且我在写的时候也会参考一些成熟的框架,去掉一些没用的功能或者优化一下。

而且如果想学习的话,建议先看thinkphp,然后是laravel,最后是Phalcon。

小论坛PunBB和大论坛Discuz!都是不使用框架的PHP程序。可见框架对于项目来说并不是必须的。

PHP 本身是一个Web 框架。你可以自己将界面和逻辑分离,实现MVC,例如:

前台:

/post.php?id=1024                        //页面控制器(处理输入,调用模型,整合数据,输出视图)
    /include/common.php                  //执行一些公共操作,加载公共库(承上启下).
        /config.php                      //全局配置
        /include/functions.php           //系统函数(模型,SQL增删改查,预处理参数化查询防止SQL注入)
        /themes/default/functions.php    //主题自定义函数
    /include/database.php                //按需连接数据库
    /themes/default/post.php             //视图(htmlspecialchars/HTMLPurifier防止XSS)
        /themes/default/header.php       //公共头部(common.js)
        /themes/default/footer.php       //公共尾部

登录后复制

后台:

/admin/post.php                                //页面控制器(处理输入,调用模型,整合数据,输出视图)
    /include/common_admin.php                  //执行一些公共操作,加载公共库(承上启下).
        /config.php                            //全局配置
        /include/functions.php                 //系统函数(模型,SQL增删改查,预处理参数化查询防止SQL注入)
        /admin/themes/default/functions.php    //后台主题自定义函数
    /include/database.php                      //按需连接数据库
    /admin/themes/default/post.php             //视图(htmlspecialchars/HTMLPurifier防止XSS)
        /admin/themes/default/header.php       //公共头部(common.js)
        /admin/themes/default/footer.php       //公共尾部

登录后复制

项目越大,就越需要一个框架来统一思想和规范。不然的话,如果开发者太多了,各忙各的,我们还怎么玩得开心呢?这只是您选择自己开发框架还是选择使用现有源框架的问题。

中大号完全没有压力,但超大号就不适合了。应该说适合中大型应用开发。

不知道你眼中的百度贴吧是不是一个大工程。在迁移到 hhvm 之前,它始终使用 PHP。

不是必须要用,是必须要用。但大公司的框架不一定是那些外面众所周知的框架。比如百度就是基于Yaf进行扩展的。

这取决于具体情况。 PHP确实更适合中小型项目,因为PHP的开发周期短,效率相对较高。但大公司也会采用

使用PHP,例如新浪微博。他有能力改进PHP。有人有能力编写PHP高可用扩展,可以最大限度地发挥PHP的性能。

一致,并且借助Nosql,高并发完全可以被MySQL覆盖。现在微博的Redis集群非常庞大,有很多

操作根本无法进入数据库操作层面,在Re/mc中解决了,所以PHP用于什么样的项目还是要看团队和驱动。

能够控制PHP。

大型项目也使用PHP。一个框架如果敢称为企业级开发框架,一般都可以开发大型项目。当然,大型项目要看你的项目有多大。

大中小型项目都可以使用框架!如果可能的话,建议尽可能使用框架。

既然别人已经写了这么多框架,就不要重新发明轮子,而是学习如何使用它。

去学习一些重量级框架,比如Symfony、Yii、Phalcon、Laravel等。

这些框架被用于许多大型项目中。当然,如果你以后参与中型或大型项目,你很可能会接触到它们。

如果你现在学习并使用它们,它将为你的未来铺平道路!

重量级的框架涉及的东西很多,对于深入学习PHP也有帮助。

什么是大项目,什么是小项目?一般来说,所谓的大项目被分解为几个小项目。这些“小项目”会有自己的语言和框架来实现。

不管项目有多大,基本的性能瓶颈都不在PHP,除非你故意写得不好,即使那样PHP也极快。

瓶颈主要在数据库。

你可能想看:
« 上一篇
下一篇 »

相关推荐

php实时推送,php实地培训

2026年10月05日

52阅读

php乱码出现问号的原因,php乱码出现问号的原因有哪些

2026年10月05日

44阅读

php一句话木马,一句话木马ctf

2026年10月05日

47阅读

php获取数组长度,php中如何获取数组的长度

2026年10月05日

49阅读

php面试题库及答案,php程序员面试真题库

2026年10月05日

47阅读

phpcontent-type修改,php源码二次修改需要多少钱

2026年10月05日

42阅读