码迷,mamicode.com
首页 > 其他好文 > 详细

tp框架搭建

时间:2015-10-27 00:10:26      阅读:553      评论:0      收藏:0      [点我收藏+]

标签:

1、下载ThinkPHP源码

http://www.thinkphp.cn/

                       

 

ThinkPHP3.2.3核心板(代码比较精简,没有过多的扩展功能,如Smarty、SQL支持)

ThinkPHP3.2.3完整版(功能比较完善,包含了常用扩展功能)

建议初学者或学习者使用完整版。

备注信息:如果使用ThinkPHP3.1之前版本,要求PHP版本最低为PHP5.2

                   如果使用ThinkPHP3.2版本,要求PHP版本最低为PHP5.3,因为ThinkPHP3.2中引入大量的命名空间。

 

下载ThinkPHP3.2.3完整版解压后如下图所示:

 

2、ThinkPHP源码解析

 

3、ThinkPHP的部署(重要!!!)

1)在Apache服务器中创建一个文件夹如thinkphp,作为项目目录

 

2)配置虚拟主机(重要!!!)

 

3)配置系统hosts文件

 

配置完成后,重启Apache服务器

4)复制ThinkPHP源码包到项目目录中

 

5)通过ZendStudio创建项目thinkphp

 

6)创建index.php项目的入口文件(单一入口),编写代码如下:

   <?php
  //1.设置响应头信息
  header(‘content-type:text/html;charset=utf-8‘);
  //2.设置项目目录
  define(‘APP_PATH‘,‘./Shop/‘);
  //3.开启调试功能
  define(‘APP_DEBUG‘,true);
  //4.载入thinkphp入口文件
  include ‘./ThinkPHP/ThinkPHP.php‘;

保存后,在浏览器中,通过顶级域名如(http://www.thinkphp.com/)访问thinkphp项目,如出现以下界面,代表配置成功,否则请重新检查以上步骤是否有误!

 

4、自动生成机制

项目部署成功后,会自动生成Shop文件夹(官方默认Application)

 

解析Shop文件夹目录结构:

 

Home前台模块目录解析:

 

5、ThinkPHP入口文件

 

说明:项目入口文件(index.php)中,其代码顺序不能颠倒,必须采用如下模式:

   //1.设置项目目录
  define(‘APP_PATH‘,‘./Shop/‘);
  //2.载入thinkphp入口文件
  include ‘./ThinkPHP/ThinkPHP.php‘;

主要是受到ThinkPHP.php入口文件影响,代码如下:

  // 系统常量定义
  defined(‘THINK_PATH‘)   or define(‘THINK_PATH‘,     __DIR__.‘/‘);
  defined(‘APP_PATH‘)     or define(‘APP_PATH‘,       dirname($_SERVER[‘SCRIPT_FILENAME‘]).‘/‘);
  defined(‘APP_STATUS‘)   or define(‘APP_STATUS‘,     ‘‘); // 应用状态 加载对应的配置文件
  defined(‘APP_DEBUG‘)    or define(‘APP_DEBUG‘,      false); // 是否调试模式

6、系统配置文件

1)系统部署完成后,为什么运行会自动跳转到初始化页面

 

答:主要是由ThinkPHP系统中的默认配置文件决定的:

  ‘DEFAULT_MODULE‘        =>  ‘Home‘,  // 默认模块
    ‘DEFAULT_CONTROLLER‘    =>  ‘Index‘, // 默认控制器名称
    ‘DEFAULT_ACTION‘        =>  ‘index‘, // 默认操作名称

 

如果我们使用缺省网址访问项目:http://www.thinkphp.com/,系统自动跳转到Home模块下的IndexController.class.php(Index控制器)下面的index方法

 

由于受到配置文件的影响,系统会默认跳转到以下文件中的以下方法:

 

2)系统是根据什么参数进行跳转的呢?

答:可以在配置文件中找到如下信息:

  /* 系统变量名称设置 */
    ‘VAR_MODULE‘            =>  ‘m‘,     // 默认模块获取变量
    ‘VAR_ADDON‘             =>  ‘addon‘,     // 默认的插件控制器命名空间变量
    ‘VAR_CONTROLLER‘        =>  ‘c‘,    // 默认控制器获取变量
    ‘VAR_ACTION‘            =>  ‘a‘,    // 默认操作获取变量

所以ThinkPHP转发功能主要由

m:模块名称(Home、Admin、BBS)

c:控制器类名称(自动到模块的Controller文件夹去寻找控制器)

a:操作名称或方法名称(控制器类中函数名称)

 

3)如果系统出问题了,如何调试呢?

系统如果出现错误,默认会显示友好提示:

 

但是在开发过程中,友好提示并不能明确告诉我们哪里出错,也不方便调试,所以在开发阶段需要开启调试功能,定义代码如下:

  //开启调试功能
  define(‘APP_DEBUG‘,true);

以上代码主要由ThinkPHP.php入口文件决定的:

 defined(‘APP_DEBUG‘)    or define(‘APP_DEBUG‘,      false); // 是否调试模式

 

7、入门案例:实现操作shop数据库下面的产品表并调用模板输出数据

①创建项目目录thinkphp

②配置虚拟主机

③配置hosts文件

配置完成后重启Apache服务器

④配置Zend工程

⑤创建入口文件

⑥编写代码(设置响应头信息、定义项目目录、开启调试功能、载入项目入口文件)

 

运行项目,效果如下图所示:

 

⑦系统部署成功,会自动跳转到Home模块下(前台)下的IndexController.class.php(Index控制器)下的index操作(index函数)中。

⑧配置数据库连接操作

在Home文件夹下的Conf文件中,找到config.php文件,然后到ThinkPHP文件夹下找Conf文件夹里面的convention.php配置文件,复制配置文件。

 

⑨调用模型与视图,实现调用产品表中的内容

 

然后在Home文件夹下的View文件夹创建与控制器同名文件夹Index并在文件夹中创建index.html模板,代码如下:

 

再次运行,结果如下:

 

这就是ThinkPHP的完成流程

tp框架搭建

标签:

原文地址:http://www.cnblogs.com/xxmm/p/4912844.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!