介绍

编辑该页面

警告:你浏览的文档欧宝体育电话欧宝娱乐app下载地址Symfony 3.2,不再维护。

这个页面的更新版本Symf欧宝娱乐app下载地址ony 6.2(当前的稳定版本)。

介绍

欧宝娱乐app下载地址是一组可重用的独立的,解耦和凝聚力的PHP组件,解决常见的web开发的问题。

而不是使用这些低级的组件,您可以使用准备使用Symfony完整web框架,基于这些组件…欧宝娱乐app下载地址或者你可以创建你自己的框架。本教程采用的是后者。

为什么你想创建自己的框架?

为什么你想创建自己的框架呢?如果你看看周围,每个人都会告诉你,这是一个坏事重新发明轮子,你最好选择一个已有的框架和创建自己的全部忘掉。大多数时候,他们是正确的,但有一些很好的理由开始创建自己的框架:

  • 更多地了解现代web框架的低水平结构、特别是Symfony完整框架的内部;欧宝娱乐app下载地址
  • 创建一个框架根据你具体需求(先确定你需要非常具体);
  • 尝试创建一个有趣的框架(learn-and-throw-away方法);
  • 重构一个老/现有的应用程序,需要一个良好的剂量的最近的web开发最佳实践;
  • 证明你可以自己创建一个框架(…但是很少的努力)。

本教程将引导您创建一个web框架,一步一个脚印。在每个步骤中,您将有一个有效的框架,您可以使用,或为你自己的一个开始。它将从一个简单的框架,开始随着时间的推移,更多的功能将被添加。最终,你将会有一个有很多特色的完整web框架。

当然,每一步将这个机会了解更多关于一些Symfony的组件。欧宝娱乐app下载地址

提示

如果你没有时间读了整本书,或者如果你想快速开始,你也可以看一看Silex基于Symfony, micro-framework组件。欧宝娱乐app下载地址代码相当苗条,它利用Symfony组件的许多方面。欧宝娱乐app下载地址

许多现代web框架通知自己的MVC框架。本教程不讨论MVC模式,因为Symfony组件能够创建任何类型的框架,不仅那些遵循MVC架构。欧宝娱乐app下载地址无论如何,如果你看一下MVC语义,这本书是关于如何创建控制器框架的一部分。模型和视图,它取决于你的个人品味和您可以使用任何现有的第三方库(原则、推动或比较PDO的模型;PHP或树枝视图)。

当创建一个框架,遵循MVC模式不是正确的目标。的主要目标应该是关注点分离;这可能是唯一的设计模式,你应该真正关心的。Symfony组件的基本原则专注于HTTP规范。欧宝娱乐app下载地址因此,你要创建的框架应该更准确地贴上一个HTTP框架或请求/响应框架。

在开始之前

阅读有关如何创建一个框架是不够的。你必须跟随实际上本教程中的例子包括所有类型。,你需要一个最新版本的PHP(5.5.9或后来就足够了),一个web服务器(Apache、NGinx或PHP的内置的web服务器),一个好的知识的PHP和面向对象编程的理解。

准备好了吗?继续读下去!

引导

之前,你甚至可以创建第一个框架,您需要考虑一些约定:你将存储代码,你将如何的类名称,你将如何引用外部依赖,等等。

来存储你的新框架,创建一个目录在您的机器:

1 2
美元mkdir框架美元cd框架

依赖关系管理

安装Symfony组件,您需要欧宝娱乐app下载地址为您的框架,您将使用作曲家PHP项目依赖关系经理。如果你没有,下载并安装作曲家现在。

我们的项目

而不是从头开始创建我们的框架,我们要写同样的“应用程序”一遍又一遍,每次添加一个抽象。让我们先从最简单的PHP web应用程序,我们可以认为:

1 2 3 4
/ /框架/ index . php美元输入=美元_GET(“名字”];printf (“你好% s”,美元输入);

您可以使用PHP内置服务器来测试这个伟大的应用程序在浏览器(http://localhost: 4321 / index . php ?名字=法比安):

1
美元php - s 127.0.0.1:4321

否则,你可以使用你自己的服务器(Apache、Nginx等)。

下一章,我们将介绍HttpFoundation组件,看看它带给我们什么。

这项工作,包括代码示例,许可下Creative Commons冲锋队3.0许可证。