0%

配置文件

Symfony 应用程序的配置文件存储在 conifg/ 目录,这个目录有默认的结构:

1
2
3
4
5
6
7
your-project/
├─ config/
│ ├─ packages/
│ ├─ bundles.php
│ ├─ routes.yaml
│ └─ services.yaml
├─ ...

routes.yaml 文件定义了 路由配置services.yaml 文件配置了 服务容器 中的服务;bundles.php 文件使你的应用程序中的软件包可用/不可用。

你将主要在 config/packages/ 目录中工作。这个目录存储了应用程序中安装的每个软件包的配置。软件包(在Symfony中也称为“捆绑包”,在其他项目中也称为“插件/模块”)为你的项目添加了现成的功能。

阅读全文 »

无论你是需要从一个控制器渲染 HTML 还是生成一封 email 的内容,模板都是从你的应用中组织并渲染 HTML 的最佳方式。在 Symfony 中模板的创建工作是由 Twig 完成:一个灵活、快速并且安全的模板引擎。

Twig 模板语言

Twig 模板语言允许你撰写简明、高可读性的模板,这种模板对于 web 设计者更友好,在某种程度上,比 PHP 模板更加强大。看一下后面这个 Twig 模板实例。即使你第一次看到 Twig,你也很可能明白它的大部分含义:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<!DOCTYPE html>
<html>
<head>
<title>Welcome to Symfony!</title>
</head>
<body>
<h1>{{ page_title }}</h1>

{% if user.isLoggedIn %}
Hello {{ user.name }}!
{% endif %}

{# ... #}
</body>
</html>
阅读全文 »

一个控制器本质上就是一个PHP方法:从 Request 对象中读取信息,创建并返回一个 Response 对象。响应可以是一个 HTML 页面,JSON,XML,一个文件下载,一个重定向,一个404错误或者其它的东西。控制器用来实现你的应用所需要渲染页面内容的任何逻辑。

如果你还没有创建你的第一个工作页面,可以先看一下我之前写的 Symfony 5 试用,然后再回来继续!

一个简单的控制器

虽然一个控制器可以是任意可以调用的东西(函数,一个对象的方法,或者一个 Closure),一个控制器通常会是存在于一个控制器类中的方法:

阅读全文 »

在任何一个web框架中,路由都是其最基础也是最核心的功能。Symfony 的路由功能十分强大且灵活,我们可以用它非常方便的创建一个美观的路由。今天我就基于 Symfony 的官方文档,完整地讲讲 Symfony 路由功能的使用。

什么是路由

当我们的应用程序接收到一个请求后,就会执行一个控制器方法来创建响应信息。路由功能定义了通过哪一个具体的控制器方法,来响应不同URL的请求。形象的讲,路由就是一个工头,负责把不同的任务,分配给不同岗位的工人完成。配置路由其实就是在配置工头的分配规则。当然,Symfony 允许我们在路由功能基础之上,做一些额外的事情,比如安全校验、路由美化等。

阅读全文 »

本人在公司的PHP项目中,一直都在使用Symfony框架做开发。之所以会选择Symfony这个框架,是因为它作为一个企业级框架,有很多的优点:功能强大而全面,以至于众多PHP项目都在使用Symfony提供的组件;长期而稳定的技术支持,整个项目从2005年到今天已经走过了十几个年头,最终演化到了当前的5.1版本;此外还有丰富全面的文档、开源社区与商业公司的共同支持等等。而它最大缺点恐怕就是因为过于强大而全面的功能设计,导致学习的曲线有些陡峭,新手上手困难。

正好前几天Symfony更新了5.1的release版本[1],修复了大量的bug,感觉已经这个新版本的状态已经比较稳定了。所以今天我就带大家一块来试用一下这个新的版本。

阅读全文 »

在上一篇文章中,简单演示了如何在VMware上安装使用CentOS系统。而在真实的生产环境中,拥有一台安装了Linux操作系统的机器只是一个开始。以前最流行的web架构是LAMP,许多现在大名鼎鼎的互联网公司都是从它开始的。随着时间的推移,轻巧且高性能的Nginx逐渐取代Apache地位,成为服务器部署的首选,LAMP也就演变成了LNMP。下面我们将在安装好的CentOS系统上搭建一套完整的LNMP环境。

阅读全文 »

VMware Workstation是一款功能强大的桌面虚拟计算机软件,现在也已经提供面向个人用户的免费版本。虽然个人版的功能受限,不如商业版功能强大,但是作为个人开发使用还是够用的。这里就基于VMware Workstation,演示一下CentOS 7的安装步骤。

阅读全文 »