在 Laravel 框架之外使用数据库查询构建器及 Eloquent ORM

WBOY
Freigeben: 2016-06-20 12:40:20
Original
1193 Leute haben es durchsucht

在Laravel 框架核心代码的 illuminate/database包中,有一个 Capsule目录, 该目录下有一个 Manager.php文件,如果要在 Laravel 之外使用 Illuminate Database 组件,就要通过该文件实现。以Yii2 为例,我们首先在项目根目录下运行使用如下 Composer 命令安装该依赖包:

composer require illuminate/database ~5.1
Nach dem Login kopieren

这样在 vendor目录下现在就有了 illuminate/database包,接下来我们修改入口文件 index.php如下:

<?php// comment out the following two lines when deployed to productiondefined('YII_DEBUG') or define('YII_DEBUG', true);defined('YII_ENV') or define('YII_ENV', 'dev');require(__DIR__ . '/../vendor/autoload.php');require(__DIR__ . '/../vendor/yiisoft/yii2/Yii.php');//引入加载 Eloquent ORM 的启动文件require((__DIR__.'/../system/eloquent/Start.php');$config = require(__DIR__ . '/../config/web.php');(new yii\web\Application($config))->run();
Nach dem Login kopieren

然后我们到项目根目录下创建 system/eloquent/Start.php,编辑文件内容如下:

<?php$database = [    'driver' => 'mysql',    'host' => DB_HOST,    'database' => DB_NAME,    'username' => DB_USER,    'password' => DB_PASSWORD,    'charset' => 'utf8',    'collation' => 'utf8_unicode_ci',    'prefix' => DB_TABLEPREFIX,];use Illuminate\Container\Container;use Illuminate\Database\Capsule\Manager as Capsule;$capsule = new Capsule;// 创建链接$capsule->addConnection($database);// 设置全局静态可访问$capsule->setAsGlobal();// 启动Eloquent$capsule->bootEloquent();
Nach dem Login kopieren

最后,我们可以到 models目录下创建模型类如下:

<?phpnamespace app\models;use Illuminate\Database\Eloquent\Model;class User extends Model{    protected $table = 'user';}
Nach dem Login kopieren

这样我们就可以在代码中以 Eloquent 模型类的语法使用 User 模型了。关于 Eloquent ORM 的使用方法,可参考Eloquent ORM 文档。

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage