配置文件:
applicaion\config.php 项目配置文件
applicaion\database.php 项目配置文件
s后面告诉模块。控制器的位置
route.php
可省略模块控制器的路径
print_r($this->request->param());
print_r($this->request->param());打印参数的功能,
<?php
namespace app\index\controller;
use think\Controller;
use think\Request;
use think\Db;
class Index extends Controller
{
public function index1($name = '张三')
{
echo "$name";
print_r($this->request->param());//参数Array ( [name] => 参数)
}
}
URL生成
1.设置命名空间use think/url;
2. 创建url方法
public function url()
{
//如果没有告诉它调用哪个模块哪个控制器哪个方法,那就默认路径当前模块当前控制器的当前方法,
//后面设置参数,这句话能生成一条能访问的地址
echo Url::build('url2', 'a=1&b=2'); /index/index/url2/a/1/b/2.html
echo "<br/>";
//url内置方法
echo url('url2', 'a=1&b=2');/index/index/url2/a/1/b/2.html
echo "<br/>";
echo url('url2', ['a'=>1,'b'=>'2']);/index/index/url2/a/1/b/2.html
echo "<br/>";
echo url('url2', array('a'=>1,'b'=>'2'));/index/index/url2/a/1/b/2.html
echo "<br/>";
echo url('admin/index2/url2', 'a=1&b=2');/admin/index2/url2/a/1/b/2.html
echo "<br/>";
// 自动切换 url_convert
echo url('admin/HelloWorld/hello'); //admin/hello_world/hello.html
echo "<br/>";
// 路由规则
echo url('today/2017/07'); // today/2017/07.html
echo "<br/>";
}
Request
- 命名空间
use think\Request;
- 实例化
class Index extends Controller
{
public function index()
{
$request = Request::instance(); //获取类的实例
echo $request->url(); // 获取当前URL地址 不含域名
echo "<br/>";
//继承了Controller有request方法,如果没有继承就用以上方法
echo $this->request->url(); // 获取当前URL地址 不含域名
echo "<br/>";
echo $this->request->bind('user_name','张三2222'); // 动态绑定属性
echo "<br/>";
// 其他控制器中可以直接使用 如果不在控制器中 可以 $request->user_name;
echo $this->request->user_name; //输出张三2222
echo "<br/>";
//如果没有绑定控制器Controller,调用request可以返回一个request实例,这个方法其实就是返回Request::instance();
echo request()->url(); // 为了简洁 方便可以使用 函数助手
echo "<br/>";
/**请求变量信息**/
print_r($request->param());//以数据的形式打印请求变量信息
echo "<br/>";
echo $request->param('name');//打印指定变量的值
echo "<br/>";
print_r(input()); // 为了简洁 方便可以使用 函数助手
echo "<br/>";
echo input('name');
echo "<br/>";
/****param方法支持变量的过滤和默认值***/
echo $request->param('en_name','jake','strtolower');
echo "<br/>";
/***指定获取参数**/ // http://www.tp5.com/admin/index4/hello.html?name=1111&en_name=LUXI
echo "============request=================<br/>";
echo 'GET参数:';
print_r($request->get()); echo "<br/>";
echo 'GET参数:name:';
print_r($request->get('name'));echo "<br/>";
echo 'POST参数:name:';
print_r($request->post('name'));echo "<br/>";
echo 'cookie参数:name:';
print_r($request->cookie('name'));echo "<br/>";
echo '上传文件信息:image:';
print_r($request->file('image'));echo "<br/>";
/**相同的input 也一样 **/
echo "============input=================<br/>";
echo 'GET参数:';
print_r(input('get.'));echo "<br/>";
echo 'GET参数:name:';
print_r(input('get.name'));echo "<br/>";
echo 'POST参数:name:';
print_r(input('post.name'));echo "<br/>";
echo 'cookie参数:name:';
print_r(input('cookie.name'));echo "<br/>";
echo '上传文件信息:image:';
print_r(input('file.image'));echo "<br/>";
echo "============request 其他参数=================<br/>";
echo '请求方法:' . $request->method() . '<br/>';
echo '访问IP:' . $request->ip() . '<br/>';
echo '是否AJax请求:' . ($request->isAjax() ? '是' : '否'). '<br/>';
echo '当前域名: ' . $request->domain() . '<br/>';
echo '当前入口文件: ' . $request->baseFile() . '<br/>';
echo '包含域名的完整URL地址: ' . $request->url(true) . '<br/>';
echo 'URL地址的参数信息 : ' . $request->query() . '<br/>';
echo '当前URL地址 不含QUERY_STRING' . $request->baseUrl() . '<br/>';
echo 'URL地址中的pathinfo信息: ' . $request->pathinfo() . '<br/>';
echo 'URL地址中的后缀信息 ' . $request->ext() . '<br/>';
echo "============request 当前模块/控制器/操作信息=================<br/>";
echo '模块:'.$request->module(). '<br/>';
echo '控制器:'.$request->controller(). '<br/>';
echo '方法:'.$request->action(). '<br/>';
}