本节课大纲:
一、什么是MVC //了解
M -Model 编写model类 对数据进行操作 使用Model类 来操作数据
V -View 编写html文件,页面呈现
C -Controller 编写类文件(UserAction.class.php)
二、ThinkPHP的MVC特点 //了解
三、ThinkPHP的MVC对应的目录 //了解
M 项目目录/应用目录/Lib/Model
C:\wamp\www\thinkphp\Home\Lib\Model
V 项目目录/应用目录/Tpl
C:\wamp\www\thinkphp\Home\Tpl
C 项目目录/应用目录/Lib/Action
C:\wamp\www\thinkphp\Home\Lib\Action
命名: xxAction.class.php
http://localhost:8080/thinkphp/index.php/Index/index 访问Index模块下的index 方法
四、url访问C //了解
五、url的4种访问方式 //重点!
1.PATHINFO 模式 -- 重点!!!!!!
http://域名/项目名/入口文件/模块名/方法名/键1/值1/键2/值2
http://localhost/thinkphp/index.php/Index/show
2.普通模式
http://域名/项目名/入口文件?m=模块名&a=方法名&键1=值1&键2=值2
3.REWRITE模式
http://域名/项目名/模块名/方法名/键1/值1/键2/值2
4.兼容模式
http://域名/项目名/入口文件?s=模块名/方法名/键1/值1/键2/值2
http://localhost/thinkphp/ 访问的是index.php 主入口文件
http://localhost/thinkphp/index.php/Index/index
模块/方法
C:\wamp\www\thinkphp\Home\Lib\Action 默认模块IndexAction.class.php
比如要创建用户模块
UserAction.class.php
class IndexAction extends Action 继承Action类
<?php
// 本类由系统自动生成,仅供测试用途
class IndexAction extends Action {
public function index(){
$this->show('hello-world');
}
}
http://localhost/thinkphp/index.php/Index/show
访问Index 模块的show方法
<?php
// 本类由系统自动生成,仅供测试用途
class IndexAction extends Action {
public function index(){
$this->show('hello-world');
}
public function show(){
echo 访问了Index模块的show方法;
}
}
接口传参:
<?php
// 本类由系统自动生成,仅供测试用途
class IndexAction extends Action {
public function index(){
$this->show('hello-world');
}
public function show(){
echo 访问了Index模块的show方法;
echo "欢迎你".$_GET['name']";
}
}
http://localhost/thinkphp/index.php/Index/show?name=jj
http://localhost/thinkphp/index.php/Index/show/name/jj
http://localhost/thinkphp/index.php/Index/show/name/xxyyzz
传递多个参数:
<?php
// 本类由系统自动生成,仅供测试用途
class IndexAction extends Action {
public function index(){
$this->show('hello-world');
}
public function show(){
echo 访问了Index模块的show方法;
echo "欢迎你".$_GET['name'].'你的年龄是'.$_GET['age'];
}
}
http://localhost/thinkphp/index.php/Index/show/name/xxyyzz/age/22
<?php
// 本类由系统自动生成,仅供测试用途
class IndexAction extends Action {
public function index(){
$this->show('Hello world');
}
public function test(){
$this->show('访问Index模块下的show方法');
}
}
访问Index模块下的test方法
get传参:
<?php
// 本类由系统自动生成,仅供测试用途
class IndexAction extends Action {
public function index(){
$this->show('Hello world');
}
public function test(){
$this->show("欢迎你.$_GET[name]");
}
}
http://localhost:8080/thinkphp/index.php/Index/test/name/xxx
http://localhost:8080/thinkphp/index.php/Index/test?name=yyy
<?php
// 本类由系统自动生成,仅供测试用途
class IndexAction extends Action {
public function index(){
$this->show('Hello world');
}
public function test(){
$this->show("欢迎你.$_GET[name].'你的年龄是'.$_GET[age]");
}
}
http://localhost:8080/thinkphp/index.php/Index/test?name=yyy&age=3321
http://localhost:8080/thinkphp/index.php/Index/test/name/yyy/age/31313444
//开启调试模式,关闭缓存
define('APP_DEBUG',true);
REWRITE模式
开启REWRITE,