承接 anatoliy700/yii2-robots 相关项目开发

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

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

anatoliy700/yii2-robots

Composer 安装命令:

composer require anatoliy700/yii2-robots

包简介

Implements a dynamic robots.txt file

README 文档

README

Генерирует контент robots.txt файла

Установка

Устанвливается через Composer

composer require anatoliy700/yii2-robots

или добавить

"anatoliy700/yii2-robots": "*"

в разделе require вашего composer.json файла.

Использование

Подключить в конфигурации приложения в разделе модули:

'modules' => [
    'robots' => [
         'class' => 'anatoliy700\robots\Module',
    ]
]

Для установки правил маршрутизации автоматически добавть в bootstrap

'bootstrap' => ['robots']

Описать зависимости в контейнере

    'container' => [
        'definitions' => [
             'anatoliy700\robots\IRobots' => [
                 'class' => 'anatoliy700\robots\Robots',
                 'directives' => [
                     'User-Agent' => '*',
                     'Disallow' => [
                         '/backend',
                     ],
                 ],
             ],
             'anatoliy700\robots\directives\IDirective' => 'anatoliy700\robots\directives\Directive',
        ],
    ]

В свойстве directives можно указать директивы, которые будут отдаваться роботу. Если User-Agent не будет указан, то будет установлен по умолчанию User-Agent: *.

В свойстве blockResource можно заблокировать весь ресурс, в этом случае все остальные директивы будут проигнорированы.

Итеграция блокировки сраниц в модули контента

Для интеграции необходимо в модель, которая описывает контент страницы в админке, добавить поведение:

  'RobotsBehavior' => [
      'class' => 'anatoliy700\robots\behaviors\RobotsModelBehaviors',
      'route' => ['content/default/index', 'alias' => 'alias']
  ]

В свойстве route необходимо обязательно маршрут и параметры, в значение в массиве параметров указывается имя свойства данной модели из которого надо подставить данные.

В правила модели добавить:

[['robotsBlockingFlag'], 'safe'],

Так же необходимо добавить в форму checkbox:

<?= $form->field($model, 'robotsBlockingFlag')->checkbox() ?>

Описать зависимость репозитория, который реализует хранилище для динамических директив :

  'container' => [
      'definitions' => [
           'anatoliy700\robots\repositories\IRepository' => [
               'class' => 'anatoliy700\robots\repositories\ActiveRecordRepository',
               'activeRecord' => 'anatoliy700\robots\repositories\adapters\RedisAdapter',
           ],
      ],
  ]

У данного репозитория есть свойство activeRecord, в котором указывается класс адаптера(в данном случае реализован адаптер для Redis). Если использовать адаптер для Redis, необходимо подключить компонент, который обеспечивает работу с Redis:

  'components' => [
      'redis' => [
         'class' => 'yii\redis\Connection',
         'hostname' => 'REDIS_HOST',
         'port' => 'REDIS_PORT',
         'database' => 2,
      ],
  ]

Для генерации URI из роута, необходима описать зависимость IRouteGenerator:

    'container' => [
        'definitions' => [
            'anatoliy700\robots\generators\IRouteGenerator' => [
                'class' => 'anatoliy700\robots\generators\RouteGenerator',
                'urlManager' => [
                    'class' => 'yii\web\UrlManager',
                    'enablePrettyUrl' => true,
                    'showScriptName' => false,
                    'rules' => [...],
                ],
            ],
        ],
    ]

В свойство urlManager необходимо передать конфигурацию urlManager с действующими правилами маршрутизации.

anatoliy700/yii2-robots 适用场景与选型建议

anatoliy700/yii2-robots 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 2 次下载、GitHub Stars 达 0, 最近一次更新时间为 2019 年 07 月 24 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 anatoliy700/yii2-robots 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 anatoliy700/yii2-robots 我们能提供哪些服务?
定制开发 / 二次开发

基于 anatoliy700/yii2-robots 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: BSD-3-Clause
  • 更新时间: 2019-07-24