17joys代码编写开始-项目目录、入口文件建立
当我决定开始编写17joys的时候,就打算使用一款已经存在的成熟框架进行程序编写,倒不是自己不能写,主要有两个原因,一个是我自己写框架要花费很多时间在框架设计与编写上,而且不见得比现有的一些框架要好,毕竟人家比较专业,而且开发力量雄厚,我自己写肯定有会很多地方考虑不周到的,第二个就是正好借助这个机会好好把ThinkPHP好好研究一番,以后上课的时候可以讲更多的内容给我的学生们,所以决定以ThinkPHP框架为基础开始17joys项目的建设。
当然建立项目的第一步就是建立目录结构,ThinkPHP有一套非常清晰的目录结构设定,包括两部分:
一、系统目录(ThinkPHP框架目录)
- Common包含框架的一些公共文件、系统定义、系统函数和惯例配置等
- Lang系统语言文件
- Lib系统基类库目录
- Tpl系统模板目录
- Mode框架模式扩展目录
- Vendor第三方类库目录
- ThinkPHP.php 框架的公共入口文件
二、应用目录(项目目录)注:这个项目目录可以自动生成,非常方便,省着自己写,还容易写错了。
- Common项目公共文件目录,一般放置项目的公共函数
- Conf项目配置目录,所有的配置文件都放在这里。
- Lang 项目语言包目录(可选)
- Lib项目类库目录,通常包括Action和Model子目录
- Tpl项目模板目录,支持模板主题
- Runtime项目运行时目录,包括Cache(模板缓存)、Temp(数据缓存)、Data(数据目录)和Logs(日志文件)子目录
- index.php 项目入口文件(可以使用其他名称或者放置于其他位置)
上面的只是默认方式,项目下面的目录名称和结构是可以重新定义的。其实项目目录并不需要开发人员手动创建,只需要定义好项目的入口文件之后,系统会在第一次执行的时候自动生成项目必须的所有目录结构(前提是项目目录具有可写权限,这点在Linux环境下面需要注意)。
系统目录中的内容大家可以到ThinkPHP官网去下载,或者点击另存为
说道这里,顺便说下17joys的项目的开发工具也就是IDE,我选择的是Zend Studio 6.0 for Eclipse,下面是目录截图
这里需要说下,ThinkPHP采用单一入口模式进行项目部署和访问,无论完成什么功能,一个项目只有一个统一(但不一定是唯一)的入口。17joys的后台程序入口文件我指定为admin.php文件
<?phpdefine('APP_NAME','Admin'); //定义项目名称和路径define('APP_PATH','./Admin'); //定义ThinkPHP框架路径(相对于入口文件),所以我会有一个Admin的目录define('THINK_PATH','./ThinkPHP'); //定义一个常量,用来保存ThinkPHP源码目录,这里还有其他作用,后面介绍require THINK_PATH.'/ThinkPHP.php'; //加载框架入口文件App::run(); //实例化一个网站应用实例,这样当你访问admin.php文件时,应用目录就会自动建立完成。?>
下面是你访问项目入口文件时看到的欢迎界面,非常的人性化,这也是我喜欢ThinkPHP的原因之一
访问URL:http://localhost/joys/admin.php
至此17joys的项目目录、入口文件已经建立完成,是不是开始有点成就感啦,呵呵