好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

ThinkPHP创建应用的一般开发流程及实例 - Thinkphp

ThinkPHP创建应用的一般开发流程及实例

Thinkphp是免费开源的php框架,提供了建站所需要的各种组件,方便用户快速建设部署网站.

官方完全开发手册:http://thinkphp.cn/Manual

使用 ThinkPHP 创建应用的一般开发流程是:

创建数据库和数据表;(没有数据库操作可略过)

项目命名并创建项目入口文件;

完成项目配置;(无需额外配置可以忽略)

创建控制器类;

创建模型类;(如果只是简单的模型类可以不必创建)

创建模板文件;

运行和调试。

1. 首先在数据库创建一个数据库 demo,表 think_demo,以 MySQL 为例:

CREATE TABLE `think_demo` (      `id` int(11) unsigned NOT NULL auto_increment,       `title` varchar(255) NOT NULL  default   '' ,       `content` longtext NOT NULL,       PRIMARY KEY  (`id`)     ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;  

2. 创建入口文件

// +----------------------------------------------------------------------   // | ThinkPHP [ WE CAN DO IT JUST THINK IT ]   // +----------------------------------------------------------------------   // | Copyright (c) 2009 http://thinkphp.cn All rights reserved.   // +----------------------------------------------------------------------   // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )   // +----------------------------------------------------------------------   // | Author: liu21st    // +----------------------------------------------------------------------     // 定义 ThinkPHP 框架路径   define( 'THINK_PATH' ,  'ThinkPHP' );  // 定义项目名称和路径   define( 'APP_NAME' ,  'MyApp' );  define( 'APP_PATH' ,  '.' );  // 加载框架公共入口文件   require (THINK_PATH. "/ThinkPHP.php" );  // 实例化一个网站应用实例   App::run();  ?> 

注意,APP_PATH 的路径指的是项目目录所在路径,而不是项目入口文件所在的路径,APP_NAME 通常都必须和项目目录名称一致.

如果你的项目入口文件放到项目目录下面的话,可以无需定义 APP_NAME 和 APP_PATH ,系统可以自动识别,THINK_PATH 通常也不是必须的.

3.自动生成

ThinkPHP 具备项目目录自动生成功能,并且不需要使用任何命令行工具,我们只需要简单的浏览器里面访问刚才创建的应用入口文件.

打开浏览器,访问该项目的入口文件: http://127.0.0.1/Myapp/index.php

这时可以看到项目构建成功后的提示画面,并且在 Myapp 目录下,已为您构建好了项目目录。

注意: ThinkPHP 框架的所有文件都是采用 UTF-8 编码保存,但是这不影响你的项目中使用其他编码开发和浏览,请注意确保文件保存的时候去掉 UTF-8 的 BOM 头信息,防止因产生隐藏的输出而导致程序运行不正常.

注意: 如果你是在 Linux 环境下,要确保项目目录的自动生成,请设置 Myapp 目录的权限为可写,否则请自行创建相关目录,然后设置 Runtime 目录为可写权限(通常都是设置目录属性为 777).

4.项目配置

自动生成的项目目录下面已经为我们创建了一个空的项目配置文件,位于项目的 Conf 目录下面,名称是 config.php,我们打开这个配置文件,加入我们的数据库配置信息.

return   array (          //' 配置项 '=>' 配置值 '           'APP_DEBUG'  => true,  // 开启调试模式               'DB_TYPE' =>  'mysql' ,    // 数据库类型               'DB_HOST' =>  'localhost' ,  // 数据库服务器地址               'DB_NAME' => 'demo' ,   // 数据库名称               'DB_USER' => 'root' ,  // 数据库用户名               'DB_PWD' => '123456' ,  // 数据库密码               'DB_PORT' => '3306' ,  // 数据库端口               'DB_PREFIX' => 'think_' ,  // 数据表前缀       );  ?> 

5. 业务逻辑

接下来,我们需要实现一个数据添加和查询操作的简单应用,来领略下 ThinkPHP 的快速开发.

在项目的 LibAction 目录下面找到自动生成的 IndexAction.class.php 文件,这个文件就是 ThinkPHP 的控制器,也就是 Index 模块的实现,删除 IndexAction 类默认生成的 index 方法,添加新的 insert 方法和 index 方法,代码如下:

public   function  insert() {              $Demo  =  new  Model( 'Demo' );    // 实例化模型类                $Demo ->Create();  // 创建数据对象                $result  =  $Demo ->add();  // 写入数据库                $this ->redirect( 'index' );  // 成功后重定向到 index 操作页面       }  public   function  index() {              $Demo  =  new  Model( 'Demo' );  // 实例化模型类                $list  =  $Demo ->select();  // 查询数据                $this ->assign( 'list' , $list );  // 模板变量赋值                $this ->display();  // 输出模板       } 

以上定义后,Index 模块就具有了 insert 和 index 两个操作,操作方法的定义不需要使用任何参数,而且必须定义为 public 类型,否则无法访问.

由于只是简单的数据操作应用,所以我们根本不需要创建任何的模型类也同样可以进行 CURD 操作,这就是新版的魅力所在.

6. 模版定义

控制器和操作方法已经创建完毕,接下来就是定义模板文件了.

项目的自动生成已经为我们生成了 Tpl/default 目录,我们只需要在 default 目录下面创建 Index 目录,表示存放 Index 模块的模板文件,由于 insert 操作是后台操作,并不涉及模板输出,因此不需要定义模板文件,所以我们只要为 index 操作定义模板即可,内容如下:

< form   method = "post"    action = "__ URL __/insert"   >     标题:  < input   type = "text"   name = "title" > < br   />     内容:  < textarea   name = "content"   rows = "5"   cols = "25" > < textarea > < br />     < input   type = "submit"   value = " 新增数据 " >     form >   < volist   name = 'list'   id = 'vo'   >     编号 :{$vo.id} < br />     标题 :{$vo.title} < br />      内容 :{$vo.content} < hr >     volist >   

把上面的内容保存为 Tpl/default/Index/index.html 即可.

action="/Admin/Manual/insert" 表示提交表单到当前模块的 insert 操作。

7. 运行应用

模板定义完成后,我们就可以运行应用了,我们在浏览器里面输入:

http://localhost/Myapp/ 就可以看到页面的表单输出了.

由于我们开启了调试模式,所以在页面的最下面还会看到一些额外的调试信息,并且可以很清楚的看到当前页面的请求信息和执行时间、 SQL 日志,最后还有加载的文件列表,事实上,页面 Trace 信息的显示完全是可以定制的,而这些内容不需要在模板里面定义.

在 ThinkPHP 中,我们称之为页面 Trace 信息,这是为了在开发过程中调试用的,关闭调试模式后,这些信息会自动消失,另外在调试模式下面,由于开启了日志记录,并且关闭了所有缓存,所以执行效率会有一定影响,但是关闭调试模式后,效率会有非常显著的提高.

可以尝试在页面新增数据,会看到页面下面有列表数据输出,到目前为止,我们已经完成了一个完整的数据操作应用了.

查看更多关于ThinkPHP创建应用的一般开发流程及实例 - Thinkphp的详细内容...

  阅读:79次