【发布时间】:2021-01-31 17:27:01
【问题描述】:
我在我的项目中使用 CI 4,我需要 Facebook 登录来获取我在 fb-JS-sdk 中完成的用户数据,然后我将数据保存到数据库并为该用户启动会话,所以看起来它是直接的通过facebook登录登录,但这不是重点,
现在使用 Facebook 登录后,用户将从支付网关捐款,并将被重定向到成功页面,该页面将显示感谢您的支付消息,现在我想在成功页面上添加更多内容 = 我想在用户的 FB 墙上发布消息“我刚刚在现场捐赠了出于 foo 的原因......等等......”。
我知道我需要 Fb 用户令牌,这是我在从 js-sdk 进行 fb 登录期间已经保存在 DB 中的那个。
我对 codeigniter 很陌生,不知道如何添加 facebook 库并在我的控制器中使用/初始化它。我没有使用作曲家。
所以我将 fb-php-sdk 添加到我的应用程序/库中(从 github 下载)
所以我尝试了:
<?php
namespace App\Controllers;
use CodeIgniter\Controller;
use App\Libraries\Facebook;
class User extends BaseController {
public function __construct(){
helper('url','form');
}
public function success() {
require_once ('Libraries/Facebook/autoload.php');
$fb = new Facebook(); // loads and creates instance
$a = $fb->getDefaultGraphVersion();
print_r($a);
$session = session();
$page = [
'name' => 'success_payment',
'title' => $_SESSION['fname']." ".$_SESSION['lname']." Thank You - ".SITENAME,
'fb_token' => $_SESSION['fb_token'],
];
echo view('templates/header', $page);
echo view('success_payment'); //this template have success msg for successful payment..thank u and all
echo view('templates/footer');
}
}
我遇到了错误。
Warning: Uncaught ErrorException: require_once(Libraries/Facebook/autoload.php): failed to open stream: No such file or directory in C:\xampp\htdocs\bb\app\Controllers\User.php:55 Stack trace: #0 C:\xampp\htdocs\bb\app\Controllers\User.php(55): CodeIgniter\Debug\Exceptions->errorHandler(2, 'require_once(Li...', 'C:\\xampp\\htdocs...', 55, Array) #1 C:\xampp\htdocs\bb\app\Controllers\User.php(55): require_once() #2 C:\xampp\htdocs\bb\system\CodeIgniter.php(918): App\Controllers\User->success() #3 C:\xampp\htdocs\bb\system\CodeIgniter.php(404): CodeIgniter\CodeIgniter->runController(Object(App\Controllers\User)) #4 C:\xampp\htdocs\bb\system\CodeIgniter.php(312): CodeIgniter\CodeIgniter->handleRequest(NULL, Object(Config\Cache), false) #5 C:\xampp\htdocs\bb\public\index.php(45): CodeIgniter\CodeIgniter->run() #6 {main} thrown in C:\xampp\htdocs\bb\app\Controllers\User.php on line 55
Fatal error: App\Controllers\User::success(): Failed opening required 'Libraries/Facebook/autoload.php' (include_path='C:\xampp\php\PEAR') in C:\xampp\htdocs\bb\app\Controllers\User.php on line 55
谁能指导我如何在 CI4 中集成自定义库。?? 很抱歉没有使用作曲家以及糟糕的英语。
【问题讨论】:
-
你试过
require_once('../Libraries/Facebook/autoload.php')吗?您还应该知道的是 CI4 会加载 Libraries 文件夹下的每个 php 文件。尝试删除 require_once 并查看它如何处理它。 -
我试过了,但没用。由于我没有使用作曲家,我不知道如何包含和使用库对象。谢谢你的建议。 CI4 确实是个好东西,但没有多少解决方案或 wiki。
-
将facebook库文件夹复制到
application/libraries文件夹,然后在库$autoload['libraries']applications/config/autoload.php注册facebook -
你是如何安装 facebook 库的?
-
我没有安装它。我刚刚将
Facebook文件夹(我从git 下载)粘贴到我的app/Libraries/。而已。我没有在这个项目中使用作曲家。
标签: php facebook codeigniter xampp codeigniter-4