qcm/core-bundle

适用于Symfony2的QCM核心组件

安装: 13

依赖者: 0

建议者: 0

安全: 0

星星: 0

关注者: 2

分支: 1

开放问题: 1

类型:symfony-bundle

1.0.3 2016-09-07 16:09 UTC

This package is not auto-updated.

Last update: 2024-09-14 16:50:10 UTC


README

Latest Stable Version License Build Status Scrutinizer Code Quality

核心组件包括基于SyliusResourceBundle概念构建的qcm基本功能,并实现了QcmComponent

安装

avoo/qcm-core-bundle添加到您的composer.json文件中

{
    "require": {
        "avoo/qcm-core-bundle": "@dev-master"
    }
}

app/AppKernel.php中注册该组件

// app/AppKernel.php
public function registerBundles()
{
    return array(
        // ...
        new FOS\RestBundle\FOSRestBundle(),
        new JMS\SerializerBundle\JMSSerializerBundle($this),
        new Sylius\Bundle\ResourceBundle\SyliusResourceBundle(),
        new WhiteOctober\PagerfantaBundle\WhiteOctoberPagerfantaBundle(),
        new Qcm\Bundle\CoreBundle\QcmCoreBundle(),
    );
}

app/config.yml

imports:
    - { resource: parameters.yml }
    - { resource: security.yml }
    - { resource: @QcmCoreBundle/Resources/config/core.yml }

安全默认配置

您可以使用默认的注册/登录流程

app/config/routing.yml

qcm_core:
    prefix:   /
    resource: "@QcmCoreBundle/Resources/config/routing.yml"

app/config/security.yml中添加默认用户提供者、防火墙和访问控制

security:
    encoders:
        Qcm\Component\User\Model\UserInterface: sha512
    providers:
        qcm_corebundle:
            id: qcm_core.user_provider.username
    firewalls:
        login_firewall:
            pattern:    ^/security/login$
            anonymous:  ~
        secured_area:
            pattern:    ^/
            anonymous:  ~
            form_login:
                provider:            qcm_corebundle
                login_path:          qcm_core_security_login
                check_path:          qcm_core_security_login_check
                remember_me:         true
                default_target_path: you_homepage_route
            logout:
                path:   qcm_core_security_logout
    access_control:
        - { path: "^/security/login", roles: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: "^/", roles: ROLE_USER }

QCM配置

您可以在app/config/config.yml中覆盖默认的问卷配置

qcm_core:
    website_name: Qcm Demo // The website name
    configuration:
        max_questions: 40 //Questions number max by questionnaire
        question_level: ["beginner", "senior", "jedi"] //Determine the level for each question
        answers_max: 5 //Number of answers max by question
        timeout: 2400 //Total time of the questionnaire (in seconds)
        time_per_question: 60 //Time per question, if you choose this value, the timeout will be disabled

覆盖服务

针对统计类

qcm_core:
    service:
        statistics:
            class: MyBundle\Statistics\Class // For better compatibility extends the Model\QuestionnaireStatistics
            template: MyBundle\Answers\Template\Class // You need to implements the qcm TemplateInterface

致谢

许可证

此组件在MIT许可证下发布。请参阅组件中的完整许可证。

许可证