TP5中CURD那点事儿(一)

养成了习惯,记录下学习TP5的笔记

这可能是最乱的笔记,也可能是只有自己能看懂的笔记,

没有捷径,只有动手,遇到问题首先查手册,是Tp5封装的基本都能解决,毕竟是小白

不过tp5和tp3截然不同,也是耗费了我不少脑细胞的,内存有限,所以线写入磁盘吧哈哈

下面开始我的表演:

入门安装
    安装完毕后首先开启config.php中的debug方便调试
    隐藏index.php文件  修改.htaccess文件,需要apache开启rewrite模块,配置文件中所有 AllowOverride 设置为 All

参数获取
    访问www.test.com/admin/index/index/aa/11/bb/22/cc/33/name/lisa
    在方法中print_r($this->request->param()); //打印路由中所有参数

数据表前缀的设置
    配置文件中prefix = 'tp_'];

 数据库的简单操作、
   $data = Db::name('user') -> find();   //可用select();
   $this->assign('data',$data);   //前台使用数据举例  {$data}  {$data['name']}
   return $this->fetch();    //return view();使用助手函数


路由和URL
   访问ADMIN/INDEX/INDEX   转化
       控制器转化为Index 首页字母为大写 如果是HelloWorld控制器就要用hello_world访问
       方法名和模块名都转化为小写
配置文件
   'URL_convert' => true;转化参数配置,关了以后就不转化了,

TP5中 index?m=home&c=index&a=index 访问形式不在支持

model命名 
    model名字需要和表名相同



路由转化

修改route.php文件
   url伪静态后缀设置: 'url_html_suffix' => 'html';
       'hello/[:name]' => ['index/index/hello',['method'=>'get','ext'=>'html']];
   接下来
   1、访问www.test.com/hello/zhangsan.html(扩展为html)的时候,
   即可访问到index/index/hello,而且可以通过get方式获取到参数name值zhangsan;
   2、访问www.test.com/hello.html(扩展为html)的时候,
   即可访问到index/index/hello,;即name参数可带可不带

修改route.php文件
   'hello/:name' => ['index/index/hello',['method'=>'get','ext'=>'html']];
   注意name不带[]这时候方式时就必须带参数了用上边第二种方法就不行了

多个参数的情况:
   'today/:year/:mouth' => ['index/index/today',['mouth' => 'get'],['year' => '\d{4}','mouth'=>'\d{2}']];
   在today方法中有year mouth、两个参数 用www.test.com/today/2017/10.html

url生成:
   url::build('admin/hello','a=1&b=2');
   助手函数:
   url('admin/hello','a=1&b=2');
   url('admin/hello',['a'=>1,'b'=>2]);
   url('admin/HelloWorld/index'); 会自动切换成hello_world


请求响应
   Request类
   继承Controller类就已经实例化过此类,不继承可用Request::instance();实例化
   $this -> request ->url(); 同 $request -> url(); 获取url不含域名;

获取参数
    $request -> param(); 获取所有参数
    $request -> param('name'); 获取name值
    也可用input助手函数
    input();获取所有 ; input('name');获取name;
    $this -> request ->bind('username','张三'); 动态绑定参数
    $this -> request -> username; 获取绑定的name值
    $request ->param('en_name','jake','strtolower');把url传过来的值转化为小写,不传则为默认值jake

参数
    $request -> get();  get('name');
    $request -> post(); post('name');
    $request -> cookie('name');
    $request -> file('image');
    $request ->method();
    $request ->ip()
    $request ->isAjax()?'是':'否';
    $request ->domain();
    $request ->baseFile();入口文件
    $request ->url(true);设为true含域名完整url
    $request ->query();url的参数信息
    $request ->baseUrl();不含域名不含参数
    $request ->pathinfo();返回url中pathinfo信息
    $request ->ext();返回后缀
    $request ->module();模块名
    $request ->controller();控制器名
    $request ->action();方法名

你可能感兴趣的:(TP5中CURD那点事儿(一))