MVC里面都有URL处理的方法, 但是不知道到底用处大不大,不理解。

jiangbai333 2013-11-24 11:00:22
平时写东西时,都是跳转什么的,偶尔也会在url后面加点参数,往后面传,但是看到各种框架里面复杂的url,真是很头疼!
正常用户访问的时候,根本不会去输入那种复杂的地址啊。 还有,在框架运行时,也会跳转,那么单一入口也没有什么必要性了, 因为跳转到下一个页面,系统的很多参数又要重新配置了。 实在是不理解阿,各位IT友,帮我解决以下疑惑。
...全文
115 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiangbai333 2013-12-02
  • 打赏
  • 举报
回复
引用 1 楼 KK3K2005 的回复:
现在很多 后台框架都是单一入口把 通过url上的参数完全 映射到 指定的业务方法上 用户关心什么? 用户只要知道 域名 和 index.html页面就可以了
查了很多资料,C使得M和V协调工作,例如thinkphp,基础教程里面那个,读取数据库通过C display()出V页面。但是当遇到提交表单的时候, 既然C是控制M V的,那么提交信息应该是通过C接受的V表单中的数据,我看thinkphp里面那个add的教程,C里面没有写display()的方法,现在就出现了两个不懂的问题: 1.指定的视图都是通过C输出的,但是add的C却没有用到display方法去渲染表单视图。 2.C控制V中数据的流向,那么V中通过表单提交的数据应该传到C,由C传递到M,因为都是php文件,没法不跳转直接刷新页面,所以操作的结果没法返回给V中阿。 下面是读取数据的代码V通过C中的display()方渲染 FormAction.class.php
    public function read($id=0){
        $Form   =   M('Form');
        // 读取数据
        $data =   $Form->find($id);
        if($data) {
            $this->data =   $data;// 模板变量赋值
        }else{
            $this->error('数据错误');
        }
        $this->display();
    }
read.html
<!DOCTYPE html>
<html>
    <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    </head>
    <body>
        <table>
            <tr>
                <td>id:</td>
                <td>{$data.id}</td>
            </tr>
            <tr>
                <td>标题:</td>
                <td>{$data.title}</td>
            </tr>
            <tr>
                <td>内容:</td>
                <td>{$data.content}</td>
            </tr>
        </table>
    </body>
</html>
下面是向数据库写入的代码 add.html没用通过V的display()渲染,但是去莫名其妙的显示了 FormAction.class.php
    public function insert(){
        $Form   =   D('Form');
        if($Form->create()) {
            $result =   $Form->add();
            if($result) {
                $this->success('操作成功!');
            }else{
                $this->error('写入错误!');
            }
        }else{
            $this->error($Form->getError());
        }
    }
add.html
<!DOCTYPE html>
<html>
    <head>
        <title></title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    </head>
    <body>
        <FORM method="post" action="__URL__/insert">
            标题:<INPUT type="text" name="title"><br/>
            内容:<TEXTAREA name="content" rows="5" cols="45"></TEXTAREA><br/>
            <INPUT type="submit" value="提交">
        </FORM>
    </body>
</html>
KK3K2005 2013-11-24
  • 打赏
  • 举报
回复
现在很多 后台框架都是单一入口把 通过url上的参数完全 映射到 指定的业务方法上 用户关心什么? 用户只要知道 域名 和 index.html页面就可以了

10,606

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 其他
社区管理员
  • 其他
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧