Symfony Development Guide

Symfony 开发指引

Symfony 命令行

# macOS
brew install symfony-cli/tap/symfony-cli

# Ubuntu
curl -1sLf 'https://dl.cloudsmith.io/public/symfony/stable/setup.deb.sh' | sudo -E bash

# Symfony 可以运行的命令
symfony list

# 检查 PHP 依赖
symfony check:req
# 新建应用
symfony new --webapp WEBAPP --version="6.*"
symfony new MICROSERVICE --version="6.*"
composer require symfony/webpack-encore-bundle

启动/停止

命令 作用
symfony serve 启动 PHP 服务 Symfony 应用
symfony serve -d
symfony serve:stop
symfony server:log 检查日志

开发

以下收藏链接在浏览器中关于当前站点开闭 Xdebug: 

// 开启 Xdebug
javascript:(/** @version 0.5.2 */function() {document.cookie='XDEBUG_SESSION='+'PHPSTORM'+';path=/;';})()

// 结束 Xdebug
javascript:(/** @version 0.5.2 */function() {document.cookie='XDEBUG_SESSION='+''+';expires=Mon, 05 Jul 2000 00:00:00 GMT;path=/;';})()

// 仅 Xdebug 当前页面
javascript:(/** @version 0.5.2 */function() {document.cookie='XDEBUG_SESSION='+'PHPSTORM'+';path=/;';document.location.reload();setTimeout(function() {document.cookie='XDEBUG_SESSION='+''+';expires=Mon, 05 Jul 2000 00:00:00 GMT;path=/;';}, 100);})()
命令 作用
symfony console --version 显示当前 Symfony 项目版本
composer recipes 显示所有 recipes
composer require encore; yarn install CSS/JS 自动编译设置
composer require maker --dev 添加代码生成支持
symfony console config:dump framework cache 查看 cache 可配置项
symfony console debug:autowiring 查询自绑定 Services
symfony console debug:container Service 初始化相关
命令 作用
symfony console make:controller 创建 URI 控制器
symfony console debug:route 查询可访问 URI

JS/CSS

命令 作用
yarn encore dev --watch 自动打包 JS/CSS
yarn encore dev-server 自动打包 JS/CSS 到内存

数据库

# 根据 Entity 刷新表结构
symfony console doctrine:schema:update --force
# 根据表生成 Entity
symfony console doctrine:mapping:import "App\Entity" annotation --path=src/Entity

# 生成 Get Set
symfony console make:entity --regenerate App

# 生成 CRUD
symfony console make:crud

EasyAdmin

安装及配置

# 安装
composer require easycorp/easyadmin-bundle
symfony console assets:install  # 安装相关资源

# 初始化 EasyAdmin 首页
symfony console make:admin:dashboard

symfony console make:admin:crud

用户与权限 

# 生成 User Entity,需要手动刷入数据库
symfony console make:user

symfony console make:auth

参考 

文档 简介
CURD Controller

CKEditor

# CKEditor 配置/复制目标文件夹

vendor/friendsofsymfony/ckeditor-bundle/src/Resources/public

Book

官方参考文档“Symfony: The Fast Track”的对应项目,需要非 root 用户执行所有命令。

symfony new --version=6.0-1 --book book-6.0-1

# 回到 book 初始状态
symfony book:checkout 3
Author: njun
njun's picture
Updated: 2022/10/29