ThinkPHP中和redirect naar voren的区别

ThinkPHP 中 和 redirect naar voren 的 区别 在 那里 呢?

首先 看 代码 注释:

naar voren:执行某个Action操作(隐含跳转)支持指定模块和延时执行
redirect: Actie跳转(URL重定向)支持指定模块和延时跳转

其次 看 代码 组织, 二者 的 行为 是 不同 的:

naar voren:

         if (is_array ($ actie)) {
             / / 通过 类似 array (& $ module, $ actie) 的 方式 调用
             call_user_func ($ actie);
         } Else {
             if (empty ($ module)) {
                 $ Module = defined ('C_MODULE_NAME') C_MODULE_NAME:? Module_name;
             }
             if (MODULE_NAME! = $ module) {
                 $ Class = A ($ module, $ app);
                 call_user_func (array (& $ class, $ actie));
             } Else {
                 / / 执行 当前 模块 操作
                 $ This-> {$ actie} ();
             }
         }

redirect:

        if (empty ($ module)) {
             $ Module = defined ('C_MODULE_NAME') C_MODULE_NAME:? Module_name;
         }
         $ Url = url ($ actie, $ module, $ route, $ app, $ params);
         redirect ($ url, $ delay, $ msg);

redirect 则 是 通过 改变 URL 地址 栏, 直接 跳转 过去 的.

上 论坛 搜索, 发现 老大 给出 了 一些 指点, 其 说明 如下:

可以 把 vooruit 看成 是 隐含 跳转, rediret 是 直接 跳转.
redirect是会改变url,跳过去执行另外的操作

例外 论坛 里 有 位 兄弟 已经 给出 了 vooruit 的 用法:

    原来 vooruit 是 Action 基 类 的 一个 操作 Actie:: forward ();
    有 4 个 参数, (1 = 目标 操作, 2 = 目标 模块, 3 = 目标 项目, 4 = 是否 结束, 5 = 转 前 等待 秒数)
    实例:
    比如 现有 2 个 项目 myApp1 和 myApp2
    目标: 从 myApp1 项目 的 Index 模块 index 操作 (IndexAction:: index ()) 跳转 到 myApp2 的 IndexAction:: index ()
    在 myApp1 IndexAction:: index () (即 这个 方法 里)
     {里面 $ this-> vooruit ('index', 'Index', 'myApp2', false, 5);}
    注意 第 2 个 参数 的 的 Index i 是 大写 (表示 模块)
Deel dit bericht:
Digg Google Bookmarks reddit Mixx StumbleUpon Technorati Yahoo! Buzz DesignFloat Heerlijk BlinkList Furl

No Responses to "ThinkPHP 中 和 redirect naar voren 的 区别"

Laat een reactie achter:

Naam (verplicht):
Mail (zal niet worden gepubliceerd) (verplicht):
Website:
Reactie (verplicht):
XHTML: Je kan deze tags gebruiken: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>