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

一键式智能建站网站平台

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

【外贸公司企业建站】手机智能建站

作者:八月      发布时间:2021-08-09      浏览量:68709
http://www。编码器。净/教程/ info_8。htmlhttp://博客。csdn。净/ruby97/文章/细节/7574851 这周忙着做实验室网站,基本功能已经完成。比较有收获的是我大概了解了ThinkPHP框架。写点东西作为


http://www。编码器。净/教程/ info_8。html


http://博客。csdn。净/ruby97/文章/细节/7574851





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


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


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


超链接:ThinkPHP中文网





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





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











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











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





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












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



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





介绍实验室成员
实验室项目、成果等。
实验室新闻和学术交流信息









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


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









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








第三步:初识ThinkPHP框架






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










文件夹:





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









以下三个PHP文件:





admin。php是后台项目的入口文件,
指数。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_USER’ => 用户名,


‘DB_PWD’ => 密码,


‘DB_PORT’ =>‘3306’,


‘DB_PREFIX’ =>‘think_’,


);


?>





第二条语句是查询数据库。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’=>‘rubydb’,


‘DB_USER’ =>‘你的mysql登录账号’,


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








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













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












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








源码下载链接