ThinkPHP学习笔记(三)有关项目中URL的路径问题和使用frame搭建页面的
在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搭建页面的相关推荐
- webpack入门学习笔记10 —— 在项目中使用图片资源
1. 写在前面 在前端项目中,图片是必不可少的一种资源.在使用图片的时候,我们可以有以下几种方式: 在 .html 文件中,通过 <img src="" alt=" ...
- Box2d学习笔记三:box2d中几个重要的类
我们已经知道box2d中的唯一物种:刚体,然而仅仅一个刚体对象并不能完成相应的物理模拟.如果看过box2d的帮助文档就知道,b2Body中提供的函数和属性中,并没有我们需要的物理属性,可以回忆一下,我 ...
- ThinkPhp学习笔记——创建数据数据库中的表单
http://localhost/phpMyAdmin/ 用户名: root 密码: root//==========创建数据库==========↓进入页面主页后点击"数据库" ...
- 【HTML学习笔记】link标签中的href路径
在index.html中引用外部css样式,需要索引css文件路径,但是css文件可能在不同目录下,需要根据具体情况写路径. [情况1]css文件在同一个目录下,直接写文件名即可<link re ...
- 【Javaweb学习笔记】在Eclipse中创建Web项目
[Javaweb学习笔记]在Eclipse中创建Web项目 哈喽大家好,这里是Java框架学习笔记专栏第二期 本期内容--在Eclipse中创建Web项目 前期回顾: 第一期--schema约束 笔者 ...
- thinkphp学习笔记7—多层MVC
原文:thinkphp学习笔记7-多层MVC ThinkPHP支持多层设计. 1.模型层Model 使用多层目录结构和命名规范来设计多层的model,例如在项目设计中如果需要区分数据层,逻辑层,服务层 ...
- thinkphp学习笔记10—看不懂的路由规则
原文:thinkphp学习笔记10-看不懂的路由规则 路由这部分貌似在实际工作中没有怎么设计过,只是在用默认的设置,在手册里面看到部分,艰涩难懂. 1.路由定义 要使用路由功能需要支持PATH_INF ...
- iView学习笔记(三):表格搜索,过滤及隐藏列操作
iView学习笔记(三):表格搜索,过滤及隐藏某列操作 1.后端准备工作 环境说明 python版本:3.6.6 Django版本:1.11.8 数据库:MariaDB 5.5.60 新建Django ...
- Scrapy:学习笔记(2)——Scrapy项目
Scrapy:学习笔记(2)--Scrapy项目 1.创建项目 创建一个Scrapy项目,并将其命名为"demo" scrapy startproject demo cd demo ...
最新文章
- Java中的简单工厂模式(转)
- 微服务四大网关性能对比
- 服务 TCP 断线错误分析
- 一个给计算机写程序的人是谁,如果计算机是中国人发明的 写代码会是一种什么情况 程序员看了都头疼...
- 英雄会被表彰,这些技术与代码也将被历史铭记
- ng-bootstrap 组件集中 tabset 组件的实现分析
- 股票软件开发中全推与点播的区别
- 【扫盲】------Zipf分布
- 退出CrOS Factory,进入正常Chrome OS
- python人物关系抽取_Python学习笔记(2) Python提取《釜山行》人物关系
- keil创建无启动文件及自定义.sct文件的工程
- 迟到的2016年年终总结----拒绝平庸的一年
- 从事嵌入式行业年薪有多少,你和高薪究竟差了哪些东西?
- 怎样用计算机打出歌,计算器怎么调成音乐键
- acwing数据结构笔记(一)
- 110道python面试笔试题汇总,你能答对几道?
- 发票自动处理——摆脱纸张和数据输入的束缚,自动化工作流程和异常处理,大幅缩短审核准备时间
- 全面分析中国菜刀及隐藏后门
- 香侬科技:打造出有中国文化特色的全球技术领先人工智能公司 | 百万人学AI评选
- 旭辉集团青睐用友NC解决方案
热门文章
- window.open新打开窗口与新开标签页
- ubuntu 安装 魔霸_魔霸之王(King of MOBA)电脑上怎么玩 电脑版模拟器安装方法
- Kotlin学习笔记四、集合set-容器list-映射map相关
- [深入研究4G/5G/6G专题-60]: Nokia如何让小基站即插即用
- 以互联网行业为背景下的数据分析通识
- 【参赛作品85】openGauss2.1.0 for openEuler 21.09安装手记
- 一个CMM2.5级程序员的岁月随想
- 领英有哪些好用的工具
- R语言实战:心血管病分析实例
- FLY攻略之第二回: 接入腾讯云短信服务 实现手机验证注册