nhagemann / anycontent-backend
Symfony Bundle,用于将AnyContent Backend添加到任何Symfony项目中
0.1
2023-12-01 15:43 UTC
Requires
- php: >=8.0
- ext-curl: *
- ext-zip: *
- d4h/finediff: ^1.0
- nhagemann/anycontent-client-php: 5.*
- phpoffice/phpspreadsheet: ^1.29
- rector/rector: ^0.17.1
- symfony/config: ^5.4|^6.0
- symfony/console: ^5.4|^6.0
- symfony/event-dispatcher: ^5.4|^6.0
- symfony/framework-bundle: ^5.4|^6.0
- symfony/http-kernel: ^5.4|^6.0
- symfony/routing: ^5.4|^6.0
- symfony/security-bundle: ^5.4|^6.0
- symfony/twig-bundle: ^5.4|^6.0
- symfony/yaml: ^5.4|^6.0
- twig/twig: ^2.13|^3.0.4
Requires (Dev)
- ext-gd: *
- ext-pdo: *
- phpcompatibility/php-compatibility: ^9.3
- phpmd/phpmd: ^2.13
- phpstan/phpstan: ^1.9
- phpunit/phpunit: ^9.5
- rector/rector-phpoffice: ^0.14.0
- slevomat/coding-standard: ^8.7
- squizlabs/php_codesniffer: ^3.7
This package is auto-updated.
Last update: 2024-09-15 09:11:14 UTC
README
确保已全局安装Composer,如Composer文档中的安装章节所述。
步骤 1:通过Composer安装
在composer json中要求该包
composer require nhagemann/anycontent-backend
步骤 2:启用Bundle
然后,通过将其添加到项目config/bundles.php文件中注册的Bundle列表中启用Bundle
// config/bundles.php
return [ // ... AnyContent\Backend\AnyContentBackendBundle::class => ['all' => true], ];
步骤 3:安装资源
如果需要,手动安装资源,另一个composer update应该已经完成了。如果在public文件夹中出现bundles/anycontentbackend文件夹,那么一切就绪。
assets:install public
步骤 4:配置路由
config/routes/anycontent.yaml
anycontent_backend: resource: '@AnyContentBackendBundle/Resources/config/routes.yaml' prefix: /anycontent
之后可能需要清除Symfony缓存。浏览/anycontent以查看安全警告,因为你尚未登录。
步骤 5:配置用户
config/packages/security.yaml
# simple http authentication firewalls: anycontent: pattern: ^/anycontent lazy: true provider: users_in_memory http_basic: realm: Secured Area
# form based login firewalls: anycontent: pattern: ^/anycontent lazy: false provider: users_in_memory form_login: login_path: anycontent_login check_path: anycontent_login logout: path: anycontent_logout target: anycontent_start
# some in memory users providers: users_in_memory: memory: users: # get new password hash via php -r "echo password_hash('****', PASSWORD_BCRYPT, ['cost' => 13]) . PHP_EOL;" yourusername: { password: 'puthashhere', roles: [ 'ROLE_ANYCONTENT' ] }
步骤 6:配置仓库
将any_content_backend:部分添加到您的配置中,这里有一些不同连接类型的示例
any_content_backend: connections: - { name: 'recordsfile1', type: 'recordsfile', cmdl_file: '%kernel.project_dir%/../_repositories/recordsfile1/test1.cmdl', content_file: '%kernel.project_dir%/../_repositories/recordsfile1/test1.json', files_path: '%kernel.project_dir%/../_repositories/_files' } - { name: 'recordsfile1', type: 'recordsfile', cmdl_file: '%kernel.project_dir%/../_repositories/recordsfile1/test2.cmdl', content_file: '%kernel.project_dir%/../_repositories/recordsfile1/test2.json'} - { name: 'recordsfile1', type: 'recordsfile', cmdl_file: '%kernel.project_dir%/../_repositories/recordsfile1/config/test.cmdl', config_file: '%kernel.project_dir%/../_repositories/recordsfile1/config/test.json'} - { name: 'recordfiles1', type: 'recordfiles', cmdl_file: '%kernel.project_dir%/../_repositories/recordfiles1/test.cmdl', content_path: '%kernel.project_dir%/../_repositories/recordfiles1', files_path: '%kernel.project_dir%/../_repositories/_files' } - { name: 'recordfiles1', type: 'recordfiles', cmdl_file: '%kernel.project_dir%/../_repositories/recordfiles1/config/test.cmdl', config_file: '%kernel.project_dir%/../_repositories/recordfiles1/config/test.json', files_path: '%kernel.project_dir%/../_repositories/_files' } - { name: 'archive1', type: 'contentarchive', data_path: '%kernel.project_dir%/../_repositories/archive1', files_path: '%kernel.project_dir%/../_repositories/_files' } - { name: 'mysql', type: 'mysql', db_host: 'anycontent-backend-mysql', db_name: 'anycontent', db_user: 'user', db_password: 'password', cmdl_path: '%kernel.project_dir%/../_repositories/mysql', files_path: '%kernel.project_dir%/../_repositories/_files'}