繁体   English   中英

如何使用Ar模型类将Web Service / xml / json中的数据插入Mysql Db

[英]How To Insert Data From Web Service/xml/json Into Mysql Db Using Ar Model Class

我是Yii的新手,仍然学习和热爱它。 因此,我必须构建一个基于Amazon Web服务的产品检索系统。

首先,我创建了必要的表来保存有关产品的信息。 然后,我使用了不起的Gii创建了模型类。 之后,我再次使用Gii生成了CRUD。 现在我有点卡住了。 因此Gii提供了一种表格,让用户使用必要的信息填充表格。 现在,在我的系统/应用程序中,对于任何保存产品信息的主表,都不需要表单输入。 该表应使用从Amazon API收集的数据自动填充。 只有少数几张表具有与输入字段相关的形式。

因此,任何人都可以在正确的方向上指导我如何开始实现该功能。 我应该从相应的视图中删除此代码,然后在Controller类中编写功能。

<div class="row">
<?php echo $form->labelEx($model,'type_id'); ?>
<?php echo $form->textField($model,'type_id'); ?>
<?php echo $form->error($model,'type_id'); ?>
</div>

还是我应该生成一个单独的视图文件。 现在,我似乎找不到任何进展。 如何开始? 使用Yii构建的典型应用程序的工作流程顺序应该是什么? 我将业务逻辑放在哪里? 当然,我知道根据MVC范例,业务逻辑应始终驻留在Controller类内。 但是我应该在单个控制器类中编写所有应用程序逻辑。

我已经阅读了有关模块和组件的信息。 但是我面临的难题是我不知道何时将适当的逻辑分离到各自的模块或组件中的正确时间。

我已经在关注使用Yii和PHP 2nd Edition进行Web应用程序开发,并且我承认这是一本很棒的书。 到目前为止,我已经阅读了两次。 但是当我开始构建项目时,我陷入了困境。 只是不知道从哪里开始。 我的应用程序不会遵循类似于本书示例的流程图。

我只想遵守Yii中设定的约定。 我在许多地方都听说过,一旦您习惯了Yii中的约定,您的生产率就会提高数百倍。 那么最佳实践是什么?

说::

1) What are the conventions when building an automated/real time system ?
2) How to initialize the specific controller logic sequence
3) How to get the most benefit from the CRUD/Model/Module system already built by Gii ?

使用Gii代码生成时,我尝试删除所有未使用的东西。 如果不进行维护,将使维护变得更加困难,并且如果需要,您随时可以在以后添加。

控制器不需要与表相关。 如果有的话,它们应该与功能范围相关(例如RestApiController或ReportController)。

您应该使控制器尽可能的薄。 如果模型中包含适当的逻辑,则使单元测试更加容易。 请参见Yii最佳做法文档的最后一段http://www.yiiframework.com/doc/guide/1.1/en/basics.best-practices

我个人认为Gii CRUD生成仅适用于管理员级别的配置。 例如,您需要了解数据库的设计/关系才能正确创建数据。 对于普通用户而言,它可能很复杂,并且对用户不太友好。

我一直在考虑将服务层添加到我的Yii项目中。 这是您所有业务逻辑连接的地方。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM