facebook / facebook-instant-articles-sdk-php
Facebook Instant Articles SDK for PHP
Requires
- php: ^5.4 || ^5.6 || ^7
- facebook/graph-sdk: ~5.0
- symfony/css-selector: ^2.8 || ^3.1 || ^4.1
Requires (Dev)
- fzaninotto/faker: ^1.6.0
- phpdocumentor/reflection-docblock: ^2.0 || ^4.0
- phpunit/phpunit: 4.8.*
- squizlabs/php_codesniffer: ^2.6.0 || ^3.0.0
- symfony/yaml: 2.1.* || 3.4.*
- dev-main
- v1.10.2
- v1.10.1
- v1.10.0
- v1.9.2
- v1.9.1
- v1.9.0
- v1.8.4
- v1.8.3
- v1.8.2
- v1.8.1
- v1.8.0
- v1.7.1
- v1.7.0
- v1.6.2
- v1.6.1
- v1.6.0
- v1.5.9
- v1.5.8
- v1.5.7
- v1.5.6
- v1.5.5
- v1.5.4
- v1.5.3
- v1.5.2
- v1.5.1
- v1.5.0
- v1.4.0
- v1.3.1
- v1.3.0
- v1.2.0
- v1.1.0
- v1.0.6
- v1.0.5
- 1.0.4
- v1.0.3
- v1.0.2
- v1.0.1
- v1.0.0
- v0.6.9
- v0.6.8
- v0.6.7
- v0.6.6
- v0.6.5
- v0.6.4
- v0.6.3
- v0.6.2
- v0.6.1
- v0.6.0
- v0.5.0
- v0.4.1
- v0.4.0
- v0.3.0
- v0.2.0
- v0.1.0
- dev-hhvm
- dev-fix/dateTextContent-support
- dev-backport_abstract_testcase
- dev-hhvm_rebase_master
- dev-backport-html-assert
- dev-parse_style
- dev-issue-172-constantgetter
- dev-proper_empty_space_handling
This package is auto-updated.
Last update: 2023-05-05 13:56:55 UTC
README
🚨 重要提示
⚠️ 从2023年4月20日起,Instant Articles将不再可用
所有相关开发者工具将被存档。
Facebook Instant Articles SDK for PHP提供了创建和发布Instant Articles的本地接口。该SDK使开发人员能够更容易地将Instant Articles集成到内容管理系统,从而使得记者和出版商能够轻松发布Instant Articles。
SDK由三个组件组成
- 元素:一种特定领域的语言,用于创建严格遵循规范的Instant Articles结构,可以自动序列化为Instant Articles格式中使用的HTML5标记子集。这种语言允许用户以编程方式创建符合格式的Instant Articles。
- 转换器:一种将任何标记转换为DSL中Instant Articles结构的引擎。该引擎在标记上运行一系列规则,这些规则将指定从CMS输出的元素的选择和转换,以它们的Instant Articles对应元素。转换器包含一套用于常见元素(如基本段落或图像)的基规则,这些规则可以通过使用SDK的开发人员进行扩展和定制。
- 客户端:围绕Instant Articles API的简单包装,可用于在Facebook上发布Instant Articles。客户端为Instant Articles提供了CRUD接口以及认证助手。客户端依赖于主要的Facebook SDK for PHP,作为Graph API和Facebook登录的接口。
快速入门
可以通过在项目根目录中运行此命令,使用Composer依赖关系管理器安装Facebook Instant Articles PHP SDK:
$ composer require facebook/facebook-instant-articles-sdk-php
安装后,您可以在源代码中包含自动加载脚本
require_once 'vendor/autoload.php';
官方文档
您可以在文档的入门部分找到如何使用此SDK的不同组件的示例,以将其集成到您的CMS中。
贡献
克隆存储库
$ git clone https://github.com/facebook/facebook-instant-articles-sdk-php.git
Composer是测试和开发的先决条件。 全局安装Composer,然后在项目的根目录中运行此命令以安装项目依赖项
$ composer install
运行测试
$ composer test
修复并检查编码风格问题
$ composer cs
更偷懒?运行
$ composer all
修复并检查编码风格问题,然后运行测试。
如果您更改结构、路径、命名空间等,请确保您运行了自动加载生成器
$ composer dump-autoload
为了接受您的贡献,您必须首先签署贡献者许可协议。请参阅CONTRIBUTING以获取详细信息。
使用Docker进行测试
我们提供了一个Docker环境,以确保测试和开发环境的一致性。
使用docker-compose run composer composer install
开始。
故障排除
如果您遇到问题,以下提示可能有助于故障排除
-
使用
$transformer->getWarnings()
方法可以查看Transformer的警告。 -
如果您的转换文章中缺少内容,则很可能没有匹配您源标记中元素的转换器规则。请参阅转换器规则文档了解如何为您的内容配置适当的规则。
-
将转换器Logger级别的
threshold
设置为DEBUG
以显示Transformer处理的项的更多详细信息。TransformerLog::setLevel(TransformerLog::DEBUG);
-
参考现有的
Elements
测试,了解每个元素的必要要求,并可能创建自己的测试(可以使用$ composer test
运行)。
许可证
有关更多信息,请参阅许可证文件。