【PHP】ThinkPHP基础

官方手册:ghttps://doc.thinkphp.cn/v8_0/setup.html

ghttps://doc.thinkphp.cn/v8_0/setup.html

一、部署ThinkPHP

1.安装composer

composer是 PHP 的一个依赖管理工具,类似于python中的pip。

下载地址:

https://getcomposer.org/Composer-Setup.exe

2.安装成功后,我们可以通过命令窗口(cmd) 输入 composer --version 命令来查看是否安装成功:

3.安装成功后,接下来我们可以更改阿里云 Composer 全量镜像,加快后续包的安装:

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

取消更改配置:

composer config -g --unset repos.packagist

5.在命令行下面,切换到WEB根目录下面并执行下面的命令:

composer create-project topthink/think tp

这里的tp目录名你可以任意更改,这个目录就是我们后面会经常提到的应用根目录。

如果之前已经安装过,那么切换到的应用根目录下面,然后执行下面的命令进行更新:

composer update topthink/framework

6.修改apache/conf/httpd.conf文件的DocumentRoot和Directory指向刚刚创建的thinkphp文件夹的public目录下。

二、报错解决

安装完ThinkPHP后,可开启报错信息提示,便于调试使用。

在config文件的app.php开启显示错误信息,'show_error_msg'   => true。

可以会遇到的报错内容:Driver [Think] not supported.

原因:未安装thinkview模板引擎,解决方式,使用cmd窗口,将目录切换到ThinkPHP文件根目录下,使用composer安装thinkview引擎模板:

d:
cd /xampp/htdocs/tp
composer require topthink/think-view

三、配置数据库及基本使用

在config下的databases.php文件中配置数据库服务器地址、数据库名、用户名、密码等信息

在app文件夹下,创建model文件夹,文件夹下创建user.php,示例代码如下:

<?php

namespace app\model;
use think\Model;

class User extends Model{
    //指定主键名称
    protected $pk = 'id';
    //指定数据库
    protected $name = 'user';
}

在app/conreoller文件夹下面创User.php控制器,实例化模型并调用数据查询。

<?php
namespace app\controller;
use app\BaseController;
class User extends BaseController{
    public function index(){
        return view('../view/login.html');
    }
    public function login(){
        $username = request()->post('username');
        $password = request()->post('password');
        
        // if($username =='admin' && $password == '123456'){
        //     return 'login_success';
        // }else{
        //     return 'login_fail';
        // }

        $user = new \app\model\User();
        $result = $user->where(
            [
                'username' =>  $username,
                'password' =>  $password
            ]
        )->select();
        #return print_r($result);
        if (count($result) == 1){
            return 'login_success';
        }else{
            return 'login_fail';
        }


    }

}

四、使用thinkphp渲染HTML

在view文件下创建一个HTML模板,示例代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>score_list</title>
</head>
<style>
        table{
            width: 800px;
            border: 1px solid black;
            margin: auto;
            border-spacing: 0px;
        }
        td{
            border: 1px solid black;
        }
</style>
<body>
    <table>
    <tr>
        <td>sid:</td>
        <td>class:</td>
        <td>name:</td>
        <td>score</td>
    </tr>
    {volist name = "score_list" id = 'score_row'}
    <tr>
        <td>{$score_row.sid}</td>
        <td>{$score_row.class}</td>
        <td>{$score_row.name}</td>
        <td>{$score_row.score}</td>
    </tr>
    {/volist}
    </table>
</body>
</html>

在app/model创建一个数据库模板,其中包含一个查询数据的方法 :

<?php

namespace app\model;
use think\Model;

class score extends Model{
    //指定主键名称
    protected $pk = 'sid';
    //指定数据库
    protected $name = 'score';

    public function get_score(){
        $result = $this -> field('sid,class,name,score')
                        ->where('sid','<=','5')->select();
        return $result;
    }
}

在app/controller下创建一个score.php。

<?php
namespace app\controller;
use app\BaseController;

class score extends BaseController{
    public function index(){
        $score = new \app\model\score();
        $reslut = $score->get_score();
        //#result的值为二维数组形式。score_list在score_list.html页面中渲染使用
        return view('../view/score_list.html',['score_list' => $reslut] );
    }
}

每篇一言:凡心所向,素履可往,生如逆旅,一苇以航。

### ThinkPHP 框架介绍 ThinkPHP 是一个功能强大、易于扩展的 PHP 开发框架,适用于多种 Web 应用开发场景[^3]。它以其简单高效的特性著称,能够让开发者快速构建出高性能、高稳定性以及安全性强的应用程序[^1]。 该框架的设计理念围绕着敏捷开发模式展开,提供了丰富的内置功能和组件支持,从而简化了复杂业务逻辑实现的过程[^2]。此外,ThinkPHP 还具有良好的文档支持和技术社区活跃度,这使得初学者也能轻松上手并逐步精通其核心机制。 --- ### 使用方法概述 #### 1. 安装与配置环境 要开始使用 ThinkPHP 框架,首先需要确保服务器环境中已安装 PHP 并满足最低版本要求(通常建议使用最新稳定版)。可以通过 Composer 工具来完成项目的初始化操作: ```bash composer create-project topthink/think your_project_name ``` 此命令会自动下载所需依赖文件并将整个项目结构搭建完毕。 #### 2. 基础目录结构理解 熟悉框架的基础目录结构有助于更好地组织代码资源。典型的 ThinkPHP 项目包含以下几个主要部分: - **application/**:存放应用程序的核心代码; - **public/** :对外访问入口所在位置; - **vendor/** :第三方库存储区域; 这些路径定义遵循 PSR 标准规范以便于维护管理。 #### 3. 路由设置 路由是连接 URL 请求到具体控制器动作的关键环节,在 ThinkPHP 中可通过简单的规则声明方式自定义复杂的映射关系。例如: ```php use think\facade\Route; Route::get('hello/:name', 'index/hello'); ``` 上述例子表示当用户访问 `/hello/{任意字符串}` 的时候将会调用 `Index` 控制器下的 `hello()` 方法处理请求,并传递参数给定名为 `{name}` 变量接收。 #### 4. 数据库交互 利用 ORM 或原生 SQL 查询语句均可方便快捷地执行数据库读写任务。下面展示如何创建模型类并与表关联起来: ```php namespace app\model; use think\Model; class User extends Model { protected $table = 'users'; // 显式指定数据表名 } ``` 之后就可以像这样实例化对象来进行增删改查等基本操作了: ```php $userModel = new \app\model\User(); $result = $userModel->where('id', '=', 1)->find(); // 查找ID为1的数据记录 ``` 以上仅列举了一些基础概念及入门技巧供参考学习。 --- ### 总结 通过对 ThinkPHP 框架特性的深入了解及其实际运用过程中的指导说明可以看出,这款工具确实具备相当高的实用价值和发展潜力。无论是小型站点还是大型综合平台建设都能找到适合自己的解决方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

抓跟ミgragon

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值