ThinkPHP5的简单搭建(上)

ThinkPHP5简单搭建(上)

  1. Thinkphp 的安装
    我这里是用的mac系统,直接在官网下载的 官网是:http://www.thinkphp.cn
    下载完直接解压缩,放到搭建好平时写项目的位置就可以
  2. 重点目录结构及文件介绍
    application : 应用目录,我们的模型视图控制器都会放在这个文件夹下,这是我 们开发的主阵地
    public : 这个是我们项目的入口文件,thinkphp 是一个单一入口的框架
    thinkphp : 框架的核心目录
    关键文件
    application/config.php 项目配置文件,开启 debug 调试模式(在开发中)
    application/database.php 数据库配置文件
    public/index.php 项目入口文件,定义了应用目录的位置以及包含框架启动文件来启动框架
  3. 配置虚拟主机
    httpd.conf 中判断下面是否被注释,如果被注释请取消注释:
    1. Include conf/vhosts.conf
    2. LoadModule vhost_alias_module modules/mod_vhost_alias.so
    3. 删除 vhost.conf 中原有的默认内容,添加如下内容
<IfModule mod_rewrite.c>
 RewriteEngine on
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]
</IfModule>
  1. 基本的写法
    01.控制器的基本写法
    模块中的控制器实际上就是一个一个的类,这个类写的时候要继承 Controller 并且要在前面写上命名空间
    thinkPHP5 使用 return 来返回一个html ,自动渲染到页面上
    tp5 使用的是 $this->requrst->param() 接受参数,当然也要在开始写上命名空间
    代码示例:
class Index extends Controller{
				//查询
    			public function index(){
       				$res = db("product")
            			->select();
        			$this->assign("res",$res);
        				return view();
    			}

				//删除
    			public function delete($id){
        			$res=db("product")
            			->where("id",$id)
            			->delete();
        			if ($res){
            			$this->success("删除成功","index");
        			}else{
            			$this->error("删除失败");
        			}
    			}

				//添加
				public function add(){
    				return view("addinfo");
				}

				public function addinfo(){
    				$pname=input("post.pname");
    				$price=input("post.price");
    				$description=input("post.description");
    				$add=db("product")
        				->insert(["pname"=>$pname,"price"=>$price,"description"=>$description]);
    			if($add){
        			$this->success("添加成功","index");
    			}else{
        			$this->error("添加失败");
    				}
				}
				
				//修改
				public function mod($id){
    				$res = db("product")
        				->where("id", $id)
        				->select();
    				//  模板赋值
    				$this->assign('val', $res);
    				return view("modfiy");
				}

				public function modfiy($id){
    				$name = input('post.pname');
    				$price = input('post.price');
    				$description = input('post.description');
					//上传文件
    				$file = request()->file('img');
    				$info = $file->move(ROOT_PATH . 'public/static' . DS . 'img');
    				if ($file){
        				$fileName = $info->getSaveName();
        				$sql = ['pname' => $name, 'price' => $price, 'description' => $description,'img'=>$fileName];
        				$data = db('product')->where('id', $id)->update($sql);
        				if ($data) {
            					$this->success("修改成功", "index");
        				} else {
            					$this->error("修改失败");
        				}
    				}else{
        				echo "error";
    				}
				}

  1. 模板和控制器的关系
    每一个模块都有自己的控制器、视图、和模型,访问的时候是按照 index.php/模块/控制器/方法,访问的,然后每一个控制器在 view 中对应着一个同名的文件夹,比如说 controller/Index 控制器, view/Index 就是这个控制器对应的模板文件夹,那么每一个方法都会在模板文件夹下对应一个同名的 html 文件作为这个方法的模板
    tp5 是通过$this->assign('data',$data); 进行赋值并通过return $this->fetch('模板名');进行渲染的
  2. 对 SEO 友好的路由
    我们知道,我们的搜索引擎抓取页面最多抓三层,但是我们刚刚写的那种 URL 已经太多层了,这非常不利于搜索引擎的收录,于是 tp5 给我们提供了一种简化的方法
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值