【问题标题】:Can one controller point to different models?一个控制器可以指向不同的模型吗?
【发布时间】:2013-08-17 12:07:32
【问题描述】:

我目前正在开发一个登录和注册系统, 登录系统(它自己的控制器、模型和视图)包括以下功能: 验证、if_uname_exists、if_email_exists 等

注册系统(它自己的控制器,模型和视图)包括功能: 注册、发送激活、发送电子邮件等

但是我需要制作一个用户控制器,它以用户名作为数据成员,并且我需要调用诸如 is_admin()、update_profile() 之类的函数。所以我的疑问是,这些功能是否应该包含在用户模型中,或者我可以将它们包含在另一个模型中,例如:登录模型或配置文件模型?

是否有任何最佳实践可以遵循? 非常感谢

【问题讨论】:

  • 是的,您可以在一个控制器中使用尽可能多的模型,您需要加载它们 $this->load->model('login_model'); $this->load->model('register_model'); $this->login_model->login(); $this->register_model->register();

标签: codeigniter login registration


【解决方案1】:

绝对是的。一个控制器许多模型。

要考虑的另一件事 - 请注意不是每个人都会同意这一点,但假设您有一个 User 模型,然后您需要其他与​​ User 相关但不同的模型。您可以创建一个 user.php 模型,然后创建一个名为 user 的文件夹。您的模型目录结构将显示您的应用程序结构,如

  user.php 
  user/create.php
  user/emailnews.php
  user/relatedcontent.php

这使您可以使用更短的模型名称 - 这仍然是有意义的。通常,您将在用户模型中拥有抽象方法,并从文件夹中的模型中调用细节。即使 emailnews 只有一种方法——这样拆分也有助于记录您的应用程序。

【讨论】:

    猜你喜欢
    • 2014-01-16
    • 2013-08-29
    • 1970-01-01
    • 1970-01-01
    • 2018-07-05
    • 1970-01-01
    • 1970-01-01
    • 2015-02-16
    • 2016-11-02
    相关资源
    最近更新 更多