我最近正在使用刚推出的CakePHP 3(beta 2)版本。我需要使用PHP SDK集成Facebook登录,但我对在这个版本中导入供应商文件不清楚。
在CakePHP 2x中,我曾经使用过
App::import('Vendor', 'Facebook', array('file' => 'Facebook' . DS . 'src'. DS. 'facebook.php'));
所以我需要在CakePHP 3x中复制相同的内容(我没有使用composer)。
有任何参考资料吗?
我最近正在使用刚推出的CakePHP 3(beta 2)版本。我需要使用PHP SDK集成Facebook登录,但我对在这个版本中导入供应商文件不清楚。
在CakePHP 2x中,我曾经使用过
App::import('Vendor', 'Facebook', array('file' => 'Facebook' . DS . 'src'. DS. 'facebook.php'));
所以我需要在CakePHP 3x中复制相同的内容(我没有使用composer)。
有任何参考资料吗?
如果不能使用Composer,你需要自己加载它。你可以使用基本的require方法,并且自己创建一个vendor类的新实例。参考链接:http://book.cakephp.org/3.0/en/core-libraries/app.html#loading-vendor-files
用法:
//The following line should do the same like App::import() in the older version of cakePHP
require_once(ROOT . 'vendor' . DS . 'Facebook' . DS . 'src' . DS . 'facebook.php');
$facebookApi = new facebook();
your_project/vendor/
下require_once(ROOT . DS . 'vendor' . DS . "my_library_folder" . DS . "my_library_base_class.php")
导入库文件,这样就可以在我们的代码中使用库了。namespace App\Controller;
use MyLibraryBaseClass;
这会将库文件引入我们的命名空间以便使用。
$my_obj= new MyLibraryBaseClass();
$my_obj= new \MyLibraryBaseClass();
。 - Cellydyuse
语句正确加载插件。像这样:
use Ghunti\HighchartsPHP\Highchart;
如果您在大多数页面中使用插件,而不是在每个控制器中加载,可以将相同的行添加到bootstrap.php文件中,在其他use语句下方。require_once(ROOT.'Folder'.DIRECTORY_SEPARATOR.'requiredfile.ph');
变成
require_once ROOT.'文件夹'.DIRECTORY_SEPARATOR.'必需文件.ph';
https://book.cakephp.org/3.0/en/contributing/cakephp-coding-conventions.html
希望这能对未来的某个人有所帮助。