ホームページ > バックエンド開発 > PHPチュートリアル > ThinkPHP 学習メモ (3) プロジェクト内の URL パスに関する問題と、ページを構築するためのフレームの使用

ThinkPHP 学習メモ (3) プロジェクト内の URL パスに関する問題と、ページを構築するためのフレームの使用

WBOY
リリース: 2016-06-13 12:55:46
オリジナル
807 人が閲覧しました

ThinkPHP 学習メモ (3) プロジェクト内の URL パスの問題とフレームを使用したページ構築について


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>
ログイン後にコピー


アクセスされたアクション:

<?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();
    }
}
?>
ログイン後にコピー


フレームを使用してページを構築します。静的 HTML ファイルを導入しないでください。次のように、Action メソッドにファイルを入力する必要があります:

インデックスアクション

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("test@User:verify");
		//4.全路径输出(在项目同级目录新建public文件夹)
		//加载文件的位置全以主入口文件来定位
//		$this->display("./public/ss.html");
		//display参数
//		$this->display("位置","utf-8","text/xml");
    }
}
?>
ログイン後にコピー

インデックス.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>
ログイン後にコピー



関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート