微信二维码
微博二维码
qq号二维码

百度云虚拟主机thinkphp5框架部署方案

闫旭 2019.05.19 2652人浏览
那今天我们就一起来看看,如何在我新买的百度云服务器中布置一个thinkphp5的框架~

套用框架

首先我们先去下载一个tp5的框架,这个框架的下载过程非常友好,不需要注册任何东西,你就可以拥有一套最新最完整的tp5框架~

百度云虚拟主机thinkphp5框架部署方案 百度云虚拟主机thinkphp5框架部署方案

这里最好是下载完整版,当然,两版的基本功能是一样的,只是完整版的类库非常完整,如果后期功能需要之前没有的类库还要重新装配整个框架,得不偿失。

百度云虚拟主机thinkphp5框架部署方案

这就不用多说了,下载完成后,就可以解压到我们的项目路径中了,最好路径是空的,不要放别的文件在这里,因为在框架中所有的资源都有它该待的地方,不用提前放进来。

这个时候就可以先将整个项目放进服务器中看一下现在的状态了,注意,此时的路径是“www.xxx.com/public/index.php”应该会出现

百度云虚拟主机thinkphp5框架部署方案

目前为止,这个框架就已经可以正常运行了,我们可以先来看看框架的结构,当然你可以快速略过,因为不是每个都会用到,有一个基本的了解就可以了。

app的应用目录

Index:这里的文件夹叫做模块,也可以根据需要需求修改成其他(例如:home),需要修改配置文件,修改默认模块、控制器、操作;需要注意的是TP5默认只有一个index路径(模块)和一个控制层(controller),我们在写代码的时候会自己新建一个modelview,这样就组成了这个Index模块儿的MVCcontroller控制层,model模型层,view视图层),如需后台(一般来说都需要),则需要另建一个后台模块(admin);

command.php是控制台的配置文件,当我们用命令行执行thinkphp的时候,它会读取command.php的配置

common.php它是项目的公共文件,当我们编写一些通用函数的时候,比如我们写一个函数,想在所有的模块儿中都能调用,那么我们就可以把函数写在改文件中,它就可以注册到全局,在任何地方都可以调用;

config.php(很重要)它是应用的配置文件,整个用用都读取这个配置,也就是admin模块儿和home模块儿会通用这个配置;

database.php它是数据库配置文件,如果我们需要连接数据库,那么我们只需要修改database.php的配置就可以了

route.php 它是路由文件,当我们想对URL进行美化,那么我们就可以修改此文件,对其增加一些路由配置,就可以达到美化的效果

tags.php(暂时用不到):它是应用行为扩展文件,在thinkphp中,它为我们埋下了很多钩子,我们可以对框架进行扩展,而不需要修改框架本身的源码,我们需要在某一个钩子上注册某些函数,或者是注册某些行为,来通过行为来改变框架的执行流程     

extend(暂时用不到):目录,这个目录是我们下载第三方库时候使用的,当然我们不是通过composer来下载的,比如说我们有一个第三方库,我们用着比较好用,但是它没有composer包,我们就可以将类库下载到extend目录,之后我们修改一下命名空间,就可以直接在我们的应用中使用

public目录

public:我们网站的根目录,也就是说我们网站根目录下所有的这些文件都是允许访问的;

Static主要用来放静态文件,比如说cssjs,图片等等;

index.php整个网站或整个应用的入口文件,所有的请求都会经过index.php之后再去转发

router.php(暂时用不到): 它是框架快速启动的测试文件,比如你本地没有安装Apache,只安装了PHP,那么我们可以通过PHP内置的workserver来启动,通过这个文件,我们就可以启动这个框架

runtime目录

runtime(暂时用不到):它是网站运行中的缓存文件,它包括日志,缓存和编译文件等等;

thinkphp目录

thinkphp(暂时用不到):它是框架文件,也就是说thinkphp5的框架都在里边

lang(暂时用不到):里边是语言包;

library (暂时用不到):该目录是框架的核心,它里边有think(它是整个框架的核心文件)traits(它是类库的扩展)两个目录

think Think(暂时用不到):类库包目录

traits(暂时用不到):系统 Traits 目录

tpl(暂时用不到):是我们框架默认的一些模板

default_index.tpl(暂时用不到) :它是我们自动生成的控制器模板文件

dispatch_jump.tpl(暂时暂时用不到):它是我们网站发出成功或失败的中间跳转文件

page_trace.tpl(暂时用不到):它是我们调试时显示的模板文件

think_exception.tpl(暂时用不到):它是我们抛出异常时页面展示的文件

base.php (暂时用不到):定义一些常量

console.php (暂时用不到):它是控制台的入口文件

convention.php 暂时用不到):是框架惯例配置文件

help.php (暂时用不到):助手函数

start.php(暂时用不到):是框架启动文件

vendor(暂时用不到)composer安装过程中生成的目录,通过composer安装的所有类库都被安装在了这个目录中

页面建设

下面我们就可以进行测试了,首先找到我们的主页,在项目路径下的applaction/index/controller/Index.php,打开就可以看到我们现在的欢迎页的代码了,这是一个phpclass类文件,这个application路径下的index就叫做模块,这个模块不是我们想要的,我们直接把它们都删掉,新建我们自己的“home”模块(注意:我们新建的任何路径和文件,都绝对绝对不要带中文,不然会非常麻烦),新建好后,在applaction下的config.php中修改默认模块,大概在57行的位置。

百度云虚拟主机thinkphp5框架部署方案

这里真的要歌颂一下tp5团队,在整个框架中写了非常多的中文注释,方便我们理解,开源给我们使用,免费为我们升级,向同志们致敬!

接下来我们继续完成路径的新建,在home模块下继续新建三个路径,分别是“controller”、“view”、“model”,也就是我们常说的控制层、视图层和模型层。继续在新建的controller路径中新建Index.php(注意首字母大写),接着写几句必须写的语句,首先是namespace用来封装该类(自动生成)。接下来再写上use引入Controller,将当前类定义为控制层;再加上extend继承我们useController;下面就可以写上我们的方法了,写完之后是这个样子:

百度云虚拟主机thinkphp5框架部署方案

现在测试一下服务器中的页面:

百度云虚拟主机thinkphp5框架部署方案

好了,没问题了,现在就可以往下跳转到我们的html页面了。理所当然,前端页面要放在视图层的路径中,但不要直接放,要先新建一个同名路径,最后是这个样子的:

百度云虚拟主机thinkphp5框架部署方案

修改前面的类文件:

百度云虚拟主机thinkphp5框架部署方案

继续测试:

百度云虚拟主机thinkphp5框架部署方案

开心~一切顺利!

是不是还有哪里很别扭呢,没错,就是这个路由(网址)好长好丑啊,可不可以简化一些呢。

将public中的“.htaccess”和“index.php”文件移到根目录下,再将index.php中的两个路径改一下,不用返回上级了,改完是这个样子滴~

百度云虚拟主机thinkphp5框架部署方案

还需要稍微修改一下.htaccess文件,具体做法是:

百度云虚拟主机thinkphp5框架部署方案百度云虚拟主机thinkphp5框架部署方案

只改了这一点点,将斜杠换为“?s=”,不要改多了。

此时再测试一下,路由改为“www.xxx.com/index.php”了,你是否成功了呢~

百度云虚拟主机thinkphp5框架部署方案

什么也不用动,再试一下“www.xxx.com”:

百度云虚拟主机thinkphp5框架部署方案

接下来我们看我们之前写的namespace,路径是app\home\Controller,但我们是没有app这个路径的,为了配合框架,我们要将application路径名改成app,理所当然,访问不到网站了,还要将根目录下的index.php中的应用目录路径也改成app

百度云虚拟主机thinkphp5框架部署方案

此时网站还是正常访问的。

资源加载

到目前为止,我们已经可以访问我们的首页文件了,接下来就要加载相关的资源文件了。

现在给大家介绍一下网页的相关css和js文件放置的位置,和引入的方法。

那我们还是用一个简单的测试来讲解,首先要在public/static中新建我们的路径和文件,再写几个基本的语句做测试用:

百度云虚拟主机thinkphp5框架部署方案

百度云虚拟主机thinkphp5框架部署方案

打开网页看一看:

百度云虚拟主机thinkphp5框架部署方案

太棒了,js和css文件都引入进来了,这时还有一些布置可以简化,我们继续美化标签中的路径。

找到app路径下的config.php文件,修改其中的“view_replace_str”:

百度云虚拟主机thinkphp5框架部署方案

再修改html中引入文件的路径:

百度云虚拟主机thinkphp5框架部署方案

随着你的项目越来越完善,越来越丰满,你也可以继续添加更多的视图层字符替换,简化你的路径,使其更美观,更易懂。

不过现在这样就够方便了吗,你太天真了,tp5开发人员煞费苦心,将资源文件引入进一步统一简化,我可以直接这样写:

百度云虚拟主机thinkphp5框架部署方案

是不是简单到令人发指!

页面间跳转

再接下来要讲什么了呢,我们的网站不可能只有一个页面吧,涉及到跳转该怎么办呢。

我们继续摸索,在controller路径下新建php类文件,在view路径下新建路径和页面:

百度云虚拟主机thinkphp5框架部署方案

我们先来测试当前的路径“www.xxx.com/index.php/home/second/second

百度云虚拟主机thinkphp5框架部署方案

这样我们就可以把这个路径给到a标签:

百度云虚拟主机thinkphp5框架部署方案

点击一下,是不是能跳转了呢~

那么到现在为止,基本的网站布置就结束了,下节课,我们将继续探究网站与数据库的连接,以及数据库的基本操作。

分享到:
天津UI设计培训-CleanPNG免抠素材网站
  • 2020.11.30
  • 2024什么价格?天津平面设计/UI设计师就业实录
  • 2024.03.20