zoukankan      html  css  js  c++  java
  • TP控制器(Controller)

    控制器的一些方法:

    Maincontroller.class.php文件:

    <?php
    namespace HomeController;
    use ThinkController;
    class MainController extends Controller{
        function _before_xianshi(){
            echo "显示操作的前置<br>";
            }    
        function Xianshi(){
            //echo $_GET["sex"];//实质是通过get方式传值
            //$this->assign("ceshi",$name);
            //$this->assign("test","hello");
            $this->display(); 
            //echo "asdadhjk";
            //$this->display();                
        }
        function _after_xianshi(){
            echo "显示操作的后置";
            }
        function ceshi($bb){
            echo $bb,$_POST["bb"];//刷新页面是进的当前方法,注意"bb"(名字必须一致)
            }
                
        function shengcheng(){
            //$path="/Thinkphp/index.php/home/main/xianshi"//这样写路径,1是太麻烦2是后期维护的时候不好进行
            echo U("xianshi")."<br>";//自动生成路径,模式跟配置有关;
            echo U("index/index");//不同控制器下的不同方法
            echo U("Admin/index/index");//不同模块下的路径
            }
        function changliang(){
            var_dump(get_defined_constants(true));//获取常量
            }
        function Denglu(){
            //一个方法实现两个逻辑
            //显示登录,实现逻辑
            if(empty($_GET))
            {
                $this->display();
                    }
            else
            {
                echo "登录成功或失败";
                }
        }
        function Peizhi(){
            C("URL_MODLE",1);
            echo U("peizhi");
            }
    }

    xianshi.html文件:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    </head>
    
    <body>
    <form action="__CONTROLLER__/ceshi" method="post">
    <input type="text" name="bb"/>
    <input type="submit" value="提交" />
    </form>
    </body>
    </html>

    denglu.html文件:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    </head>
    
    <body>
    <form action="__ACTION__" method="get">
    用户名:<input type="text" name="uid"/>
    密码:<input type="text" name="pwd" />
    <input type="submit" value="登录" />
    </form>
    </body>
    </html>
     function changliang(){
            var_dump(get_defined_constants(true));//获取常量
            }
    重要的几个常量:
    '__ROOT__' => string '/Thinkphp' // '__INFO__' => string 'Home/main/changliang' (length=20)
    '__EXT__' => string '' (length=0)
    '__SELF__' => string '/Thinkphp/index.php/Home/main/changliang' (length=40)URL,是什么输出什么 '__APP__' => string '/Thinkphp/index.php' (length=19)入口文件路径 '__MODULE__' => string '/Thinkphp/index.php/Home' (length=24)模块路径 '__CONTROLLER__' => string '/Thinkphp/index.php/Home/Main' (length=29)控制器路径
    '__ACTION__' => string '/Thinkphp/index.php/Home/Main/changliang' (length=40)方法路径
     
  • 相关阅读:
    Roslyn 语法树中的各种语法节点及每个节点的含义
    WPF 使用 WindowChrome,在自定义窗口标题栏的同时最大程度保留原生窗口样式(类似 UWP/Chrome)
    在制作跨平台的 NuGet 工具包时,如何将工具(exe/dll)的所有依赖一并放入包中
    如何在 .NET 库的代码中判断当前程序运行在 Debug 下还是 Release 下
    像黑客一样!Chrome 完全键盘操作指南(原生快捷键 + Vimium 插件)
    .NET 使用 XPath 来读写 XML 文件
    XML 的 XPath 语法
    WPF 中使用附加属性,将任意 UI 元素或控件裁剪成圆形(椭圆)
    Windows 10 四月更新,文件夹名称也能区分大小写?
    C#/.NET 中推荐的 Dispose 模式的实现
  • 原文地址:https://www.cnblogs.com/jinshui/p/5718703.html
Copyright © 2011-2022 走看看