thinkphp基本使用

Posted on Posted in thinkphp
Tips: 本文创建于2014年5月13日,已超过 2 年,内容或图片可能已经失效!

目录

thinkphp目录说明

  • Common:核心函数库目录
  • Conf:核心配置文件目录
  • Library:核心资源库目录
  • Library/Behavior:框架行为目录
  • Library/Org:功能类库
  • Library/Think:框架核心目录
  • Library/Vendor:第三方资源库
  • Library/Think/App.class.php:核心应用类文件
  • Library/Think/Controller.class.php:父类controller
  • Library/Think/Image.class.php:图片处理功能类
  • Library/Think/Model.class.php:model模型父类
  • Library/Think/Think.class.php:框架核心文件
  • Library/Think/View.class.php:视图处理类

thinkphp-directory

 

使用后生成目录

  • Common:当前分组函数目录
  • Conf:当前分组的配置文件目录
  • Controller/Model/View:MVC模式目录

tp-directory

访问自定义控制器

路由:就是把控制器和方法封装为各种形式,以便进行访问。
在tp框架里边一共有4种路由请求方式,都可以使用。

  1. http://网址/index.php?m=Home&c=User&a=login 基本路由请求get
  2. http://网址/index.php/分组/控制器/方法 pathinfo路径方式请求(默认路由请求方式)
  3. http://网址/分组/控制器/方法 rewrite重写方式(伪静态)请求
  4. http://网址/index.php?s=/分组/控制器/方法 兼容模式请求

配置文件设置当前的路由模式

以上三个配置文件,内部同名的配置参数会覆盖前边的参数信息。

thinkphp-config
设置路由模式,在Home中的Conf中的config.php(没有就手动创建)写入thinkphp-home-config

或者使用U函数

fun-U

开发/生产模式

在入口文件中添加代码

[code lang="php"]
define ( "APP_DEBUG", true );
include '../ThinkPHP/ThinkPHP.php';
[/code]

控制器调用view视图

在控制器方法里边有3种主要方式调用view视图

  1. $this -> display(); //调用视图的名字与当前方法的名字一致,后缀是.html
  2. $this -> display(视图文件名); //调用指定视图,视图名字没有后缀
  3. $this -> display(控制器:视图); //调用其他控制器的指定视图,视图名字没有后缀

系统内置常量

登录、后台品字、商品具体页面
http://网址/shop/index.php/Admin/User/cart/tcl/3/yifu/5

  • __SELF__ -> /shop/index.php/Admin/User/cart/tcl/3/yifu/5
  • __MODULE__ -> /shop/index.php/Admin
  • __CONTROLLER__ ->/shop/index.php/Admin/User
  • __ACTION__ -> /shop/index.php/Admin/User/cart

空方法、空控制器的操作

空方法的解决办法:

  1. 在自己控制器里边制作_empty方法
  2. 可以制作一个同名的模板文件供访问

空控制器的解决办法:

在Controller下封装一个EmptyController控制器即可,内部有一个_empty()方法

跨控制器调用

[code lang="php"]
<?php
// 本类由系统自动生成,仅供测试用途
namespace Home\Controller;
use Think\Controller;
class IndexController extends Controller {
public function index(){
//① 跨控制器调用其他控制器的具体方法
//$goods = new GoodsController();
//echo $goods -> hot();

//② 通过A()快捷函数实例化控制器
//A([项目://][分组/]控制器)
//$goods = A('Goods'); //控制器信息没有Controller标志
//echo $goods -> hot();

//③ 通过R()快捷函数实例化控制器并调用指定方法
//R([项目://][分组/]控制器/操作方法);
//该方法内部对A()有封装
//echo R("Goods/hot");

echo R("Admin/Manager/pear");

$this -> display();
}

}
[/code]

» 转载请注明来源:若我若鱼 » thinkphp基本使用

Leave a Reply

Your email address will not be published. Required fields are marked *

16 + 8 =