zoukankan      html  css  js  c++  java
  • thinkphp5.1 配置使用

    1,安装



    //先切换成阿里云镜像,速度会快。
    composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
    //composer config --unset repos.packagist  安装完后可以取消切换的镜像的命令
    //安装tp5.1的版本
    composer create-project topthink/think=5.1.* tp5 --prefer-dist

    2,在文件夹applicationindexcontroller 中的Index.php文件是首页控制器

    3,数据库操作:

    如果要在控制器中直接调用数据库,需要到config文件夹下找到database.php 文件,填写数据库信息,之后在控制器如下调用数据库

    namespace appindexcontroller;
    use thinkDb;
    
    class Index
    {
        public function index()
        {
            $Db = new Db;	
    	$data=Db::query('select * from dz_lock where gid=?',[7]);
    	print_r($data);
        }    
    }
    

     4,使用模型

    在applicationindex 文件夹下创建model文件夹,并新建文件Lock.php ,内容如下

    namespace appindexmodel;
    
    use thinkModel;
    
    class Lock extends Model
    {    
        protected $pk = 'id'; //主键    
            protected $table = 'dz_lock'; ///表名称    
         
    }

    创建完成后修改控制器文件为如下代码进行调用模型

    namespace appindexcontroller;
    use appindexmodelLock;
    
    class Index
    {
        public function index()
        {
            $lk=new Lock();		
         $user=$lk->where('id','>', 7)->find();  //只获取1条记录
    	 //$user=$lk->where('id','>', 7)->select(); //获取所有符合条件的记录    
    	 print_r($user);
        }    
    } 
    

     5, 使用模板

    如果使用视图来调用模板,需要继承Controller类,用如下方式进行调用

    namespace appindexcontroller;
    use appindexmodelLock;
    use thinkController;
    
    class Index  extends Controller
    {
        public function index()
        {
            $lk=new Lock();        
         $user=$lk->where('id','>', 7)->select(); 
            $this->assign("user",$data);
            return $this->fetch('index');
        }    
    }    

    并且需要在applicationindexviewindex 文件夹下创建index.html为模板 

    模板内容如下

    {volist name="user" id="vo"}
        <a href="">{$vo.lock_name}</a>
     {/volist}
    

      

    6,如果修改了config下面template.php 的模板路径view_path参数,需要按路径进行模板创建并使用。

    return [
        // 模板引擎类型 支持 php think 支持扩展
        'type'         => 'Think',
        // 默认模板渲染规则 1 解析为小写+下划线 2 全部转换小写 3 保持操作方法
        'auto_rule'    => 1,
        // 模板路径
        'view_path'    => '',
        // 模板后缀
        'view_suffix'  => 'html',
        // 模板文件名分隔符
        'view_depr'    => DIRECTORY_SEPARATOR,
        // 模板引擎普通标签开始标记
        'tpl_begin'    => '{',
        // 模板引擎普通标签结束标记
        'tpl_end'      => '}',
        // 标签库标签开始标记
        'taglib_begin' => '{',
        // 标签库标签结束标记
        'taglib_end'   => '}',
       'view_path'    => '../template/'
    ];
    

    7,图片上传功能,在控制器Index.php增加方法

    public function upload(){  
        $file = request()->file('image'); 
        if($file){
            $info = $file->move( 'D:Visual-NMP-x64wwwwp	p5publicuploads');
            if($info){      
                echo $info->getSaveName(); 
            }else{            
                echo $file->getError();
            }
        }    
        return $this->fetch('upload');
        }

    在模板文件中进行设置,注意标红部分。当前模板文件是 emplateindexupload.html

    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <title> </title>
    </head>
    <body>  
    
    <form action="/tp5/public/index.php/index/Index/upload" enctype="multipart/form-data" method="post">
    <input type="file" name="image" /> <br> 
    <input type="submit" value="上传" /> 
    </form> 
    
    </body>
    </html>

    8,使用杂项, 如下操作,进入tp5的根目录,命令行下执行安装更新

    composer require topthink/think-captcha 2.*
    composer require topthink/think-image

    正常安装后,在模板文件中可以直接调用验证码

    <img src="{:captcha_src()}" alt="captcha" /></div>
    

    在控制器中可以调用image类,这里的b.jpg在public目录中

    namespace appindexcontroller;
    use appindexmodelLock;
    use thinkController;
    use thinkImage;
    
    class Index  extends Controller
    {
        public function index()
        {
             $image = Image::open('b.jpg');        
            $width = $image->width(); 
            echo $width;
    
    
            $lk=new Lock();        
          $user=$lk->where('id','>', 7)->select(); 
            $this->assign("user",$data);
            return $this->fetch('index');
        }    
    }                     

     

     

     

  • 相关阅读:
    四个例子实战讲解.htaccess文件rewrite规则(转)
    unserialize反序列化错误的解决办法
    tp框架--------where("1")
    jq 鼠标点击跳转页面后 改变点击菜单的样式代码
    jq不懂的地方
    js产生随机数的几个方法
    js邮箱,汉字,数字 表单验证
    js&jQ判断checkbox表单是否被选中
    绝对好用Flash多文件大文件上传控件
    CKeditor从Word粘贴格式问题
  • 原文地址:https://www.cnblogs.com/fslnet/p/14973705.html
Copyright © 2011-2022 走看看