欢迎访问建站网站,为您的企业量身打造网站,品质值得您信赖!

一键式智能建站网站平台

高端定制中小企业网站,智能网站建站制作

【企业建站费用】手机网站智能建站

作者:慕青      发布时间:2021-08-02      浏览量:79879
使用ThinkPHP框架快速搭建网站 ? 这周忙着做实验室网站,基本功能已经完成。比较有收获的是我大概了解了ThinkPHP框架。写点东西作为纪念。如果对刚接触 Web 的你有一点帮助,最好挖掘一下

使用ThinkPHP框架快速搭建网站




这周忙着做实验室网站,基本功能已经完成。比较有收获的是我大概了解了ThinkPHP框架。写点东西作为纪念。如果对刚接触 Web 的你有一点帮助,最好挖掘一下。


我之前用PHP做了一个很烂的网站,为什么这么说,因为代码都是死代码?。做完之后真的觉得好累。前端需要div+css,后端需要php、mysql。要做的事情太多了,很头疼。所以,接到建网站的任务后,立马想到一定要用开发框架来做,千万不能像以前一样累。


我为 PHP 选择了 ThinkPHP 框架。说实话,还不错。瞬间感觉Web开发挺高效的。


超链接:ThinkPHP中文网





按照套路,先贴出实验环境:




1。WAMP(集成的那种,最简单的几乎不需要配置)2。ZendStudio7.2(中文网站http://www。工作室。net/,提供下载、在线注册和教程)3。ThinkPHP框架+百度UEditor编辑器插件四。Win7-64位操作系统五。浏览器(火狐、IE、Chrome),外加火狐FireBug插件调试窃取样式













-------------------------------------------------- -----------华丽的分裂 ----------------------------- ------------------------














第一步:找一个网页模板(无美图,PS,见谅。)





我找的前端页面是大学实验室,这里就不贴了,很常见。后台直接下载的模板感觉还蛮漂亮的,运行后如下图:












第二步:第一时间了解百度UEditor插件



因为我想做的是实验室的网站。实验室网站主要内容如下:




介绍实验室成员实验室的项目和成果的新闻和学术交流







可以看到信息主要集中在后台新闻和文章信息发布,前台几乎没有编辑。所以关键是在后台实现一个方便的文章发布系统。


我选择了百度出品的UEditor WYSIWYG编辑器。主要由JS实现。融入后台后如下图。真的有很多功能:










如何将UEditor集成到网站中,请参考UEditor官网,有详细教程。










第三步:初识ThinkPHP框架







先从ThinkPHP框架的介绍开始。首先,为了加强感性认识,我们先来看一下ThinkPHP项目的目录结构:











文件夹:




行政 是后台项目文件夹。家是前台项目。public用于存放网页中的CSS文件、JS文件和图片。ThinkPHP框架ueditor是百度编辑器







以下三个PHP文件:




admin。php是后台项目的入口文件,index。php是前台项目的入口文件。配置。公司。php,因为这个小项目几乎所有的数据都存放在数据库中,而且前后端都要连接数据库,所以所有的数据库配置代码都放在里面。




?其余的构建路径,。设置, 。项目由 Zend IDE 生成,与它们无关。






-------------------------------------------------- ----华丽的分割-------------------------------------------- -----------------










由于我实际上有两个项目(home和admin),只要了解其中一个,我就只介绍一下背景,也就是admin部分。






再往下看,看看admin。php文件,这是第一个需要理解的文件,也就是后台的入口文件。












几个宏定义分别表示:







1。ThinkPHP 框架路径 2。后台应用目录3。后台应用名称 4。开启调试模式5。包含 ThinkPHP 框架下的 ThinkPHP。php 文件(重要!)







让我们创建一个小项目来演示开发过程:


比如整个项目的大目录是xxx,然后把ThinkPHP框架复制进去,并添加admin。php文件(如上图代码)













这时在浏览器中输入:http://localhost/xxx/admin。php会自动生成admin目录,如下图















打开admin目录,内容如下:











主要关注四个文件夹:


1。conf 存放项目配置文件(比如定义一些常量)


2。Lib(最重要的!MVC模式中存放模型类和控制器类)


3。tpl(存放模板文件,按道理,我们之前下载的模板应该放在这里)


4。运行时(存储运行时文件,比如缓存,数据库表缓存什么的)






最后把操作的结果贴在浏览器上。抱歉发帖有点晚。














如果能看到上面的画面,ThinkPHP就可以正常运行了。让我们继续改进。







-------------------------------------------------- ----------华丽的分裂-------------------------------------- ---------------









第四步:先熟悉MVC模式







说到这里不得不提一下ThinkPHP中MVC的概念。MVC非常有名,叫模型-视图-控制器模式。





在 ThinkPHP 中:


模型(Model)可以认为是一张数据库表。对于我所做的项目:


对于一篇文章(新闻),其属性包括 ID 号、标题、作者、创建时间、最后修改时间和文章内容。这是一篇文章的模型。然后按照这个思路创建对应的数据库表:
















视图(View)可以认为是用户看到的,也就是模板,或者皮肤。


比如前面贴的后台模板,就是ThinkPHP概念中的视图。





控制器(Action)可以看作是视图和模型之间的桥梁。因为网站显示的内容基本上来自很多模型(数据库表),控制器负责决定哪些数据在哪些模型下在哪些条件下展示。还是拿我的例子来说,我后台项目首页对应的控制器就是Index控制器。(索引控制器是所有项目的默认控制器)。但是你认为,一个网站的首页通常有很多按钮、超链接等。, 可以跳转到其他地方。贴图:












这是我的后台主页。可以看到左边有一个导航栏,右下方列出了数据库的当前文章信息。可以看到一共有三篇文章。例如,我可能想做:






1。删除文章“1111测试文章发布系统”


2。将文章“詹姆斯·高赢得第3届MVP奖杯”改为“詹姆斯·高赢得第4届MVP奖杯”


3。? ?添加另一篇文章






这对应Index控制器的不同功能,即Index控制器类IndexAction的不同方法(如名称edit()方法、delete()方法、add()方法)。当然,你会看到页面显示是因为Index控制器的Index()方法默认是执行的,在这个方法中调用display()方法显示模板(视图)。如果你不相信我,你可以看一下默认文件。里面Index控制器的Index方法实现了HelloThinkPHP欢迎页面。






例如:


IndexAction 目录是:


/xxx/admin/Lib/Action/IndexAction。班级。php


内容是:








可以看到,$this->display()默认在index方法中调用


(注意IndexAction继承了Action类,display方法是Action类的一个方法);


调用display()方法后,ThinkPHP会在对应项目的Tpl文件夹下的Index文件下找到index。html文件。前面的Index文件夹对应的是Index控制器,index。html 对应 index() 方法。


所以,一个控制器类对应一个模板文件夹。对应模板的数量取决于控制器类有多少方法以及需要显示多少方法。


因此,此时对应的模板文件路径为:


/xxx/admin/Tpl/Index/index。html









细心的朋友可能想问。你只谈了视图(模板)和控制器。模型呢,怎么知道数据库中三篇文章的信息其实不然,我在index方法中做了一些事情。下图是索引方法的简化版:








如您所见,在第一步中,我实例化了一个模型。型号名称是文章。前面提到,模型是一个数据库表。这时候检查一下有哪些数据库表可用:











第一个表的名字是think_article。可以看到还有前缀think_。其实这个是在配置文件中指定的。记住上面提到的配置。公司。php 配置代码如下:








return array(


?'DB_TYPE'=>‘mysql’,


?‘DB_HOST’?=>‘本地主机’,


?‘DB_NAME’ => 数据库名称,


?‘数据库用户’?=> 用户名,


?‘DB_PWD’=>密码,


?‘DB_PORT’?=>‘3306’,


?‘DB_PREFIX’? ?=>‘想想_’,


);


?>






第二条语句是查询数据库。ThinkPHP提供了很多查询数据库的方式,我使用的是连贯的操作方式。


执行完第二条语句后,$new_list变量存储了所有文章的信息,那么如何在界面上展示






看第三句,它把变量赋值给一个叫做‘new_list’的变量? (好像名字一样。不过没关系,关键是assign方法),然后我们在模板文件中替换就OK了。默认情况下,在 HTML 中写入 {$new_list} 是可以的。当然里面的new_list是复合变量,不是简单的数字或者字符串。但是ThinkPHP提供了很多循环方法供我们使用,非常方便。






最后一个语句是显示对应的视图文件。我们可以根据视图(模板)中定义的规则在浏览器中显示数据库中的文章信息。






-------------------------------------------------- -------------华丽的分割----------------------------------- ------------------------






源码下载


最后给出示例项目xxx的源代码。有需要的朋友可以下载,可以快速了解ThinkPHP的一般原理。






源代码功能:




1。后台管理员登录2。添加文章、编辑文章、删除文章3。在前台显示文章








指示:




1。解压到网站根目录下,默认是www文件夹下的xxx文件夹:


















2。在mysql中新建一个数据库,比如rubydb,整理成utf8-genaral-ci










3。导入数据库表文件夹下的两个数据库表think_article和think_user,导入后进入下图:


















4。配置配置。公司。php文件














可以看到上面的DB_NAME、DB_USER、DB_PWD需要修改




分别是?


‘DB_NAME’=>‘rubydb’,


‘数据库用户’ ?=>‘你的mysql登录账号’,


‘DB_PWD’ ? =>‘你的mysql登录密码’








5。运行 http://localhost/xxx/admin。php,弹出后台登录页面:












在think_user数据库中输入用户信息:ruby97,密码ruby97 ?, 然后输入验证码登录。














选择写新闻按钮,自行添加文章。然后去http://localhost/xxx看结果!










源码下载链接