Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么时候在PHP或其他语言中使用框架?_Php_Zend Framework_Frameworks_Symfony1 - Fatal编程技术网

什么时候在PHP或其他语言中使用框架?

什么时候在PHP或其他语言中使用框架?,php,zend-framework,frameworks,symfony1,Php,Zend Framework,Frameworks,Symfony1,什么时候我们有必要在PHP中使用这些框架。我听说过zend framework和symfony。我读过关于它们的文章,但仍然不明白我们在软件开发中使用框架的确切原因。框架通常为您提供您必须使用的锅炉板代码,例如:会话管理、模板、数据库访问等 就正确的软件工程而言,使用这些框架有助于促进模式的正确设计,例如通过使用此模式,可以提高代码的可重用性等 通过利用这些框架提供的数据库访问,您可以编写高效的模型,在提高代码重用性的同时与数据库交互。在数据库中考虑的另一件事是安全性,例如SQL注入。现在,大多

什么时候我们有必要在PHP中使用这些框架。我听说过zend framework和symfony。我读过关于它们的文章,但仍然不明白我们在软件开发中使用框架的确切原因。

框架通常为您提供您必须使用的锅炉板代码,例如:会话管理、模板、数据库访问等

就正确的软件工程而言,使用这些框架有助于促进模式的正确设计,例如通过使用此模式,可以提高代码的可重用性等

通过利用这些框架提供的数据库访问,您可以编写高效的模型,在提高代码重用性的同时与数据库交互。在数据库中考虑的另一件事是安全性,例如SQL注入。现在,大多数框架都会自动保护您免受此类攻击。如果您要编写自己的代码(没有框架),那么最终可能会留下某种查询供sql注入使用

对于控制器,这些框架倾向于提供某种URL映射。例如,
domain.com/posts/edit/5
。然后,框架将解析这个url,并调用控制器“posts”,方法“edit”,然后传入ID5。正如您所看到的,如果您不使用框架,那么您必须自己编写所有这些代码,这将增加编码时间和出错的机会

对于视图,通常情况下,模板系统可以帮助减少您编写的html、css、javascript等的数量。不仅如此,它们还为您的视图提供了结构。换句话说,它们帮助您将视图放在具有逻辑意义的目录/位置中(在可重用性、易用性等方面)

摘要:

由于所有这些特性,您可以看到,这不仅可以减少系统中的错误/bug数量,还可以减少开发时间

当然,每件事都有缺点,这也不例外。主要问题是学习这些新框架的学习曲线。通常情况下,框架提供的功能太多,您必须学习所有这些新功能才能启动并运行

一些流行的PHP框架:

入门指南:

就以前从未使用过框架和想要开始使用而言,我强烈建议。学习曲线没有其他曲线那么高,但是提供了足够的锅炉板代码和功能,应该可以让您启动并运行

如果您想做自己的研究(您应该这么做!),这里有一个比较表,列出了所有流行的PHP框架:


框架通常用于加速项目的开发。想象一下,有一堆额外的新功能来帮助您进行登录、页面生成、数据库管理等工作。。在基本php函数之上基本上,框架是为了节省时间,并在每次创建新网站时停止重复工作。

我曾经构建过一些网站和web应用程序

主要的优点是,您可以在一个一致的界面和一个包中获得许多预构建的组件,如数据库抽象、会话管理、电子邮件发送工具等,因此您不必花时间寻找这些可能或可能无法很好地协同工作的组件

每个框架都有不同的感觉、学习曲线和局限性,您需要尝试一下并对其有感觉

许多年前,我使用Macromedia的Dreamweaver和第三方扩展来构建我的web应用程序。从那时起,Dreamweaver归Adobe所有,第三方扩展已退出市场,因此我有没有支持的遗留代码。对我来说,被市场力量搞得一团糟让我有动力去寻找一个“桌面独立”的框架

总结:作为一名web开发人员,框架的主要好处是易用性、可重用组件和更好地控制过时率。

另一点没有提出(我认为)是,不管框架如何,但假设框架做得好,成熟和有一个社区是,它有一个强加给开发人员的结构,无论是MVC还是REST,未来的开发人员在扩展或维护代码库时都可以很快掌握这个结构


因此,类、对象和结构的命名约定、文件和目录的结构、第三方代码的位置、模板系统、本地化/国际化等都是经过精心设计(且成熟)的框架将通过第三方或社区维护的文档得到很好的定义和访问。

因此,我调用为类创建一个对象,然后在代码中获得所有必需的功能。很抱歉,我没有完全理解你的观点。我还在写,别担心:)学习symfony或zend framework有多难。我正在用PHP做一个NSF基于web的项目。今年春天我有一些可交付成果。我实际上是从头开始为数据库管理等会话编写代码。我一直在将css开发为模板,然后我认为我应该处理代码,而不是外观,尽管它很重要。你能给我一个关于这些框架的简单例子的链接吗?我如何使用它?包括一些入门链接和建议。每个框架的限制是什么。是否所有框架都尽可能广泛地工作?请参阅、等。