cinewerheih 发表于 2016-8-29 23:57:55

越来越感觉这MVC不好用

越来越感觉这MVC不好用呀。
比如说,我写一个注册,刚开始我要写一个controller的A函数,用来加载注册的view,然后又得写个B函数,去处理注册的后台处理。最后,注册完我还得返回到登录页面,这时候我不能直接在B函数中load登录的view,因为url地址栏地址不对。我暂时只能想到,通过写一个注册跳登录的view,在view中location到登录的controller中。

不知道是不是我没有从旧有的前台跳后台,后台跳前台的那种模式转换过来,现在用的好别扭。求大神指点

Michael锐生 发表于 2016-8-30 10:00:36

登陆成功后要跳转到登陆页面,你就直接跳转到登陆界面的地址就好了,没必要在登陆逻辑里面再写一个登陆view

cinewerheih 发表于 2016-8-30 10:20:14

Michael锐生 发表于 2016-8-30 10:00
登陆成功后要跳转到登陆页面,你就直接跳转到登陆界面的地址就好了,没必要在登陆逻辑里面再写一个登陆view ...

没怎么看懂,我在注册的controller的php中怎么跳到登录界面的地址?

Closer 发表于 2016-8-30 10:38:50

cinewerheih 发表于 2016-8-30 10:20
没怎么看懂,我在注册的controller的php中怎么跳到登录界面的地址?
其實他的意思差不多,就是:
登入前(GET) => 登入中(POST) => 登入後(GET)

你所想的是:
註冊前(GET) => 註冊中(POST) => 登入前(GET)

而你原本是想要這樣子是嗎?
註冊前(GET) => 註冊中(POST) + 登入前畫面

MVC不是不好用,是你還不太會用
它可以幫助你更理解流程和減少重工

也許你可以看看 CI 手冊 - URL輔助函數
 

cinewerheih 发表于 2016-8-30 11:36:45

Closer 发表于 2016-8-30 10:38
其實他的意思差不多,就是:
登入前(GET) => 登入中(POST) => 登入後(GET)



恩。是不怎么会用。我是这么理解你说的:
注册前(通过C加载V) => 注册中 (只调用C,在C中调用重定向方法,跳到登录的C) =>登录前(通过登录的C加载V)

是这样的吗??

Closer 发表于 2016-8-30 11:41:55

本帖最后由 Closer 于 2016-8-30 11:44 编辑

cinewerheih 发表于 2016-8-30 11:36
恩。是不怎么会用。我是这么理解你说的:
注册前(通过C加载V) => 注册中 (只调用C,在C中调用重定向方法 ...
沒錯

因為切分出來了
你可以有多個註冊畫面
都送往註冊中這個方法去處理
只要適當的邏輯判斷與使用 isset()

甚至你可以決定註冊後要導向的頁面
只要在註冊前傳遞一個 GET 給註冊中就行了 (或session或cookie)
再判斷要前往到 "登陸前" 或 "首頁" (根據身分或場景不同)

這就是 Controller 的核心用途

 

Hex 发表于 2016-8-31 10:35:32

MVC 是把你以前写在一起的代码,拆分开,这样你不觉得更清晰更优雅么?
把各种东西混到一起,不觉得很乱很不好维护么?

可能你这几十行代码放一起觉得没什么,如果是几万行代码都混在一起呢?几十万行呢?你是不是觉得确实有必要拆开呢?
页: [1]
查看完整版本: 越来越感觉这MVC不好用