承接 setono/prerender-bundle 相关项目开发

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

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

setono/prerender-bundle

最新稳定版本:v1.0.0-alpha.2

Composer 安装命令:

composer require setono/prerender-bundle

包简介

A Symfony bundle that integrates 'prerender' services, i.e. rendertron or prerender.io

README 文档

README

Latest Version Software License Build Status

Use this bundle to (pre)render a request or URL. This is useful if you render your page using javascript and want to show the HTML output of that page to Googlebot or other clients not very fond of javascript.

See Googles own help page on this topic: Implement dynamic rendering.

Installation

To install this bundle, simply run:

composer require setono/prerender-bundle

This will install the bundle and enable it if you're using Symfony Flex. If you're not using Flex, add the bundle manually to bundles.php instead.

Configuration

The bundle is already preconfigured for you if you want to use the open source version of prerender.io. Then you just need to run that service. However, you can configure it easily like so:

# config/packages/setono_prerender.yaml
setono_prerender:
    adapter:
        prerender: 'http://your-prerender-url.com'

If you want to create your own prerenderer service, just implement the PrerendererInterface and tag your service with setono_prerender.prerenderer. Then in the configuration of the bundle do this:

# config/packages/setono_prerender.yaml
setono_prerender:
    prerenderer: 'the-service-id-of-your-prerenderer-service'

Usage

Here is a very basic example of a product controller where we want to render the index action:

<?php

declare(strict_types=1);

namespace App\Controller;

use Setono\PrerenderBundle\Prerenderer\PrerendererInterface;
use Symfony\Component\HttpFoundation\Response;

final class ProductController
{
    public function index(PrerendererInterface $prerenderer): Response
    {
        if($this->isBot()) {
            // return the rendered HTML if the client is a bot
            return new Response($prerenderer->renderMainRequest());
        }

        // render the response the normal way if the client is NOT a bot
        return new Response('...');
    }

    /**
     * Method that returns true if the client is a bot
     */
    private function isBot(): bool
    {
        // ...
    }
}

统计信息

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

GitHub 信息

  • Stars: 1
  • Watchers: 1
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2021-10-21

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固