我目前有两个应用程序在同一台服务器上运行,在不同的虚拟主机下。第一个是Laravel 4应用程序,第二个是较旧的PHP项目,不使用框架,但遵循粗略的MVC模式。
我想找到一种方法来与旧PHP项目中Laravel应用程序中的一些模型进行交互和使用
。显然,它不会像仅包含模型文件那么简单,因为它们将具有各种依赖项,因此在尝试执行此操作时,我应该查看任何常规方法或模式吗?
您可以将illuminate/database
添加到您的composer.json
中。这样你就可以使用laravel的数据库模块,而无需安装整个框架。
阅读README.md
中的说明,了解代码示例和更多详细信息。
Can Vural 是对的,你可以使用这些组件,看看 http://www.slimframework.com/news/slim-and-laravel-eloquent-orm。
以下是主要摘录:
安装
首先,准备 composer.json 文件,以便它下拉并安装 Slim Framework 和 Eloquent ORM。composer.json 文件应如下所示:
{
"require": {
"slim/slim": "*",
"illuminate/database": "*"
}
}
完成此操作后,运行作曲家安装以安装应用程序依赖项。
引导雄辩的ORM
接下来,我告诉 Composer 通过要求 Composer 的 autoload.php 文件来自动加载应用程序的依赖项。
<?php
// Autoload our dependencies with Composer
require '../vendor/autoload.php';
现在我引导 Eloquent ORM 并将我的数据库连接信息传递给它(确保您添加了自己的用户名、密码和数据库名称)。
<?php
// Database information
$settings = array(
'driver' => 'mysql',
'host' => '127.0.0.1',
'database' => '',
'username' => '',
'password' => '',
'collation' => 'utf8_general_ci',
'prefix' => ''
);
// Bootstrap Eloquent ORM
$connFactory = new 'Illuminate'Database'Connectors'ConnectionFactory();
$conn = $connFactory->make($settings);
$resolver = new 'Illuminate'Database'ConnectionResolver();
$resolver->addConnection('default', $conn);
$resolver->setDefaultConnection('default');
'Illuminate'Database'Eloquent'Model::setConnectionResolver($resolver);
现在 Eloquent ORM 已经启动,我可以创建和使用扩展 Eloquent 抽象模型的模型。此示例假定您的数据库包含一个名为 books 的表,其中包含列标题和作者。
<?php
class Book extends 'Illuminate'Database'Eloquent'Model
{
}
摘自上述网站,因此,如果删除信息,信息仍然存在。
要从其他项目加载,您很可能必须使用自定义自动加载器自动加载模型。或者,如果模型中有依赖项,请包含来自Laravel框架的自动加载器。