akkaweb/cakephp-facebook

CakePHP 3 Facebook 插件

3.0.0 2018-12-14 06:27 UTC

This package is auto-updated.

Last update: 2024-09-23 08:28:27 UTC


README

重要:本分支(Master)的支持已被停止。请使用 SDK5 分支或最新标记版本。此分支将保留以支持 Facebook SDKv4,但不会继续改进。我目前正在努力支持 Facebook SDKv5。请参阅该分支中的安装说明。

CakePHP 3 Facebook 插件

一个允许 Facebook 登录到应用程序的 CakePHP 3.x 插件。

Total Downloads License Gitter

要求

对于已经存在且已使用不同列名创建了 first_namelast_nameusernamepassword 的现有应用程序,您可以在将 Component 加载到 AppController.php 文件时,在配置选项中动态设置它。请参阅下文的配置部分第 2 节。

注意:Facebook PHP SDK 是必需的。如果尚未安装,Composer 会自动为您安装 Facebook。如果选择手动下载,您必须将 Facebook 源代码下载到 vendor/facebook/php-sdk-v4 并确保它可以由 composer 加载。否则,您需要手动在应用程序的 bootstrap.php 中包含 Facebook 的 autoload.php 文件。

包含

  • Facebook Graph 组件
  • Facebook Graph 助手
    • $this->Facebook->loginLink()
    • $this->Facebook->likeButton()
    • $this->Facebook->shareButton()
    • $this->Facebook->sendButton()
    • $this->Facebook->followButton()
    • $this->Facebook->comments()
    • $this->Facebook->embeddedPosts()
    • $this->Facebook->embeddedVideo()
    • $this->Facebook->page()

***** 更多关于如何使用每个组件的详细信息,请见下方

安装

Composer(最佳选择)
  1. 将以下内容添加到您应用程序根目录中的 composer.json 文件的 require 部分中。例如,/var/www/domain.com/composer.json
// NOTE: Use instructions in SDK5 Branch if this is a new installation. This branch his no longer supported.

"require": {
	"akkaweb/cakephp-facebook": "dev-master"
}
  1. 在应用程序根目录中运行以下命令
sudo php composer.phar update

注意:如果找不到 composer.phar,您需要安装它。请参阅 CakePHP 的文档 -> https://book.cakephp.com.cn/3.0/en/installation.html。请参阅安装 CakePHP 部分

Git Clone(plugins/AkkaFacebook)

git clone git@github.com:akkaweb/AKKA-CakePHP-Facebook-Plugin.git

下载

https://github.com/akkaweb/AKKA-CakePHP-Facebook-Plugin/archive/master.zip

注意:当使用手动下载或 Git Clone 安装,并且 CakePHP 抱怨找不到插件时,您需要将插件添加到 vendor/cakephp-plugins.php 中的 plugins 数组 [] --> 'AkkaFacebook' => $baseDir . '/plugins/AkkaFacebook/'。如果您正在使用 composer,运行 php composer.phar dumpautoload 可能就足够了。如果不起作用,请将以下内容添加到根应用程序 composer.json 文件的 "autoload" 部分:在 "psr-4": 部分中添加 "AkkaFacebook\\": "./plugins/AkkaFacebook/src"

配置

  1. 在您应用的 bootstrap.php 文件中加载插件
Plugin::load('AkkaFacebook', ['bootstrap' => false, 'routes' => true]);
  1. AppController.php 中加载插件的组件

注意:您需要从 http://developers.facebook.com 获取您的 Facebook App IdApp Secret。一旦您进入该页面并创建了一个应用,您可以检索您的 App IdApp Secret。请确保您已在 设置 页面的 App Domains 中添加了您的域名。

user_columns 是可选的,并且只有在您的 Users 数据库列与上方需求部分指定的默认值不同时才应使用。

public function initialize(){
    parent::initialize();
    
    $this->loadComponent('AkkaFacebook.Graph', [
	    'app_id' => 'your-fb-app-id',
	    'app_secret' => 'your-fb-app-secret',
	    'app_scope' => 'email,public_profile', // https://developers.facebook.com/docs/facebook-login/permissions/v2.4
	    'redirect_url' => Router::url(['controller' => 'Users', 'action' => 'login'], TRUE), // This should be enabled by default
	    'post_login_redirect' => '' //ie. Router::url(['controller' => 'Users', 'action' => 'account'], TRUE)
	    // 'user_columns' => ['first_name' => 'fname', 'last_name' => 'lname', 'username' => 'uname', 'password' => 'pass'] //not required
    ]);
}

用法

注意:FacebookHelper 会自动由 Graph Component 加载。如果不希望这样,请在上面的 $this->loadComponent() 中添加 'enable_graph_helper' => false,

助手模板文件设置
  • <body> 标签后立即添加 <?php echo $this->Facebook->initJsSDK(); ?>
登录链接(可定制的 Facebook 链接 <a href)

参考 - https://developers.facebook.com/docs/plugins/login-button

Optional Settings Array
* id 	-> Link id
* class -> Link class
* title -> Link title
* style -> Any html style
* label -> Hyperlink text
	
`<?php echo $this->Facebook->loginLink($options = []); ?>`
点赞按钮(Facebook 点赞)

参考 - https://developers.facebook.com/docs/plugins/like-button

Default Options
* 'action' => 'like', // like, recommend
* 'share' => true,
* 'width' => 450,
* 'show-faces' => true,
* 'layout' => 'standard' // standard, box_count, button_count, button

`<?php echo $this->Facebook->likeButton($options = []); ?>`
分享按钮(Facebook 分享)

参考 - https://developers.facebook.com/docs/plugins/share-button

Default Options
* 'layout' => 'button_count' // button_count/box_count/button/icon_link/icon/link

`<?php echo $this->Facebook->shareButton($options = []); ?>`
发送按钮(Facebook 发送)

参考 - https://developers.facebook.com/docs/plugins/send-button

Default Options
* 'width' => 50,
* 'height' => 30,
* 'colorscheme' => dark
	
`<?php echo $this->Facebook->sendButton($options = []); ?>`
关注按钮(Facebook 关注)

参考 - https://developers.facebook.com/docs/plugins/follow-button

Default Options
* 'width' => 300,
* 'height' => 100,
* 'colorscheme' => 'light',
* 'layout' => 'standard',
* 'show-faces' => false,
* 'kid-directed-site' => false
	
`<?php echo $this->Facebook->followButton($options = []); ?>`
评论(Facebook 评论)

参考 - https://developers.facebook.com/docs/plugins/comments

Default Options
* 'colorscheme' => light, // light/dark
* 'mobile' => 'Auto-detected',
* 'num-posts' => 10,
* 'order-by' => 'social', // social/reverse_time/time
* 'width' => 550
	
`<?php echo $this->Facebook->comments($options = []); ?>`
嵌入帖子(Facebook 嵌入帖子)

参考 - https://developers.facebook.com/docs/plugins/embedded-posts

Default Options
* 'width' => 500
	
`<?php echo $this->Facebook->embeddedPosts($options = []); ?>`
嵌入视频(Facebook 嵌入视频)

参考 - https://developers.facebook.com/docs/plugins/embedded-video-player

Default Options
* 'href' => ''
* 'width' => 500
	
`<?php echo $this->Facebook->embeddedVideo($options = []); ?>`
页面插件(Facebook 页面插件)

参考 - https://developers.facebook.com/docs/plugins/page-plugin

Default Options
* 'href' => 'https://#/facebook',
* 'height' => 300,
* 'hide-cover' => false,
* 'show-facepile' => true,
* 'show-posts' => false,
* 'width' => 500
	
`<?php echo $this->Facebook->page($options = []); ?>`

即将推出

  • Feed 对话框

免责声明

尽管我们已经进行了许多测试以确保此插件按预期工作,但我们建议您自行承担风险使用它。与其他任何事物一样,您应首先在测试环境中测试您应用程序中的任何新增功能。请通过问题或拉取请求提供任何修复或增强功能。