所以这是我的问题。我有一个超过700K PHP行的遗留项目。自制框架。
我们的ORM有效,但我想在项目中尝试PhalconPHP。
我们正在使用Pimple作为DI。
是否可以在非Phalcon项目中仅运行Model / PHQL?
若然,怎么样?
由于
答案 0 :(得分:1)
是的,有可能。感谢PhalconPHP forum中的@calin,我找到了答案。基本上步骤如下:
示例:
<?php
$di = new \Phalcon\DI();
$di->set('modelsManager', function () {
return new \Phalcon\Mvc\Model\Manager();
});
$di->set('modelsMetadata', function () {
return new \Phalcon\Mvc\Model\MetaData\Memory();
});
$di->set('db', function () {
return new \Phalcon\Db\Adapter\Pdo\Mysql(array(
'adapter' => 'Mysql',
'host' => 'xxx.dev',
'username' => 'xxxx',
'password' => 'yyy',
'dbname' => 'zzz',
));
});
\Phalcon\DI::setDefault($di);
在您需要调用Models / PHQL之前,必须在某些部分调用它。
定义普通模型,并调用模型。它非常史诗。
模型示例:
<?php
namespace Vendor\App\Mvc\Model;
use \Phalcon\Mvc\Model;
class UserModel extends Model
{
public function getSource()
{
return "users";
}
}
在代码的某些部分,在调用Phalcon DI之后:
<?php
echo \Vendor\App\Mvc\Model\UserModel::find()->count();