rolice / laravel5-domain-authority
域名权威度消费者
Requires
- php: >=5.4.0
- illuminate/console: 5.0.*
- illuminate/filesystem: 5.0.*
- illuminate/support: 5.0.*
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
重要:请注意,since
和age
方法将产生对who.is网站的cURL请求,超过一定限制可能会导致服务暂时不可用或被禁止。在这里,一个不错的方法是将从since
方法返回的域出生日期存储在某个数据存储库(数据库、文件系统等)中,并使用fromDate
在以后直接获取年龄而不需要新的请求。