php-bug-catcher / skeleton
Project template for starting your new project based on the Bug Catcher
Installs: 3
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Type:project
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
Catch every bug in all your PHP applications in one place
Installation
By composer
composer create-project php-bug-catcher/skeleton your-project-name
Manual
Create blank symfony project
composer create-project symfony/skeleton:"7.1.*" bug-catcher
Add depenedencies
composer require php-bug-catcher/bug-catcher
Enable bundle if not already enabled
//config/bundles.php return [ ... BugCatcher\BugCatcherBundle::class => ['all' => true], ... ];
Configuration
setup packages
#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'
Security
follow the instructions in the Symfony docs Modify these:
#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' ]
Routes
#config/routes/bug_catcher.yaml _bug_catcher: resource: "@BugCatcherBundle/config/routes.php" prefix: /
Download icons
php bin/console ux:icons:import pajamas:hamburger covid:virus-lab-research-magnifier-1 clarity:archive-line game-icons:magic-broom