rolice/laravel5-domain-authority

域名权威度消费者

0.3 2015-06-10 12:11 UTC

This package is not auto-updated.

Last update: 2024-09-20 21:22:16 UTC


README

Laravel 5 及任何 composer 项目使用的域名权威度 API 消费者,依赖于 Moz

此包旨在从 Moz API 服务消耗统计数据。为了使用此功能,您至少需要一个免费 moz 账户,可以在此注册:https://moz.com/community/join

API 提供关于网站、特定域名或子域名、单个页面以及内部/外部链接的 SEO、排名和权威度统计。

此包处于基本开发阶段,并非所有字段和功能都得到覆盖。然而,基础已经就绪,其他属性数据的具体定义将是下一步的工作。链接度量指标缺失,批量域名请求也未实现。

此包仅在 Laravel 5 上进行了测试。它可以很容易地适应 Laravel 4,因为它不严重依赖于该框架。

请随意分支并提交对项目的改进和扩展。问题部分对评论、问题报告和建议开放。

需求

由于位字段使用的高值,仅通过 composer 安装将需要 64 位 PHP 版本,因为位字段用于查询 Moz API。目前没有计划修复 32 位 PHP 版本,因为这将需要主要的扩展来支持它,而不会因为硬编码的字符串而破坏风格。

手动安装时,它将正常工作,直到 mozspace API 的列值或列的位求和超过 32 位平台上的整数大小(PHP 的 32 位构建)。

在项目 Wiki 的 URL Metrics 页面上了解更多关于此问题的信息。

实现级别(支持的 API)

以下是针对 Moz API 实现的进度。标记为 + 的端点是已实现的,而标记为 - 的端点尚未实现。

  • 锚文本度量(-)
  • 链接度量(-)
  • 顶级页面(-)
  • URL 度量(+)
  • 索引元数据(-)

附加功能

  • 域名年龄计算器 - 一个收集域名注册/创建/激活日期并计算年龄的界面。

安装

使用 composer 进行安装过程非常简单。

用于生产安装

composer require 'rolice/laravel5-domain-authority:0.3.2'(生产,稳定)

最新开发版本

composer require 'rolice/laravel5-domain-authority:dev-master'(最新,不稳定)

一旦使用 composer 为您设置了包,您必须在应用配置文件中定义服务提供者和别名,位于 <project_root>/config/app.php

    'providers' => [
        // ...
        // ...
        'DomainAuthority\ServiceProvider',
    ],
    
    // ...
    
    'aliases' => [
        // ...
        // ...
        'DomainAge'             => 'DomainAuthority\DomainAge',
        'DomainAuthority'       => 'DomainAuthority\DomainAuthority',
        'UrlMetrics'            => 'DomainAuthority\UrlMetrics',
    ],

别名部分中的两个条目将允许您直接在视图中使用这些类,而无需通过它们的完整命名空间调用它们。

完成这些后,您必须通过以下 artisan 命令发布包

php artisan vendor:publish

这是必需的,以便将包的配置直接发布到应用配置文件夹中。您将在那里找到名为 domainauthority.php 的新文件。编辑它并输入您的 Moz 账户服务授权数据

  • 访问 ID
  • 密钥

它们可以从 Moz 的 API 仪表板中的 访问 部分获取 (https://moz.com/products/mozscape/access)。

现在,您可以开始消耗数据了。

用法

当前只实现了URL指标。以下是如何收集URL标题数据和域权威度的示例:

// Gather data in controller, model or anywhere it is appropriate to do so
$data = App::make('DomainAuthority')
    ->urlMetrics('www.seomoz.org', UrlMetrics::DomainAuthority | UrlMetrics::Title);

// Display results somewhere in the views with Blade template engine
{{ $data->DomainAuthority }} / {{ $data->Title }}

DomainAuthority类的get方法需要一个URL地址和列。列以与Moz API相同的风格传递,即在位域中。结果是一个UrlMetrics实例,其字段名称与请求的列(类常量)相同。

注意:这些字段是通过__get魔术方法和ReflectionClass动态生成的。它们在UrlMetrics类中未定义。某些函数如property_exists可能无法检测到它们。

域年龄使用

您可以使用域年龄接口相当容易。它与who.is网站配合工作,并解析其响应中的日期。该类命名为DomainAge。它包含三个方法

  • since - 获取域的注册日期的方法
  • age - 调用since并给出域当前年龄的方法,以年为单位
  • fromDate - 通过字符串格式直接根据给定日期计算年龄,同样以年为单位
$since = App::make('DomainAge')->since($this->item->url); // The $since variable will contain Carbon instance or null on failure
$age =  App::make('DomainAge')->age($this->item->url); // Will contain int with years of age, months and others are ignored
$age2 = DomainAge::fromDate('2010-10-01'); // This will calculate directly age from the given date, useful with previously stored values

重要:请注意,sinceage方法将产生对who.is网站的cURL请求,超过一定限制可能会导致服务暂时不可用或被禁止。在这里,一个不错的方法是将从since方法返回的域出生日期存储在某个数据存储库(数据库、文件系统等)中,并使用fromDate在以后直接获取年龄而不需要新的请求。