基于Bug Catcher启动新项目的项目模板

1.0.1 2024-09-02 19:57 UTC

This package is auto-updated.

Last update: 2024-09-10 05:25:10 UTC


README

Tests

在同一个地方捕捉所有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