php 没有yii的Yii Activerecord

khbbv19g  于 2023-05-21  发布在  PHP
关注(0)|答案(6)|浏览(117)

我可以在没有Yii的情况下使用Yii的Activerecord(模型)类吗?它看起来有很多依赖关系。我想在我自己的项目中使用Yii的ORM和验证机制。

tyu7yeag

tyu7yeag1#

Yii的ActiveRecord类有很多依赖类,因此你不能只使用这些类。对于你得到的每一个错误,你最终都会包含所有的依赖类。
如果你想在你的项目中使用ORM,那么为什么不使用一些最好的PHP ORM呢?而且你会100%确定没有任何东西被打破。
你可以使用的PHP ORM有:

  1. Propel
  2. PHPActiveRecord
  3. Doctrine
  4. Redbean
    有关更多信息,请查看以下一些SO问题:
  5. Good PHP ORM
  6. Redbean Vs Doctrine
wwtsj6pe

wwtsj6pe2#

我会说,如果你不这样做,并通过从Yii的想法来写一些你自己的东西,或者最好使用Yii本身,因为CActiverecord是Yii的核心部分,扩展了CModelCComponent,如果你试图从Yii中提取它,你会发现你几乎复制了所有的东西。

zlhcx6iw

zlhcx6iw3#

你的问题似乎无法回答。你不能从Yii中提取一个PHP类而不使用整个框架。像Symphony这样的框架,提供了一些你可以使用的组件,而不需要使用整个框架。有一个关于PHP的ORM项目,我从来没有用过,不过可以做个体验…http://www.phpactiverecord.org/我希望它能帮助你,拥抱。

nimxete2

nimxete24#

好吧,你可以提取它,我建议你从Yii2中提取(这会更容易,因为它只需要一个容器来保存组件示例)。Yii是一个非常轻的模块化框架,你可以只加载基本组件,为什么不加载整个组件呢?但是如果你只想使用AR和自己的路由,导入Yii自动加载器,然后尝试使用模型。我希望能成功。
但是,您将需要整个单独的应用程序来生成例如gii的模型。

mzsu5hc0

mzsu5hc05#

最好不要单独使用它,因为ActiveRecord在框架中有很多依赖类。您可以查看代码并构建自己的验证,如Yii,或者您可以选择流行的ORM,如Proper或Doctorine。他们有很好的文件。
http://propelorm.org/
https://www.doctrine-project.org/

rdlzhqv9

rdlzhqv96#

如果没有整个框架,您就无法真正使用ActiveRecord类。ActiveRecord不是一个独立的类,它严重依赖于框架的其他组件,例如数据库、缓存、模式等。
提取过程看起来更像是试图重新实现类运行所需的框架组件。
如果你对Yii框架的ORM和验证机制感兴趣,我相信你应该深入挖掘yii的核心,并创建自己的“ActiveRecord”类来实现ORM +验证。

相关问题