phil / websymfony
用于初始化使用 Symfony 7.0 的 Web 应用的模板
7.0.1
2024-02-29 02:42 UTC
Requires
- php: >=8.3
- ext-ctype: *
- ext-dom: *
- ext-iconv: *
- ext-libxml: *
- ext-simplexml: *
- ext-xml: *
- doctrine/doctrine-bundle: ^2.11
- doctrine/doctrine-migrations-bundle: ^3.3
- doctrine/orm: ^2.18|^3.0
- easycorp/easyadmin-bundle: ^4.9
- knplabs/knp-menu-bundle: ^3.3
- league/commonmark: ^2.4
- nelmio/cors-bundle: ^2.4
- nelmio/security-bundle: ^3.1
- stof/doctrine-extensions-bundle: ^1.11
- symfony/asset: 7.0.*
- symfony/asset-mapper: 7.0.*
- symfony/console: 7.0.*
- symfony/dotenv: 7.0.*
- symfony/flex: ^2.4
- symfony/form: 7.0.*
- symfony/framework-bundle: 7.0.*
- symfony/intl: 7.0.*
- symfony/monolog-bundle: ^3.10
- symfony/runtime: 7.0.*
- symfony/security-bundle: 7.0.*
- symfony/stimulus-bundle: ^2.15
- symfony/translation: 7.0.*
- symfony/twig-bundle: 7.0.*
- symfony/ux-twig-component: ^2.15
- symfony/validator: 7.0.*
- symfony/web-link: 7.0.*
- symfony/yaml: 7.0.*
- symfonycasts/tailwind-bundle: ^0.5
- tales-from-a-dev/flowbite-bundle: ^0.4.0
- twig/extra-bundle: ^3.8
- twig/html-extra: ^3.8
- twig/intl-extra: ^3.8
- twig/markdown-extra: ^3.8
- twig/string-extra: ^3.8
- twig/twig: ^3.8
Requires (Dev)
- bamarni/composer-bin-plugin: ^1.8
- doctrine/doctrine-fixtures-bundle: ^3.5
- phpstan/extension-installer: ^1.3
- phpstan/phpdoc-parser: ^1.26
- phpstan/phpstan: ^1.10
- phpstan/phpstan-deprecation-rules: ^1.1
- phpstan/phpstan-doctrine: ^1.3
- phpstan/phpstan-strict-rules: ^1.5
- phpstan/phpstan-symfony: ^1.3
- phpunit/phpunit: ^11.0
- rector/rector: ^1.0
- roave/security-advisories: dev-latest
- symfony/browser-kit: 7.0.*
- symfony/css-selector: 7.0.*
- symfony/debug-bundle: 7.0.*
- symfony/maker-bundle: ^1.55
- symfony/panther: ^2.1
- symfony/requirements-checker: ^2.0
- symfony/stopwatch: 7.0.*
- symfony/var-dumper: 7.0.*
- symfony/web-profiler-bundle: 7.0.*
Conflicts
README
“Proclaim Honestly, Interact Liberally” WebSymfony 是一个增强版的 Symfony 7.0 应用骨架,可直接使用。
WebSymfony 的目的是提供一个带有一些合理默认值的沙盒环境,并可直接使用。如果您想要快速搭建一些东西,创建一个 POC,测试一些内容,甚至制作一个简单的“单页”应用,它都可以作为一个解决方案。
它基于 strangebuzz/MicroSymfony,并加入了我们在所有项目中通常添加的调整。我们还移除了许多示例。
演示 🌈
因为一个实时演示总是比所有的解释都要好。这里就是
- 实时演示将在 https://ph-il.ca/demos/websymfony 上提供
要求 ⛮
所有“Proclaim Honestly, Interact Liberally”项目将使用在 1 到 2 个月内可用的最新版本。
可选要求 ⚙
- 如果您想运行代码覆盖率报告,则需要Xdebug PHP 扩展(可选但推荐)
- Castor 0.9.1 任务运行器(可选)
堆栈 🔗
所有“Proclaim Honestly, Interact Liberally”项目将使用在 1 到 2 个月内可用的最新版本。
功能 🚀
WebSymfony 提供以下功能,可直接使用
- 一个任务运行器
- Castor (源代码)
- 使用 PHPStan 进行静态分析
- 使用 php-cs-fixer 进行编码标准检查
- 使用 Rector 进行重构
- 调试工具栏(文档)
- 测试(《组织》)
- 代码覆盖率 100%
- GitHub CI(《操作》)
- 资产映射+Stimulus(《文档》)
- Tailwind CSS
- Symfony Maker(文档)
- 自定义错误模板
- 数据库
- 对象菜单(示例)
- 安全层
- 管理界面
- EasyAdmin(文档)
其他优秀实践 👌
- 在所有PHP文件中使用严格类型(源代码)
- 在动作控制器中使用ADR模式(源代码)(文档)
- composer.json文件使用ergebnis/composer-normalize进行了标准化(源代码)
- 使用composer bin插件安装和运行php-cs-fixer。
使用WebSymfony 🪄初始化应用程序
使用composer初始化
由于应用程序模板已在Packagist上注册(注册),您可以使用以下命令使用composer安装它
$ composer create-project phil/websymfony
它创建了一个包含新项目的websymfony目录。在这种情况下,您必须自己设置Git和仓库。但这是最快的方法来测试它。
请注意,composer install命令下载所有必需的依赖项并构建资源。
从GitHub网站初始化
或使用GitHub模板
从GitHub CLI初始化
$ gh repo create my-project --clone --private --template parler-haut-interagir-librement/WebSymfony
托管应用程序
要使用Symfony二进制文件托管应用程序,请运行
$ symfony server:start --daemon
或使用castor命令
$ castor symfony:start
应用程序现在可在https://127.0.0.1:8000(假设您的8000端口可用)上访问。
参考资料 📚
- 安装和使用php-cs-fixer(strangebuzz.com)
- Castor,穿越任务运行器海洋之旅(jolicode.com)
- 使用坚实基础初始化您的Symfony项目(strangebuzz.com)
- 组织您的Symfony项目测试(strangebuzz.com)
- 你的Symfony最佳实践是什么? (strangebuzz.com)
- 借助GitHub Actions为Symfony项目设置CI/CD工作流程 (strangebuzz.com)
- Symfony框架最佳实践 (symfony.com)
其他“坦诚,自由互动”的骨架 🩻
-
- 任务运行器
- Castor
- 静态分析
- PHPStan
- 编码规范
- php-cs-fixer
- 重构
- Rector
- 调试工具栏
- 测试
- 单元测试
- 集成测试
- 功能测试
- API测试
- E2E测试
- GitHub CI
- 资源映射器
- Stimulus
- Symfony Maker
- 自定义错误模板
- 任务运行器
-
- API Platform
- 任务运行器
- Castor
- 静态分析
- PHPStan
- 编码规范
- php-cs-fixer
- 重构
- Rector
- 测试
- 单元测试
- API测试
- E2E测试
- GitHub CI
- Symfony Maker
-
- WebSymfony +
- CSS框架
- Tailwind CSS
- DaisyUI : 为Tailwind CSS添加语义
- “坦诚,自由互动”捆绑包
- phil-ux - 添加基础Twig组件
- 安装Tailwind CSS和DaisyUI
- 使用DaisyUI语义添加基础Twig组件
- PhilDoctrineExtensionStofBundle - 为StofDoctrineExtensionsBundle添加缺失功能
- PhilDoctrineExtensionPublishBundle - 为Doctrine实体添加发布功能
- phil-ux - 添加基础Twig组件
- 更多。