【外贸公司企业建站】手机智能建站
作者:八月 发布时间: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看结果!
源码下载链接