我可以在没有Yii的情况下使用Yii的Activerecord(模型)类吗?它看起来有很多依赖关系。我想在我自己的项目中使用Yii的ORM和验证机制。
tyu7yeag1#
Yii的ActiveRecord类有很多依赖类,因此你不能只使用这些类。对于你得到的每一个错误,你最终都会包含所有的依赖类。如果你想在你的项目中使用ORM,那么为什么不使用一些最好的PHP ORM呢?而且你会100%确定没有任何东西被打破。你可以使用的PHP ORM有:
wwtsj6pe2#
我会说,如果你不这样做,并通过从Yii的想法来写一些你自己的东西,或者最好使用Yii本身,因为CActiverecord是Yii的核心部分,扩展了CModel和CComponent,如果你试图从Yii中提取它,你会发现你几乎复制了所有的东西。
CActiverecord
CModel
CComponent
zlhcx6iw3#
你的问题似乎无法回答。你不能从Yii中提取一个PHP类而不使用整个框架。像Symphony这样的框架,提供了一些你可以使用的组件,而不需要使用整个框架。有一个关于PHP的ORM项目,我从来没有用过,不过可以做个体验…http://www.phpactiverecord.org/我希望它能帮助你,拥抱。
nimxete24#
好吧,你可以提取它,我建议你从Yii2中提取(这会更容易,因为它只需要一个容器来保存组件示例)。Yii是一个非常轻的模块化框架,你可以只加载基本组件,为什么不加载整个组件呢?但是如果你只想使用AR和自己的路由,导入Yii自动加载器,然后尝试使用模型。我希望能成功。但是,您将需要整个单独的应用程序来生成例如gii的模型。
gii
mzsu5hc05#
最好不要单独使用它,因为ActiveRecord在框架中有很多依赖类。您可以查看代码并构建自己的验证,如Yii,或者您可以选择流行的ORM,如Proper或Doctorine。他们有很好的文件。http://propelorm.org/https://www.doctrine-project.org/
rdlzhqv96#
如果没有整个框架,您就无法真正使用ActiveRecord类。ActiveRecord不是一个独立的类,它严重依赖于框架的其他组件,例如数据库、缓存、模式等。提取过程看起来更像是试图重新实现类运行所需的框架组件。如果你对Yii框架的ORM和验证机制感兴趣,我相信你应该深入挖掘yii的核心,并创建自己的“ActiveRecord”类来实现ORM +验证。
6条答案
按热度按时间tyu7yeag1#
Yii的ActiveRecord类有很多依赖类,因此你不能只使用这些类。对于你得到的每一个错误,你最终都会包含所有的依赖类。
如果你想在你的项目中使用ORM,那么为什么不使用一些最好的PHP ORM呢?而且你会100%确定没有任何东西被打破。
你可以使用的PHP ORM有:
有关更多信息,请查看以下一些SO问题:
wwtsj6pe2#
我会说,如果你不这样做,并通过从Yii的想法来写一些你自己的东西,或者最好使用Yii本身,因为
CActiverecord
是Yii的核心部分,扩展了CModel
和CComponent
,如果你试图从Yii中提取它,你会发现你几乎复制了所有的东西。zlhcx6iw3#
你的问题似乎无法回答。你不能从Yii中提取一个PHP类而不使用整个框架。像Symphony这样的框架,提供了一些你可以使用的组件,而不需要使用整个框架。有一个关于PHP的ORM项目,我从来没有用过,不过可以做个体验…http://www.phpactiverecord.org/我希望它能帮助你,拥抱。
nimxete24#
好吧,你可以提取它,我建议你从Yii2中提取(这会更容易,因为它只需要一个容器来保存组件示例)。Yii是一个非常轻的模块化框架,你可以只加载基本组件,为什么不加载整个组件呢?但是如果你只想使用AR和自己的路由,导入Yii自动加载器,然后尝试使用模型。我希望能成功。
但是,您将需要整个单独的应用程序来生成例如
gii
的模型。mzsu5hc05#
最好不要单独使用它,因为ActiveRecord在框架中有很多依赖类。您可以查看代码并构建自己的验证,如Yii,或者您可以选择流行的ORM,如Proper或Doctorine。他们有很好的文件。
http://propelorm.org/
https://www.doctrine-project.org/
rdlzhqv96#
如果没有整个框架,您就无法真正使用ActiveRecord类。ActiveRecord不是一个独立的类,它严重依赖于框架的其他组件,例如数据库、缓存、模式等。
提取过程看起来更像是试图重新实现类运行所需的框架组件。
如果你对Yii框架的ORM和验证机制感兴趣,我相信你应该深入挖掘yii的核心,并创建自己的“ActiveRecord”类来实现ORM +验证。