Laravel 5 + Prestashop 1.6?是否有可能整合两者?

时间:2016-07-12 03:56:29

标签: php laravel laravel-5 prestashop prestashop-1.6

我意识到Prestashop不是MVC平台,Laravel是,但我很好奇这种事情是否可行,以及如何去做。

感谢。

1 个答案:

答案 0 :(得分:0)

使用illuminate/db包实现prestashop模块是获得此类集成的一种方法。在自定义模块文件夹中,您可以使用composer require安装illuminate / database软件包(它将在vendor子文件夹中安装软件包)。然后,按照包本身的说明,您可以编写一个初始化胶囊管理器的php文件(称之为initilluminate.php):     

require __DIR__ . '/vendor/autoload.php'; 
// You can reuse your laravel model if you need them
require_once dirname(__FILE__) . '/models/MyLaravelModel.php';

use Illuminate\Database\Capsule\Manager as Capsule;

function initCapsule() {
  $capsule = new Capsule;
  $capsule->addConnection([
    'driver' => 'mysql',
    'host' => _DB_SERVER_,
    'database' => _DB_NAME_,
    'username' => _DB_USER_,
    'password' => _DB_PASSWD_,
    'charset' => 'utf8',
    'collation' => 'utf8_unicode_ci',
    'prefix' => 'ps_',
  ]);

  // Make this Capsule instance available globally via static methods
  $capsule->setAsGlobal();

  // Setup the Eloquent ORM
  $capsule->bootEloquent();
}

在模块的主要php文件中,你需要

require_once dirname(__FILE__) . '/initilluminate.php';

并且,在构造函数中,只需调用:

initCapsule();

初始化库。然后,您可以使用laravel模型或使用通常的laravel语法通过Capsule::table(<table_name>)->where...访问数据库。