美文网首页
TP5中CURD那点事儿(一)

TP5中CURD那点事儿(一)

作者: 铁匠简记 | 来源:发表于2018-05-07 11:44 被阅读177次

    养成了习惯,记录下学习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那点事儿(一)

          本文链接:https://www.haomeiwen.com/subject/shpmrftx.html