thinkPHP学习笔记之安装配置篇
国产框架thinkphp,是一款mvc框架,这个框架最初模拟java的struts框架,使用单一入口文件模拟java的过滤器,使用action来模拟struts的控制器action,所以为什么他的mvc之中,m是model,v是view,而control却是action的原因。
在3.2.3版本中,control改成了c,也是趋于形式,因为java世界的springmvc开始流行,spring使用的control,不在使用action这种定义,其实action来表示control本身就有一定的误导,control就c嘛,为什么来一个aciton,让人摸不着头脑。
thinkphp最难理解的是他的访问方式,在官方文档上面讲解有点误导人,按照官文一定出错,是因为官文没有讲清楚!
thinkphp的安装其实很简单,只要require他的主程序文件,就可以生成一些列的目录,但是url与他的control、tpl的关系是什么呢?官文说得实在太含糊了,但凡使用过java的人都会被官文忽悠到吐血!
官文,能否条理清楚点!?
实际使用过后总结了以下几点:
1,安装thinkphp:
和主程序thinkphp同目录下建立 admin.php或者其他的名字都可以
<?php
//定义项目名称和路径
define('app_name', ''); //名字时空的时候,就是生成的文件夹前不加前缀
define('app_path', './admin/');//这个是和主程序thinkphp同目录下生成admin目录的意思
define('app_debug', true);//开始编辑模式,文件强制编译,不缓存
// 加载框架入口文件
require( "../thinkphp/thinkphp.php");//主程序入口文件
2,文件目录:
自动生成的文件目录是
common:写函数的地方
conf:配置文件,例如配置数据库连接地址
lang:语言包,国际化
lib:action,model都在这里面,是一个比较重要的地方,和java的lib是jar包完全不同概念
runtime:运行时的缓存文件
tpl:模板,就是html文件
3,访问方法:
url:localhost/thinkphp/admin.php?m=show&a=add
解释:本地/项目目录/刚才建立的单一入口文件?model=类名&action=方法名
意思:进入单一入口文件admin.php中的show类中的add方法
强调:类名是大写开头,小写会找不到,这个把我害苦了,弄了一下午,原来是只认识大写类名,小写不认识
infopath风格url:localhost/thinkphp/admin.php/show/add
解释:和默认的一样,就是没有写出m a
4,写类,写方法:
thinkphp的作者一定是一个喜欢折腾的人,完美主义者,所以才会思考出这种方式来控制程序,整个程序都是以action类为核心,一个action类等于是一个页面,里面的方法就是和这个页面相关的操作,什么增删改查啊,这个很符合国人的思考方式,但是复用性并不高。
写文件:lib/action/showaction.class.php
<?php
//show就是类名,action只是一个识别辅助,必须写,但是可以调用的时候忽略,记得大写哦,你小写他也给你换成大写开头,让你弄死找不到小写show的模块,m=show
class showaction extends action {
//add就是action的方法,a=add
public function add(){
//输出页面cc,他自动加载默认tpl目录下show文件下的cc.html文件,这里如果没有cc,就加载方法名字一样的add.html,如果cc.html与add.html都没有就报错
$this->display('cc');
}
}
5,写模板:
上面提到了加载模板,现在就写一个:
tpl/show/cc.html
<html>一个普通html文件</html>
以上就是本文的全部内容了,希望大家能够喜欢。
上一篇: 猪笨还是狗熊笨