1. 简介
Symfony是一个用PHP编写的Web应用程序开发框架,可以用来快速构建高性能的应用程序。Composer是PHP中最常用的依赖关系管理工具,可以帮助我们下载和安装Symfony及其各种依赖项。
2. 安装Composer
要安装Composer,需要在终端中运行以下命令:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
php -r "unlink('composer-setup.php');"
第一行代码会下载Composer安装器,第二行代码会运行安装程序,第三行代码将安装程序从文件系统中删除。
如果以上命令运行成功,您应该可以在终端中键入composer并看到一系列的命令输出。
3. 安装Symfony
使用Composer安装Symfony非常简单,只需在终端中运行以下命令:
composer create-project symfony/website-skeleton my-project
此命令将为您创建一个名为“my-project”的新Symfony项目,并在其中安装Symfony所需的所有依赖项。
4. 配置Symfony
安装完成后,我们需要对Symfony进行一些配置,以确保它是正确的。
4.1 配置数据库
Symfony默认使用Doctrine ORM来管理数据库。但是,在使用Doctrine之前,我们需要先配置数据库连接。
打开config/packages/doctrine.yaml文件,并确保以下行中的内容与您的本地MySQL数据库连接字符串匹配:
doctrine:
dbal:
# configure these for your database server
driver: 'pdo_mysql'
server_version: '5.7'
charset: utf8mb4
url: '%env(resolve:DATABASE_URL)%'
请将上述url行中的“DATABASE_URL”值替换为您的本地MySQL数据库连接字符串。
4.2 启用Web服务器和调试工具
Symfony内置了一个Web服务器,您可以在开发过程中使用它,而无需配置Apache或Nginx等Web服务器。要启动Symfony内置的Web服务器,请在终端中运行以下命令:
cd my-project/
php bin/console server:run
此命令将启动Symfony内置的Web服务器,并显示Web应用程序的URL。您可以在浏览器中打开此URL以查看Web应用程序。
Symfony还内置了一个调试工具栏,可以让您方便地查看代码警告、错误和性能统计信息。要启用调试工具栏,请将以下行添加到config/packages/dev/web_profiler.yaml文件中:
web_profiler:
toolbar: true
5. 创建控制器和路由
控制器是Symfony应用程序中处理HTTP请求的主要位置。要创建一个控制器,请在src/Controller目录中创建一个新文件,然后向其中添加以下代码:
namespace App\Controller;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;
class DefaultController
{
/**
* @Route("/")
*/
public function index()
{
return new Response('Hello, World!');
}
}
此控制器定义一个名为index()的方法,该方法在URL路径“/”上响应HTTP请求,并返回一个包含“Hello, World!”文本的HTTP响应。
要将此控制器映射到URL路径,请打开config/routes.yaml文件,并添加以下行:
index:
path: /
controller: App\Controller\DefaultController::index
此代码将URL路径“/”映射到名为DefaultController及其index()方法的控制器。
6. 执行应用程序
现在您已经准备好执行您的Symfony应用程序了。要运行Symfony内置的Web服务器,请运行以下命令:
php bin/console server:run
然后,在浏览器中打开http://localhost:8000/以查看您的程序。
7. 结论
在本文中,我们学习了如何使用Composer安装和配置Symfony。我们创建了一个简单的控制器和路由,并使用Symfony内置的Web服务器执行了我们的应用程序。这只是Symfony的入门指南,Symfony还有很多强大的功能和工具可供探索。