1、写一个简单的模块
config.php
appnamespace =>app
设置自动命名setting->Directories
把application标记为Sources,点击小p标记成app
2、配置虚拟域名简化url路径
http://localhost/zerg/public/indeex.php/sample/test/hello
http://z.cn/sample/test/hello
打开xampp的根目录Apache\conf\eextra\http_vhost.conf
<VirtualHost *:80>
DocumentRoot "D:\xampp\htdocs\zerg\public"
ServerName z.cn
</VirtualHost>
apach服务器能够认出z.cn
接下来让电脑(浏览器)也能认出
host文件
127.0.0.1 z.cn
重启xampp-apach
这时有一个问题 输入localhost,结果访问的是public
解决方法 xampp-apach-config-httpd.conf
Apache\conf\eextra\http_vhost.conf
<VirtualHost *:80>
DocumentRoot "D:\xampp\htdocs"
ServerName localhost
</VirtualHost>
4、三种URL访问模式
路由有两种方法:
配置式编写
动态注册
route.php
<?php
use think\Route;
Route::rule('hello/:id','sample/Test/hello');
//Route::rule('hello','sample/Test/hello','GET|POST',['https'=>false]);
//Route::post();
//Route::any();
Route::get('api/:version/banner/:id','api/:version.Banner/getBanner');
url路径格式
PATH_INFO
混合模式
强制使用路由模式
config.php
"url_route_on"->true;//开启路由
"url_route_must"->true;//只使用路由
5、定义路由
route.php
//Route::rule('路由表达式','路由地址','请求类型','路由参数[数组]','变量规则[数组]');
//GET,POST,DELATE,PUT,*
//Route::rule('hello','sample/Test/hello','GET',['https'=>false]);//必须以https访问
6、获取请求参数
在route里面传;或者在后边加问号加参数名和值
//Route::post('hello/:id','sample/Test/hello');
1、直接在hello方法里面 接收
<?php
namespace app\sample\controller
class Test()
{
public function hello($id, $name, $age)
{
echo $id;
echo $name;
echo $age;
}
}
2、使用Request
```
<?php
namespace app\sample\controller
use think\Request
class Test()
{
public function hello($id, $name, $age)
{
$all = Request::instance()->param();//获取数组
//$id = Request::instance()->param('id');
///$name = Request::instance()->param('name');
//$age = Request::instance()->param('age');
echo $id;
echo $name;
echo $age;
}
}
z.cn/hello/123?name=lihua
age 是通过post body里面传入的
$name = Request::instance()->get();
$route = Request::instance()->route();
$age = Request::instance()->post();
变量类型方法包括:
方法 描述
param 获取当前请求的变量
get 获取
GET变量post获取
_POST 变量
put 获取 PUT 变量
delete 获取 DELETE 变量
session 获取
SESSION变量cookie获取
_COOKIE 变量
request 获取
REQUEST变量server获取
_SERVER 变量
env 获取
ENV变量route获取路由(包括PATHINFO)变量file获取
_FILES 变量
3、、助手函数
<?php
namespace app\sample\controller
class Test()
{
public function hello($id, $name, $age)
{
$all = input('param.age');
var_dump($all);
}
}
4、依赖注入
<?php
namespace app\sample\controller
class Test()
{
public function hello(Request request)
{
$all = request->param();
var_dump($all);
}
}