teqneers/ext-direct-bundle

一个用于将 Sencha Ext JS Ext.direct 集成到 Symfony 应用程序中的 Symfony 扩展包

5.0.0 2022-07-25 07:55 UTC

README

一个用于将 Sencha Ext JS Ext.direct 集成到 Symfony 应用程序中的 Symfony 扩展包

Build Status

安装

您可以使用 composer 安装此扩展包

composer require teqneers/ext-direct-bundle

或直接将包添加到您的 composer.json 文件中。

安装包后,您只需将扩展包添加到您的 AppKernel.php 文件中

// in AppKernel::registerBundles()
$bundles = array(
    // ...
    new TQ\Bundle\ExtDirectBundle\TQExtDirectBundle(),
    // ...
);

配置

ext-direct-bundle 至少需要一个端点进行配置。

# Default configuration for "TQExtDirectBundle"
tq_ext_direct:
    debug:                true
    cache:                file
    file_cache_dir:       '%kernel.cache_dir%/tq_ext_direct'
    validate_arguments:   true
    strict_validation:    true
    convert_arguments:    true
    convert_result:       true
    endpoints:            # Required

        # Prototype
        id:
            descriptor:           Ext.app.REMOTING_API
            namespace:            Ext.global
            auto_discover:        true
            all_bundles:          true
            bundles:              []
            directories:          []

auto_discover 启用自动发现应用程序中可用的扩展包中的服务类。如果与 all_bundles 配合使用,则检查所有可用的扩展包,否则仅检查 bundles 数组中提到的扩展包。对于扩展包,需要在扩展包根目录中的 ExtDirect 目录中放置服务类。此外(或仅此)可以设置单个 directories 以包含在服务发现过程中。服务是递归发现的,从每个配置的目录开始。

因为该扩展包提供了自己的控制器来提供 API 描述和处理 Ext.direct 请求,所以您还需要配置您的路由以包括具有给定前缀的扩展包路由。编辑您的 app/config/routing.yml

# ...
ext_app:
    resource: "@TQExtDirectBundle/Resources/config/routing.yml"
    prefix: /
# ...

最简配置如下

tq_ext_direct:
    endpoints:
        api: ~

这通过 api 端点启用所有可用扩展包中的 Ext direct 服务。

用法

使用扩展包提供的 Twig 扩展,您可以轻松地将 Ext.direct API 定义集成到应用程序模板中。

<!DOCTYPE HTML>
<html lang="en">
<head>
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta charset="UTF-8">
    <meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
    <title>Welcome!</title>

    <!-- Ext JS bootstrap, etc. -->

     <script type="text/javascript" src="{{ extDirectApiPath('api') }}"></script>
</head>
<body>
</body>
</html>

许可

MIT 许可证 (MIT)

版权所有 © 2015 TEQneers GmbH & Co. KG

在此特此授予任何获得此软件及其相关文档副本(以下简称“软件”)的人免费使用软件的权利,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或出售软件副本,并允许获得软件的人这样做,但受以下条件约束

上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。

软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于对适销性、针对特定目的的适用性和非侵权的保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论此类索赔、损害或其他责任是基于合同、侵权或其他方式引起的,与软件或其使用或其他交易有关。