承接 efficience-it/speedtest-bundle 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

efficience-it/speedtest-bundle

Composer 安装命令:

composer require efficience-it/speedtest-bundle

包简介

Speedtest

README 文档

README

This speedtest is a Symfony-based bundle. It's an overhaul of the LibreSpeed project.

It was created by Efficience IT, a French company located in Lille.

Installation

Step 1: Install the bundle with Composer

Require the efficience-it/speedtest-bundle with Composer.

$ composer require efficience-it/speedtest-bundle

Step 2: Configure the speedtest in your project

First, verify if the line below is in the bundles.php file. If not, copy and paste it.

EfficienceIt\SpeedtestBundle\SpeedtestBundle::class => ['all' => true]

Second, create the speedtest.yaml file in the config/routes folder.

Copy the code below and paste it in this file.

speedtest:
    resource: '@SpeedtestBundle/Resources/config/routes.yaml'
    prefix: /speedtest

Step 3: Add the speedtest on your website

On any controller, you can call the SpeedtestService and its displaySpeedtest function.

Here is an example of a controller, with a route tht includes the bundle:

class HomeController extends AbstractController
{
    /**
     * @Route("/home", name="app_home")
     */
    public function index(SpeedtestService $speedtestService): Response
    {
        // Replace 'home/index.html.twig' with the name of your template
        return $this->render('home/index.html.twig', [
            'speedtest' => $speedtestService->displaySpeedtest()
        ]);
    }
}

To display the speedtest on your page, just include it in your template file as below:

{% extends 'base.html.twig' %}

{% block title %}Hello HomeController!{% endblock %}

{% block body %}
    {% include speedtest %}
{% endblock %}

You can access to your route (in this example localhost/home), and the speedtest should appear !

How to retrieve the results ?

Create a new Controller (for example ResultsController), and copy/paste this code:

/* DON'T ADD A @Route ANNOTATION */
class ResultsController extends AbstractController
{
    /* DON'T CHANGE THIS ROUTE ! */
    /**
     * @Route("/speedtest-results", name="speedtest_results", methods={"POST"})
     */
    public function speedtestResults(Request $request): Response
    {
        if (!$request->isXmlHttpRequest()) {
            throw new AccessDeniedException();
        }
        $requestContent = json_decode($request->getContent(), true);
        dump($requestContent);

        return new JsonResponse($requestContent);
    }
}

With this route (called in AJAX), you can retrieve your speedtest results and do whatever you want with it !

Change the bundle language

Find the config/packages/translation.yaml. You just have to change the default_path parameter with the language you want.

Actually, you can translate in English (en) and French (fr). Here is an example of the translation.yaml file with French configuration.

framework:
    default_locale: fr  # Change the language here
    translator:
        default_path: '%kernel.project_dir%/translations'
        fallbacks:
            - en        # Default language if the default_locale is not found.

统计信息

  • 总下载量: 46
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 1
  • 点击次数: 5
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 1
  • Watchers: 0
  • Forks: 0
  • 开发语言: JavaScript

其他信息

  • 授权协议: MIT
  • 更新时间: 2022-10-18

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固