如何选择适合的编程框架:考虑团队成员、市场情况及项目需求
大型项目呢?无需框架。电影都是你们自己手写的吗?

仍然没有使用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也极快。
瓶颈主要在数据库。