Yii的ActiveRecord类有很多依赖类,因此您将无法仅使用这些类。每次出现错误时,您都需要包含所有依赖类。
如果您想要在项目中使用ORM,那么为什么不使用一些最好的可用于PHP的ORM呢?而且您可以100%确定没有任何问题。
您可以使用以下一些PHP ORM:
欲了解更多信息,请查看以下一些SO问题:
你的问题似乎无法回答。在不使用整个框架的情况下,你无法从Yii中提取PHP类。像Symfony这样的框架为你提供了一些组件,你可以使用它们而不需要使用整个框架。 PHP上有一个ORM项目,我从未使用过,但你可以尝试一下: http://www.phpactiverecord.org/
您可以通过将Yii定义为依赖项来实现此操作。
请查看下面的链接,可能会对您有帮助 :)
http://www.yiiframework.com/doc-2.0/guide-tutorial-yii-integration.html#using-yii-in-others
如果你不懂得写作,可以从Yii中借鉴一些灵感或直接使用Yii本身,这样会更好。因为CActiverecord
是Yii的核心部分,扩展了CModel
和CComponent
。如果你试图从Yii中提取它,最终你会发现几乎所有内容都被复制了。
好的,你可以提取它,我建议你从Yii2中提取(因为它只需要一个容器来容纳组件实例,所以会更容易)。Yii是一个非常轻量级、模块化的框架,你可以只加载基本组件,那么为什么不加载整个框架呢?如果你只想使用AR和自己的路由,则导入Yii自动加载程序,然后尝试使用模型。我希望它能够正常工作。
但是,你需要一个完整的单独应用程序来生成模型,例如使用gii
。
你不能真正使用ActiveRecord类而不使用整个框架。 ActiveRecord不是一个独立的类,严重依赖于框架的其他组件,例如数据库、缓存、模式等...
提取过程更像是尝试重新实现类所需的框架组件。
如果你对Yii框架的ORM和验证机制感兴趣,我相信你应该深入挖掘yii的核心,并创建自己的“ActiveRecord”类来实现ORM+验证。
希望这回答了你的问题。