在thinkphp中有很多自定义的常量路径,具体如下:

//        echo "<div style='font-weight:normal;color:blue;float:left;width:345px;text-align:center;border:1px solid silver;background:#E8EFFF;padding:8px;font-size:14px;font-family:Tahoma'>^_^ Hello,欢迎使用<span style='font-weight:bold;color:red'>ThinkPHP</span></div>";//系统常量定义//去THinkPHP手册中进行查找
//        echo "<br>"."网站的根目录地址".__ROOT__." ";
//        echo "<br>"."入口文件地址".__APP__." ";
//        echo "<br>"."当前模块地址".__URL__." ";
//        echo "<br>"."当前url地址".__SELF__." ";
//        echo "<br>"."当前操作地址".__ACTION__." ";
//        echo "<br>"."当前模块的模板目录".__CURRENT__." ";
//        echo "<br>"."当前操作名称".ACTION_NAME." ";
//        echo "<br>"."当前项目目录".APP_PATH." ";
//        echo "<br>"."当前项目名称".APP_NAME." ";
//        echo "<br>"."当前项目的模板目录".APP_TMPL_PATH." ";
//        echo "<br>"."项目的公共文件目录".APP_PUBLIC_PATH." ";
//        echo "<br>"."项目的配置文件目录".CONFIG_PATH." ";
//        echo "<br>"."项目的公共文件目录".COMMON_PATH." ";
//        //自动缓存与表相关的全部信息
//        echo "<br>"."项目的数据文件目录".DATA_PATH." runtime下的data目录";
//        echo "<br>"." ".GROUP_NAME."";
//        echo "<br>"." ".IS_CGI."";
//        echo "<br>"." ".IS_WIN."";
//        echo "<br>"." ".LANG_SET."";
//        echo "<br>"." ".LOG_PATH."";
//        echo "<br>"." ".LANG_PATH."";
//        echo "<br>"." ".TMPL_PATH."";
//
//        //js放入的位置,供多个应用的公共资源
//        echo "<br>"." ".WEB_PUBLIC_PATH."";

登录页面

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
模板路径
__URL__:当前模块的URL地址<br>
../Public 当前模板的public目录<br>
__PUBLIC__ 与主目录平级的public目录,供多个项目应用<br>
__TMPL__   项目模板目录<br>
__APP__ 项目的Url<br>
__ACTION__当前操作的URL地址<br>
__SELF__ 当前整个路径的链接<!-- 可以自定义规则可以在配置文件中进行修改进行模板路径替换-->
<form action="__URL__/add" method="post"><input type="text" name="username"><input type="submit" value="注册">
</form>
</body>
</html>

获取页面:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<!-- 可以自定义规则可以在配置文件中进行修改进行模板路径替换-->
<!--{$username}-->
<!--{$content}-->
</body>
</html>

获取的action:

<?php
// 本类由系统自动生成,仅供测试用途
//最好独立写成php对应的文档
class UserAction extends Action{//http://localhost/MyThinkPHP/admin.php/index/hellopublic function index(){header("Content-Type:text/html; charset=utf-8");echo "UserAction.index!";$this->verify();}  public function fuck(){header("Content-Type:text/html; charset=utf-8");echo "UserAction.the world!";$this->verify();}private function verify(){$this->display();echo "<br>UserAction.验证方法";}public function login(){$this->assign("content","这是内容啊");$this->display();echo "<br>UserAction.验证方法";}public function add(){dump($_POST);echo $_POST['username'];$this->assign("username",$_POST['username']);$this->display();}
}
?>

使用frame搭建页面:不要引入静态的html文件,应该在Action的方法中填写,如下:

indexAction

<?php
// 本类由系统自动生成,仅供测试用途
/*** thinkphp一共有四种路径访问模式,可以在conf文件夹中修改* 0: 普通模式:http://localhost/MyThinkPHP/admin.php?m=index&a=hello* 1:pathInfo:*      http://localhost/MyThinkPHP/admin.php/index/hello*      http://localhost/MyThinkPHP/admin.php/index/hello*  2:rewrite(伪静态):自己可以写相关的rewrite规则,也可以使用系统提供的rewrite规则*        http://localhost/MyThinkPHP/index/hello*        Apache收藏的URL指南中有介绍* 3:兼容模式:路径访问(防止服务器不支持pathInfo模式)*      http://localhost/MyThinkPHP/admin.php?s=/index/hello*  *   如何在MVC中来显示模板*       */
class IndexAction extends Action{//thinkphp当中模块控制器,动作,与URL路径之间的关系//我们的 所以动作,都必须经过项目入口文件,只有这样才能找到模块(控制器)//http://localhost/MyThinkPHP/admin.php/index/index//访问indexAction中的index方法(默认访问indexAction)public function index(){header("Content-Type:text/html; charset=utf-8");
//        echo "<div style='font-weight:normal;color:blue;float:left;width:345px;text-align:center;border:1px solid silver;background:#E8EFFF;padding:8px;font-size:14px;font-family:Tahoma'>^_^ Hello,欢迎使用<span style='font-weight:bold;color:red'>ThinkPHP</span></div>";//系统常量定义//去THinkPHP手册中进行查找
//        echo "<br>"."网站的根目录地址".__ROOT__." ";
//        echo "<br>"."入口文件地址".__APP__." ";
//        echo "<br>"."当前模块地址".__URL__." ";
//        echo "<br>"."当前url地址".__SELF__." ";
//        echo "<br>"."当前操作地址".__ACTION__." ";
//        echo "<br>"."当前模块的模板目录".__CURRENT__." ";
//        echo "<br>"."当前操作名称".ACTION_NAME." ";
//        echo "<br>"."当前项目目录".APP_PATH." ";
//        echo "<br>"."当前项目名称".APP_NAME." ";
//        echo "<br>"."当前项目的模板目录".APP_TMPL_PATH." ";
//        echo "<br>"."项目的公共文件目录".APP_PUBLIC_PATH." ";
//        echo "<br>"."项目的配置文件目录".CONFIG_PATH." ";
//        echo "<br>"."项目的公共文件目录".COMMON_PATH." ";
//        //自动缓存与表相关的全部信息
//        echo "<br>"."项目的数据文件目录".DATA_PATH." runtime下的data目录";
//        echo "<br>"." ".GROUP_NAME."";
//        echo "<br>"." ".IS_CGI."";
//        echo "<br>"." ".IS_WIN."";
//        echo "<br>"." ".LANG_SET."";
//        echo "<br>"." ".LOG_PATH."";
//        echo "<br>"." ".LANG_PATH."";
//        echo "<br>"." ".TMPL_PATH."";
//
//        //js放入的位置,供多个应用的公共资源
//        echo "<br>"." ".WEB_PUBLIC_PATH."";$this->display();}public function top(){$this->display();}public function left(){$this->assign("content","这是内容啊");$this->display();}public function right(){$this->display();}//访问模式:path_Info//http://localhost/MyThinkPHP/admin.php?m=index&a=hello//http://localhost/MyThinkPHP/admin.php/index/hellopublic function hello(){header("Content-Type:text/html; charset=utf-8");echo "这是我自己的方法哦!";}/*** 模板使用* 大小写一定要注意*/public function template(){//必须在对应的项目的Tpl的default下创建与当前控制器名相同的文件夹Index//然后html文件名为方法名//默认分割符方式{$content}//可以在模板指南针中进行定界符的修改$this->assign("content","小和尚下山去化斋,老和尚有交代");$this->display();//1.同级下面指定新模板//$this->display("newTemplate");//2.跨控制器的引用模板(也可以添加分组信息)//$this->display("分组:User:verify");//3.跨皮肤引用
//      $this->display("test@User:verify");//4.全路径输出(在项目同级目录新建public文件夹)//加载文件的位置全以主入口文件来定位
//      $this->display("./public/ss.html");//display参数
//      $this->display("位置","utf-8","text/xml");}
}
?>

index.html

<frameset rows="20%,*">
<!-- 访问的时候一定要用方法,不要用绝对路径 --><frame src="__URL__/top" name="top"><frameset rows="20%,*"><frame src="__URL__/left" name="left"><frame src="__URL__/right" name="right"></frameset>
</frameset>

left.html

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
</head>
<body>
我是模板我是模板<br>
{$content}
<!--{$content}-->
<br>我是模板我是模板
</body>
</html>

right.html  top.html

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
</head>
<body>
我是模板我是模板<br>
</body>
</html>

ThinkPHP学习笔记(三)有关项目中URL的路径问题和使用frame搭建页面的相关推荐

  1. webpack入门学习笔记10 —— 在项目中使用图片资源

    1. 写在前面 在前端项目中,图片是必不可少的一种资源.在使用图片的时候,我们可以有以下几种方式: 在 .html 文件中,通过 <img src="" alt=" ...

  2. Box2d学习笔记三:box2d中几个重要的类

    我们已经知道box2d中的唯一物种:刚体,然而仅仅一个刚体对象并不能完成相应的物理模拟.如果看过box2d的帮助文档就知道,b2Body中提供的函数和属性中,并没有我们需要的物理属性,可以回忆一下,我 ...

  3. ThinkPhp学习笔记——创建数据数据库中的表单

    http://localhost/phpMyAdmin/ 用户名: root 密码: root//==========创建数据库==========↓进入页面主页后点击"数据库" ...

  4. 【HTML学习笔记】link标签中的href路径

    在index.html中引用外部css样式,需要索引css文件路径,但是css文件可能在不同目录下,需要根据具体情况写路径. [情况1]css文件在同一个目录下,直接写文件名即可<link re ...

  5. 【Javaweb学习笔记】在Eclipse中创建Web项目

    [Javaweb学习笔记]在Eclipse中创建Web项目 哈喽大家好,这里是Java框架学习笔记专栏第二期 本期内容--在Eclipse中创建Web项目 前期回顾: 第一期--schema约束 笔者 ...

  6. thinkphp学习笔记7—多层MVC

    原文:thinkphp学习笔记7-多层MVC ThinkPHP支持多层设计. 1.模型层Model 使用多层目录结构和命名规范来设计多层的model,例如在项目设计中如果需要区分数据层,逻辑层,服务层 ...

  7. thinkphp学习笔记10—看不懂的路由规则

    原文:thinkphp学习笔记10-看不懂的路由规则 路由这部分貌似在实际工作中没有怎么设计过,只是在用默认的设置,在手册里面看到部分,艰涩难懂. 1.路由定义 要使用路由功能需要支持PATH_INF ...

  8. iView学习笔记(三):表格搜索,过滤及隐藏列操作

    iView学习笔记(三):表格搜索,过滤及隐藏某列操作 1.后端准备工作 环境说明 python版本:3.6.6 Django版本:1.11.8 数据库:MariaDB 5.5.60 新建Django ...

  9. Scrapy:学习笔记(2)——Scrapy项目

    Scrapy:学习笔记(2)--Scrapy项目 1.创建项目 创建一个Scrapy项目,并将其命名为"demo" scrapy startproject demo cd demo ...

最新文章

  1. Java中的简单工厂模式(转)
  2. 微服务四大网关性能对比
  3. 服务 TCP 断线错误分析
  4. 一个给计算机写程序的人是谁,如果计算机是中国人发明的 写代码会是一种什么情况 程序员看了都头疼...
  5. 英雄会被表彰,这些技术与代码也将被历史铭记
  6. ng-bootstrap 组件集中 tabset 组件的实现分析
  7. 股票软件开发中全推与点播的区别
  8. 【扫盲】------Zipf分布
  9. 退出CrOS Factory,进入正常Chrome OS
  10. python人物关系抽取_Python学习笔记(2) Python提取《釜山行》人物关系
  11. keil创建无启动文件及自定义.sct文件的工程
  12. 迟到的2016年年终总结----拒绝平庸的一年
  13. 从事嵌入式行业年薪有多少,你和高薪究竟差了哪些东西?
  14. 怎样用计算机打出歌,计算器怎么调成音乐键
  15. acwing数据结构笔记(一)
  16. 110道python面试笔试题汇总,你能答对几道?
  17. 发票自动处理——摆脱纸张和数据输入的束缚,自动化工作流程和异常处理,大幅缩短审核准备时间
  18. 全面分析中国菜刀及隐藏后门
  19. 香侬科技:打造出有中国文化特色的全球技术领先人工智能公司 | 百万人学AI评选
  20. 旭辉集团青睐用友NC解决方案

热门文章

  1. window.open新打开窗口与新开标签页
  2. ubuntu 安装 魔霸_魔霸之王(King of MOBA)电脑上怎么玩 电脑版模拟器安装方法
  3. Kotlin学习笔记四、集合set-容器list-映射map相关
  4. [深入研究4G/5G/6G专题-60]: Nokia如何让小基站即插即用
  5. 以互联网行业为背景下的数据分析通识
  6. 【参赛作品85】openGauss2.1.0 for openEuler 21.09安装手记
  7. 一个CMM2.5级程序员的岁月随想
  8. 领英有哪些好用的工具
  9. R语言实战:心血管病分析实例
  10. FLY攻略之第二回: 接入腾讯云短信服务 实现手机验证注册