php-bug-catcher / skeleton
基于Bug Catcher启动新项目的项目模板
1.0.1
2024-09-02 19:57 UTC
Requires
- php: >=8.3
- ext-ctype: *
- ext-iconv: *
- doctrine/dbal: ^3
- doctrine/doctrine-bundle: ^2.13
- doctrine/doctrine-migrations-bundle: ^3.3
- doctrine/orm: ^3.2
- php-bug-catcher/bug-catcher: ^1.0
- phpdocumentor/reflection-docblock: ^5.4
- phpstan/phpdoc-parser: ^1.30
- symfony/asset: 7.1.*
- symfony/console: 7.1.*
- symfony/dotenv: 7.1.*
- symfony/expression-language: 7.1.*
- symfony/flex: ^2
- symfony/form: 7.1.*
- symfony/framework-bundle: 7.1.*
- symfony/http-client: 7.1.*
- symfony/intl: 7.1.*
- symfony/mailer: 7.1.*
- symfony/mime: 7.1.*
- symfony/monolog-bundle: ^3.0
- symfony/notifier: 7.1.*
- symfony/process: 7.1.*
- symfony/property-access: 7.1.*
- symfony/property-info: 7.1.*
- symfony/runtime: 7.1.*
- symfony/security-bundle: 7.1.*
- symfony/serializer: 7.1.*
- symfony/stimulus-bundle: ^2.19
- symfony/string: 7.1.*
- symfony/translation: 7.1.*
- symfony/twig-bundle: 7.1.*
- symfony/ux-turbo: ^2.19
- symfony/validator: 7.1.*
- symfony/web-link: 7.1.*
- symfony/yaml: 7.1.*
- twig/extra-bundle: ^2.12|^3.0
- twig/twig: ^2.12|^3.0
Requires (Dev)
- phpunit/phpunit: ^9.5
- symfony/browser-kit: 7.1.*
- symfony/css-selector: 7.1.*
- symfony/debug-bundle: 7.1.*
- symfony/maker-bundle: ^1.0
- symfony/phpunit-bridge: ^7.1
- symfony/stopwatch: 7.1.*
- symfony/web-profiler-bundle: 7.1.*
Conflicts
README
在同一个地方捕捉所有PHP应用程序中的每个错误
安装
通过composer
composer create-project php-bug-catcher/skeleton your-project-name
手动
创建空的symfony项目
composer create-project symfony/skeleton:"7.1.*" bug-catcher
添加依赖
composer require php-bug-catcher/bug-catcher
如果尚未启用,请启用bundle
//config/bundles.php return [ ... BugCatcher\BugCatcherBundle::class => ['all' => true], ... ];
配置
设置包
#config/packages/twig.yaml twig: #... form_themes: [ '@EasyAdmin/symfony-form-themes/bootstrap_5_layout.html.twig' ] globals: logo: '%logo%' app_name: '%env(APP_NAME)%'
#config/packages/twig_component.yaml twig_component: #... defaults: #... BugCatcher\Twig\Components\: '@BugCatcher/components/'
#config/packages/webpack_encore.yaml webpack_encore: #... builds: bug_catcher: '%kernel.project_dir%/public/bundles/bugcatcher/' framework: #... assets: packages: app: json_manifest_path: '%kernel.project_dir%/public/build/manifest.json' bug_catcher: json_manifest_path: '%kernel.project_dir%/public/bundles/bugcatcher/manifest.json'
安全性
遵循Symfony文档中的说明,修改这些
#config/packages/security.yaml security: #... providers: app_user_provider: entity: class: BugCatcher\Entity\User property: email firewalls: #... api: pattern: ^/api/ stateless: true main: #... provider: app_user_provider form_login: login_path: bug_catcher.security.login check_path: bug_catcher.security.login enable_csrf: true logout: path: bug_catcher.security.logout access_control: - { path: ^/login$, role: PUBLIC_ACCESS } - { path: ^/api, roles: PUBLIC_ACCESS } - { path: ^/admin, roles: ROLE_ADMIN } - { path: ^/detail, roles: ROLE_DEVELOPER } - { path: ^/_components/LogList/clearAll, roles: ROLE_DEVELOPER } - { path: ^/_components/LogList/clearOne, roles: ROLE_DEVELOPER } - { path: ^/, roles: ROLE_CUSTOMER } role_hierarchy: ROLE_ADMIN: ROLE_DEVELOPER ROLE_DEVELOPER: ROLE_CUSTOMER ROLE_CUSTOMER: ROLE_USER
#config/packages/doctrine.yaml doctrine: orm: #... dql: string_functions: TYPE: BugCatcher\Extension\DQL\TypeFunction
#config/packages/api_platform.yaml api_platform: #... formats: #... json: [ 'application/json' ]
路由
#config/routes/bug_catcher.yaml _bug_catcher: resource: "@BugCatcherBundle/config/routes.php" prefix: /
下载图标
php bin/console ux:icons:import pajamas:hamburger covid:virus-lab-research-magnifier-1 clarity:archive-line game-icons:magic-broom

