Maison >développement back-end >tutoriel php >ThinkPHP学习笔记(三)有关项目中URL的路径有关问题和使用frame搭建页面的

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBoriginal
2016-06-13 11:12:06949parcourir

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."";

登录页面

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title>模板路径__URL__:当前模块的URL地址<br>../Public 当前模板的public目录<br>__PUBLIC__ 与主目录平级的public目录,供多个项目应用<br>__TMPL__   项目模板目录<br>__APP__ 项目的Url<br>__ACTION__当前操作的URL地址<br>__SELF__ 当前整个路径的链接<!-- 	可以自定义规则	可以在配置文件中进行修改	进行模板路径替换 -->

获取页面:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title><!-- 	可以自定义规则	可以在配置文件中进行修改	进行模板路径替换 --><!--{$username}--><!--{$content}-->


获取的action:

<?php // 本类由系统自动生成,仅供测试用途//最好独立写成php对应的文档class UserAction extends Action{	//http://localhost/MyThinkPHP/admin.php/index/hello  	public 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>";        //系统常量定义        //去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/hello	public 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("[email protected]: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

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title></title>我是模板我是模板<br>{$content}<!--{$content}--><br>我是模板我是模板

right.html  top.html

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title></title>我是模板我是模板<br>



Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn