jorge/cakephp-facebook

CakePHP 3 Facebook 插件

安装: 341

依赖者: 1

建议者: 0

安全性: 0

星标: 0

关注者: 2

分支: 20

类型:cakephp-plugin

v1.0.3 2015-07-17 07:51 UTC

This package is auto-updated.

Last update: 2024-08-28 14:22:34 UTC


README

这是一个 CakePHP 3.x 插件,允许应用程序实现 Facebook 登录。

Total Downloads License

需求

  • CakePHP 3.x 配置了 Auth 组件。请参阅 https://book.cakephp.com.cn/3.0/en/controllers/components/authentication.html 了解配置
  • PHP 5.4.6+
  • Facebook PHP SDK 4.0+
  • 用户表需要有以下列
    • facebook_id varchar(20) // 可以在配置中设置
    • first_name // 可以在配置中设置
    • last_name // 可以在配置中设置
    • username // 可以在配置中设置
    • password // 可以在配置中设置
    • email // 可以在配置中设置

对于已存在的应用程序,如果已通过不同列名创建了 first_namelast_nameusernamepassword,可以在加载 ComponentAppController.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->loginButton()
    • $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
"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 抱怨找不到插件,您需要将插件添加到 plugins 数组中的 vendor/cakephp-plugins.php 文件。例如,'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', // https://developers.facebook.com/docs/facebook-login/permissions/v2.3
	    'enable_create' => true,
        'redirect_url' => '', //ie. Router::url(['controller' => 'Users', 'action' => 'login'], TRUE),
	    'post_login_redirect' => '' //ie. Router::url(['controller' => 'Users', 'action' => 'account'], TRUE)
	    // 'user_columns' => ['first_name' => 'fname', 'last_name' => 'lname', 'username' => 'uname', 'password' => 'pass', 'extra_columns' => ['active' => 1]] //not required
    ]);
}

用法

注意:FacebookHelper会自动由Graph Component加载。如果这不是您想要的,请在上方添加'enable_graph_helper' => false,$this->loadComponent()

助手模板文件设置
  • <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/login-button

Default Options
* 'auto-logout-link' => false,
* 'max-rows' => 1,
* 'onlogin' => null,
* 'size' => 'small',
* 'show-faces' => false,
* 'default-audience' => 'friends'

`<?php echo $this->Facebook->loginButton($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对话框

免责声明

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