ThinkPHP

ThinkPHP框架开发

一、框架的作用

  1. 路由规则:方便定义后台接口标准,前端的请求可以发送给正确的php地址

    比如:

    1
    2
    ../type/2-3
    /page/24
  2. 参数传递:也是定义后台接口标准,接收前端页面发送的数据

  3. URL重定向:服务器后台处理完,就要跳转到新页面。其本质也是发送给前端一个待Location字段的302状态码的响应,进而让前端重定向

  4. Session和Cookie:支持通过使用这俩东西维持C/S间的状态

  5. 模块化:根据不同功能划分到后台不同模块中,便于管理和维护代码

  6. 中间件:用于拦截或过滤应用的HTTP请求,并进行必要的业务处理

  7. 模板引擎:快速地向HTML页面填充数据

  8. 数据库操作:有一套标准接口实现

  9. 验证器:代替大量的if..else

  10. 门面:为容器中的类提供了一个静态调用接口

  11. 助手函数:

二、MVC分层

所有的web开发框架,都要实现这个

Model:负责处理应用程序中数据逻辑的部分,如数据库操作

View:前端

Controller:从视图读取数据,控制用户输入,向模型发送数据;有一个服务器端的接口暴露给前端

它的工作流程大致为:

客户端/浏览器—>路由器解析地址—>控制器—>模型层

模型层—>控制器—>路由器解析地址—>视图—>路由器解析地址—>客户端

三、安装

getcomposer.org

这个xampp换成7.3.33版本的,启动后

1
2
3
4
5
XAMPP: Starting Apache...fail.
XAMPP: Another web server is already running.
XAMPP: Starting MySQL...ok.
XAMPP: Starting ProFTPD...fail.
XAMPP: Another FTP daemon is already running.

因为是刚删了旧版本,又安装了新版本,需要把虚拟机重新启动下

安装的php版本7.3.33大于php7.1版本,那么安装thinkphp采用composer安装

前置(有xampp,这一步不需要)

1
2
3
yum install httpd -y #安装httd服务
service httpd start #启动
service httpd stop #停止

yum换源https://www.cnblogs.com/zzsdream/p/7405083.html

1.安装composer

如果php没有添加到环境变量,请加上路径

1
curl -sS https://getcomposer.org/installer | /../php -- --install-dir=/usr/local/bin/composer

直接放在系统的 PATH 目录中,到时直接输入 composer就可启动,好吧,不可以

2.为php和composer添加系统环境

1
2
3
4
5
export PATH=$PATH:/usr/local/php/bin 为当前终端临时添加系统环境
export PATH=$PATH:/usr/local/bin/composer

php -v是可以全局了,但composer不行诶
必须composer.phar

3.为composer添加国内镜像源

1
2
3
composer.phar config -g repo.packagist composer https://mirrors.aliyun.com/composer/

composer.phar config -g -l repo.packagist

http://t.csdnimg.cn/Ewbzs

4.创建tp项目

1
composer.phar create-project topthink/think tp

5.配置xampp和tp

进入到 /opt/lampp/apache2/conf

更改httpd.conf如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

#Alias /bitnami/ "/opt/lampp/apache2/htdocs/"
#Alias /bitnami "/opt/lampp/apache2/htdocs"

#<Directory "/opt/lampp/apache2/htdocs">
# Options Indexes FollowSymLinks
# AllowOverride All
# Order allow,deny
# Allow from all
#</Directory>
DocumentRoot "/tp/public"
<Directory "/tp/public">
Options Indexes FollowSymLinks
#允许所有客户端访问
AllowOverride All

#谁能访问,可以设置白名单黑名单
Require all granted

</Directory>

主机访问,或虚拟机lcoalhost访问

四、文件介绍

然后主机vscode可以远程连接centos,打开项目的路径

route

即路由,看访问ip/think

其中

Route::get('hello/:name', 'index/hello');

index/hello,表示抓向index控制器下的hello方法,**:name**表示地址参数

ip/hello/waaaaaa

如果添加以下是

1
Route::rule('/','index/index'); #显式声明默认首页

controller

namespace app\controller;php命名空间,用于对不同类进行归类管理,同时允许不同命名空间下的类重名

use app\BaseController;引用命名空间

Index是一个正常的PHP类,但是继承了Basecon..,所以也称为控制器,即C

$name就对应了 route里的 :name

小写index方法是默认的首页定义

view

放html文件的

五、功能添加

用户登录

尝试一下,新建控制器为User.php

1
2
3
4
5
6
7
8
9
10
11
<?php

namespace app\controller;
use app\BaseController;

class User extends BaseController{
public function index(){
return 'Login';
}
}
?>

去Route下app.php中,添加

1
2
3
4
//用户登录
//user控制器下的login方法
//get(a,b),浏览器访问a,a是通过b产生的
Route::get('user','User/index');

浏览器访问/user,是显示 Login

将login.html添加到view中

然后User.php中

1
return '../view/html.php';

但是报错,No Drive

去项目根路径下,使用以下命令

1
root@xinguang tp]# composer.phar require topthink/think-view

文章列表

  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2023-2025 是羽泪云诶
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信