Php MVC设计-在CodeIgniter MVC web应用程序项目中,我可以/应该/必须拥有多少控制器?
我正在使用CodeIgniter MVC框架用PHP构建一个相对简单的web应用程序。我以前开发过PHP应用程序,但从来没有严格遵守过。我已经习惯了MVC框架,但是有两个问题一直把我带回到绘图板上,这会减慢开发速度Php MVC设计-在CodeIgniter MVC web应用程序项目中,我可以/应该/必须拥有多少控制器?,php,model-view-controller,codeigniter,Php,Model View Controller,Codeigniter,我正在使用CodeIgniter MVC框架用PHP构建一个相对简单的web应用程序。我以前开发过PHP应用程序,但从来没有严格遵守过。我已经习惯了MVC框架,但是有两个问题一直把我带回到绘图板上,这会减慢开发速度 对于一个web应用程序可以拥有多少控制器,是否有最佳实践?我的应用程序有一个(相当大的)控制器,其中包括业务逻辑、表单提交逻辑等。虽然这样做有效,但我正在讨论是否有必要使用单独的控制器,例如一个用于表单处理和提交,另一个用于用户管理(会话、登录、注册)等。然后,我也不想过度设计这件事
重要的是要记住:这个答案非常主观,脂肪控制器与脂肪模型是一个年龄段的争论,我们不要把它当作一方或另一方是一个确定的标准。Codeigniter实际上鼓励fat控制器,不同的框架围绕不同的目标构建/ideas@jondavidjohn:对于一般MVC来说是这样,但是对于PHP开发来说,胖模型瘦控制器方法显然是最好的方法。这只是说明您缺乏使用codeigniter的经验。本文中给出的表单验证示例甚至不可能使用codeigniter,因为模型类没有扩展singleton CI实例,因此它无法执行验证,至少利用codeigniter的验证库是如此。因此,虽然这在以这种组织为基础构建的框架中可能是个好主意,但codeigniter却不是。我想那是我的错:P@Codemonkey我完全同意你的意见。即使使用CI,fat控制器可能出现的问题的例子是无法重用代码,因为您无法从任何其他模型/控制器引用控制器操作/属性。这是我见过的最干净、最深思熟虑且格式最规范的1信誉问题+1给你,好先生!这不应该出现在“程序员交换”上吗?这是个好问题。我明白为什么MVC会强制执行严格的编码。您所建议的是一个“登录控制器”,它调用“登录助手”中的函数,使用“登录模型”验证用户的凭据。嗯,哎哟!不,通常对于登录函数,您使用(或编写)一个库,该库将具有与数据库交互的相应模型。如果您阅读了helper的描述,它将更适合于像generate_random_number示例这样的任务。我通常有一个“auth”控制器,用于处理登录/注销/忘记密码等。。。面向公众的身份验证功能,一旦登录成功,它会将用户发送到受保护区域。我有一篇关于这个主题的相当详细的文章,你会“或多或少”为每一个模型配备一个控制器吗?