tp配置+路由+基本操作
一、打开apache 的配置文件httpd_conf添加以下代码
<VirtualHost *:80>
DocumentRoot "D:\wwwroot\thinkphp\public\index.php" #网站运行目录
ServerName tp.com #域名
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "D:\wwwroot\thinkphp\public\index.php"
ServerName w.tp.com
</VirtualHost>
如果是Nginx环境的话可以在Nginx.conf中添加
location/{
fi(!-e $request_filename){
rewrite ^(.*)$ /index.php?s=/$1 last;
break;
}
}
二、生成模块
1、找到根目录下的build.php配置如下
// 定义demo模块的自动生成 (按照实际定义的文件名生成)
'admin' => [
'__file__' => ['common.php'],
'__dir__' => ['behavior', 'controller', 'model', 'view'],
'controller' => ['Index', 'Test', 'UserType'],
'model' => ['User', 'UserType'],
'view' => ['index/index'],
],
2、在public目录下index.php文件加入如下代码
$build= include '../build.php';
\think\Build::run($build);
3、运行网站此时模块已经生成功,些在删除主放口的代码恢复即可
--------------------
三、基本操作
namespace app\index\controller; //命名空间
use think\Controller;//引用控制器
use think\Request;//引用request类
use think\Db;//引用数据库操作类
class Index extends Controller
{
public function index()
{
$param=$this->request->param();//获取$_GET $_POST所有参数
$data=Db::name("user")->find();//查询user表第一行记录
$this->assign('data',$data);//赋值数组
$this->assign('param',$param);//赋值数组
$this->assign('str','test');//赋值字符
return $this->fetch();//显示模版页,也可以指定模版页$this->fetch('index2')
}
}
view模块调用方法
{$str}<br/>
用户名:{$data['username']}<br/>也可以额头{$data.username}
----------------------------
四、路由规则
1、地址栏参数解说
http://tp.com/index/index/index/name/aa
/index/index/index/name/aa
index模块/index控制器/index是方法名/个name参数取名/个aa是name参数字段的值
2、控制器首字母大写,如果是驼峰试在地址栏访问时用下划线,如控制器UserName在地址栏访问用
/index/user_name/
3、如果要关掉URL自动转换功能,找到config.php,默认是自动转换URL大小写,关掉的话就用false
// 是否自动转换URL中的控制器和操作名
'url_convert' =>false,
4、第二咱地址访问方式
http://tp.com/?s=index/index/index//name/aa
?s=index模块/index控制器/index是方法名/个name参数取名/个aa是name参数字段的值
5、配置路由
找到route.php下添加以下
'index/[:name]' => ['index/index/index', ['method' => 'get','ext'=>'html']],
说明:
访问的时候http://tp.com/index/index.html 省去index/index/index
其中index/[:name]表示参数名[]号表示可选,可有可无,index.html中的html变成了参数字传送过去了
6、配置路由带参数的
找到route.php下添加以下
'url/:year/:month' => ['index/index/url', ['method' => 'get','ext'=>'html'],['name'=>'\d{4}','pass'=>'\d{2}']],
说明:
/:year参数名 /:month参数名 index/index/url路径 ['name'=>'\d{4}','pass'=>'\d{2}']参数正则限制说明
---- 控制器必须要有参数,否则出错
public function url($year,$month)
{
echo $year.'-'.$month;
//return $this->fetch('url');
}
----
访问地址
http://tp.com/url/2017/10.html 说明 url对因的路由规则名 2017和10被当作控制器方法的参数来传值了 7、配置地址栏参数分隔
// pathinfo分隔符
'pathinfo_depr' => '/', //可以修改成- 8、在控制器下生成url
首先引用use think\Url;
public function url()
{
echo url('fun','a=1&b=2');//说明fun是控制器里的方法,a=1&b=2是要参数
}
最新文章
- Android Studio使用时源码到处报红色警告,运行时又没错
- Swift小练习-引导页
- (原)Java初始化过程
- 【leetcode】Flatten Binary Tree to Linked List (middle)
- js-面向对象的程序设计,函数表达式
- Redis教程(六):Sorted-Sets数据类型
- sonarqube &#160;安装配置
- 参考:iPhone OS 3.0中的字体列表
- C如何获取文件夹下所有文件
- JS encode decode
- struts2必需jar包
- hdu 1575 Tr A(矩阵快速幂乘法优化算法)
- C# C++ Java接口类型转换
- 基于visual Studio2013解决面试题之0502字符串左移
- zf-关于收费统计没出来监利县的问题
- 向datagridview 添加行
- CSV工具类
- [转]linux下centos服务器安全设置
- 芝麻HTTP:TensorFlow LSTM MNIST分类
- C语言作业--数据类型
热门文章
- 修改gnome-shell扩展“Applications Menu”的菜单区域宽度。
- GridView Item 大小可能不一样,如何保持同一行的Item 高度大小相同,且GridView高度自适应!
- linux ntfs模块
- GoF设计模式三作者15年后再谈模式
- UIButton 设置圆角 边框颜色 点击回调方法
- Unity的shader学习1
- iOS网络编程解析协议三:JSON数据传输解析
- C# 将Dictionary,StringDictionary等集合数据绑定到如comboBox等控件数据源中将获取健值
- Linux 内存泄露小结
- Python网络爬虫 - 2. Beautiful Soup小试牛刀