牛骨文教育服务平台(让学习变的简单)
博文笔记

thinkphp输出url路径 U函数

创建时间:2015-08-23 投稿人: 浏览次数:2794
thinkphp3.2.3

普通模式的URL是

http://127.0.0.1/cmf/index.php?m=home&c=index&a=index

PATHINFO模式的URL是

http://127.0.0.1/cmf/index.php/home/index/index


一个如下路径的控制器
htdocswishIndexHomeControllerIndexController.php
Index : APP_NAME
Home: DEFAULT_MODULE 
Comtroller:DEFAULT_CONTROLLER
index控制器的index方法:
class IndexController extends Controller {
    public function index(){
       //dump($_GET);
       echo U("index");
    }
}

在浏览器中输入

http://127.0.0.1/wish/index.php?m=home&c=index&a=index


http://127.0.0.1/wish/index.php/home/index/index

http://127.0.0.1/wish/index.php

在"URL_MODEL"             => 0,时,会输出
/wish/index.php?m=Home&c=Index&a=index
在"URL_MODEL"             => 1,时,会输出
/wish/index.php/Home/Index/index.html

3.2中分模块,
在入口文件index.php中
define ("APP_NAME" , "App");
define ("APP_PATH" , "./App/");
define ("APP_DEBUG" , "TRUE");
include "./ThinkPHP/ThinkPHP.php"
会在App目录下默认自动生成Home目录(Home模块)·
如果再加上下面一行
define("BIND_MODULE","Admin");
就会在App目录下自动生成Admin模块,然后把这行删掉就行了
可以在App/Common/Conf/config.php中配置默认模块DEFAULT_MODULE

return array(
    //"配置项"=>"配置值"
  //  "APP_GROUP_LIST"=>"Index,Admin",
   // "DEFAULT_GROUP"=>"Index",

    "DEFAULT_MODULE"=>"Admin",
);


打印
function p($array)
{
    dump($array,1,"<pre>",0);
}
路径:以网站根目录为根路径,比如 C:xampphtdocswish313,则wish313是根路径
<scripttype="text/javascript"src="/wish313/Public/Js/index.js"></script>

更改__PUBLIC__ ,__PUBLIC__ 是模板替换不是常量
"TMPL_PARSE_STRING"=>array(
    "__PUBLIC__"=>__ROOT__. "/" .APP_NAME."/Tpl/Public",
),

调试打开
在index.php中定义APP_DEBUG
define ("APP_DEBUG" , "TRUE");
打开SHOW_PAGE_TRACE
在config.php中定义
"SHOW_PAGE_TRACE"=>"true",


一个错误的U方法使用,导致我调了一个小时
<form action="{:U(GROUP_NAME . "./Login/login")}" method="post" id="login">     -----------多了一个点
会提交到
http://127.0.0.1/blog313/index.php/Admin./Login/login
而在login方法中
$url = U(GROUP_NAME . "/Index/index");
echo $url;die;
http://127.0.0.1/blog313/index.php/Admin./Admin/Login/login

正确的是:
<form action="{:U(GROUP_NAME . "/Login/login")}" method="post" id="login">






M方法:
在App/Conf/config.php中配置好数据库参数
"DB_HOST" => "127.0.0.1",
"DB_USER"=>"root",
"DB_PWD"=>"",
"DB_NAME"=>"hd_think",
"DB_PREFIX"=>"hd_",
则在控制器函数中直接使用M函数就可以读出hd_think数据库的hd_wish表的数据
$wish = M("wish")->select();
$wish = M("wish")->limit(10)->select();
dump($wish);
$this->assign("wish",$wish);//通过assign函数传输打牌html页面中
或者直接赋值
$this->wish=$wish

在对应模板函数中,获取wish元素值
<foreach name="wish" item="v">
   {$v.content}
   {$v.username}
</foreach>



删除
$res =  M("wish")->where("id>0")->delete();

添加
 $data =array(
     "content" => I("content"),
     "username" => I("username"),
     "time"=>time()
 );
// p($data);
$id = M("wish")->data($data)->add();
 if($id)
 {
     $this->success("发布成功",U("index"));
 }
 else{
     $this->error("发布失败");
 }



F方法
从文件读数据到变量,或写变量到文件
F("phiz",$phiz,"./Data/");//将变量phiz写到data目录下的phiz.php文件里

$phiz =  F("phiz","","./Data/");//从data目录下的phiz.php文件里读出内容到变量phiz


声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。