我已经使用普通的php和php类实现了应用程序,任何人都可以简单地解释MVC架构的确切概念,差异和优势,我已经阅读了很多关于它的文章,但我正在寻找一个简单的答案,请
MVC在php中的重要性是什么?
答案 0 :(得分:5)
MVC模式将应用程序分为3个模块:模型,视图和控制器:
模型负责管理数据;它存储和检索应用程序使用的实体,通常来自数据库,并包含应用程序实现的逻辑。
视图(演示文稿)负责以特定格式显示模型提供的数据。它与一些流行的Web应用程序中存在的模板模块具有类似的用法,如wordpress,joomla,......
控制器处理模型和视图层以协同工作。控制器从客户端接收请求,调用模型以执行所请求的操作并将数据发送到View。视图格式化要呈现给用户的数据,在Web应用程序中作为html输出。
退房:
答案 1 :(得分:3)
在MVC模型中,您的视图和控制器是不同的部分。
因此,您无需更改控制器和模型即可更改视图。
例如:你有你想要在网站上的所有信息,你不能改变设计。您无需在模型代码中进行任何更改,请更改视图aprt。
这与php模板中的想法相同,但适用于三部分。
答案 2 :(得分:3)
- 代码和文件组织
仅仅因为你创建了一个“/ inc”文件夹并制作了“functions.php”文件并不意味着你的代码是有组织的。 在设置PHP Framework时,它已经具有某种文件夹结构。您希望遵循相同的标准,并以一定的方式保持所有组织。 一旦你习惯了这个模型,你永远不会想要回去。 不幸的是,对于仍然使用vi的一些命令行冠军来说,这可能是一个挑战。您将需要处理更多文件,这些文件的大小较小。但是,当您使用一个不错的现代代码编辑器或IDE时,快速浏览应用程序代码并快速找到所需内容将是轻而易举的。
- 公用事业和图书馆
PHP是一种用于Web开发的优秀语言,并提供了无数的工具和库。 但是,如果您尝试仅使用PHP构建整个网站,您会发现自己要么搜索大量第三方代码和库,要么自己编写。 所有顶级PHP框架都附带了某些Libraries和Helpers,它们可以帮助您: 表格验证 输入/输出过滤 数据库抽象 会话和Cookie处理 电子邮件,日历,分页等...... 名单还在继续。更不用说,社区提供了大量可以添加到框架中的插件。
- 安全
在PHP中,您已经可以找到许多输入和输出过滤功能,以保护您的网站免受某些攻击。 但是,手动使用这些功能可能会让人感到疲倦,您可能偶尔会忘记它们。 使用框架,大部分工作都可以自动完成。例如在CodeIgniter中:
- 代码&加快发展
所有PHP框架当然都有学习曲线。但是一旦你克服了这个困境,你将享受到快速应用程序开发带来的好处。
您将编写更少的代码,这意味着更少的时间用于输入。您不必每次都为每个新项目追逐第三方库,因为大多数库都将使用默认的框架安装。
此外,由于您的组织性更强,因此可以更快地追赶错误,维护代码并对现有代码进行更改。
- 绩效工具
来自反对者的一个主要论点来自于这个主题。使用框架与普通PHP代码构建“Hello World”应用程序时,显然会出现性能损失。
但这些基准测试只是不好的例子。首先,您应该了解开发人员比服务器更昂贵。从开发和维护中节省时间可能超过您在服务器上花费的额外资金。
将所有这些放在一边,您可以通过使用PHP框架实际获得性能优势。它们带有帮助您进行缓存,基准测试,分析等工具......
现代框架在动态加载方面也很出色,因为它们只在需要时加载代码。不同的页面请求可以根据需要使用的内容加载不同数量的库代码。
- 适合团队合作
在PHP框架中组织项目的方式也可以帮助您为团队合作创建合适的环境。
你可以让你的设计师在视图上工作,数据库大师在模型上工作,让智能程序员(你自己;))构建可重用的库和插件等......
此外,您可以让某人构建单元测试,因为他们也提供了相应的工具。
这很有趣!