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

使用ThinkPHP框架快速开发网站(多图):https://blog.csdn.net/ruby97/article/details/7574851

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

Thinkphp简介:http://thinkphp.cn/Manual/16

官方完全开发手册: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. 创建入口文件

<?php

// +----------------------------------------------------------------------

// | 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 <[email protected]>

// +----------------------------------------------------------------------

// 定义 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 。我们打开这个配置文件,加入我们的数据库配置信息。

<?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 信息,这是为了在开发过程中调试用的,关闭调试模式后,这些信息会自动消失。另外在调试模式下面,由于开启了日志记录,并且关闭了所有缓存,所以执行效率会有一定影响,但是关闭调试模式后,效率会有非常显著的提高。

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

原文地址:https://www.cnblogs.com/jianxian/p/8722168.html

时间: 2024-10-08 21:19:40

ThinkPHP创建应用的一般开发流程及实例的相关文章

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

使用ThinkPHP创建应用的一般开发流程是: 系统设计.创建数据库和数据表:(可选) 项目命名并创建项目入口文件,开启调试模式: 完成项目配置: 创建项目函数库:(可选) 开发项目需要的扩展(模式.驱动.标签库等):(可选) 创建控制器类: 创建模型类:(可选) 创建模板文件: 运行和调试.分析日志: 开发和设置缓存功能:(可选) 添加路由支持:(可选) 安全检查:(可选 ) 部署到生产环境.

Django开发流程及实例

创建虚拟环境 创建:mkvirtualenv [虚拟环境名称] 删除:rmvirtualenv [虚拟环境名称] 进入:workon [虚拟环境名称] 退出:deactivate 所有的虚拟环境,都位于/home/.virtualenvs目录下 进入虚拟环境前的提示: 进入虚拟环境后的提示: 查看当前的所有虚拟环境:workon [两次tab键] 查看虚拟环境中已经安装的包 pip list pip freeze 安装django 建议安装1.8.2版本,这是一个稳定性高.使用广.文档多的版本

基于微信硬件公众平台的智能控制开发流程

一.微信硬件公众平台整体架构 上一篇<物联网架构场景技术分析>已经探讨和分析了物联网架构的演进,基于微信硬件公众平台的智能控制方案即属于文中的第三种架构--基于统一后台服务的物联架构.其中的架构如下: 各部分的角色和分工如下: 1.微信硬件公众号平台服务器,是物联网的基础和核心部分,其负责外设设备ID的认证,类似公安部给每个公民一个身份证一样,保证每个外设都有一个合法并且唯一的ID.目前微信平台的设备ID由两部分组成,一部分是厂商运维的公众号(即手机微信关注的公众号)的原始ID,称为设备类型,

微信支付的开发流程

最近在公司做了微信支付的接入,这里总结下开发的一些经验 注意,我使用的是微信开放平台的支付,与手机app相关,而与公众账号无关.   微信支付的主要操作流程 1.用户浏览app,选定商品然后下单. 2.服务器处理订单逻辑,开始正式发起支付流程 3.首先,后台服务器向weixin服务器发起请求,获取一个token. 4.后台服务器拿到token,使用和其他参数加密,再次向weixin服务器发起请求,获取一个预支付prepayid 5.后台服务器将该prepayid返回给app客户端 6.app调用

Hibernate开发流程

一:基本开发流程: -->导入jar包,hibernate.jar + required + jpa + 数据库驱动包 -->对实体类进行映射,写配置文件 -->src目录下添加hibernate.cfg.xml文件 数据库相关配置,其他相关配置(是否显示sql,是否自动建表等),映射文件加载 -->测试DAO 二:hibernate程序执行流程 三:hibernate.cfg.xml配置详解 1 <!DOCTYPE hibernate-configuration PUBLI

聚合数据简易开发流程

聚合数据SDK简介 聚合数据SDK是一套基于Android/iOS开发的程序接口,目前已有Android.iOS版本.开发者可以使用该套SDK开发适用于Android/iOS系统移动设备的应用,通过调用SDK接口,可以轻松的访问聚合的所有数据和服务,构建功能丰富.交互性强的应用程序该SDK集成了平台上的大部分数据服务(除电商SDK.比价SDK.定位SDK外),开发者只需使用聚合SDK即可调用已经申请的数据,无需再针对不同数据编写程序,更方便用户快速开发. Android SDK V2.0 简易开

git开发流程、常用命令及工具

根据我最近使用git的一些经历,git是基于分支的版本控制工具,分支有远程分支和本地分支. 一.开发流程 大致是: 从远程服务器的master,clone一份项目文件到本地,然后本地master的基础上branch一个新的本地分支xname,然后checkout切换到这个本地分支上,开始开发: 开发过程中可以不断的commit到本地, 开发完成之后,把本地分支xname ,push origin到远程分支xname上,(纳尼,这个远程xname我什么时候建立的), 远程分支xname和maste

20个可以帮你简化iOS app开发流程的工具

这里推荐20个可以帮你简化iOS app开发流程的工具.很多开发者都使用过这些工具,涉及原型和设计.编程.测试以及最后的营销,基本上涵盖了整个开发过程. 原型和设计 有了一个很好的创意后,你要做的不是立刻编程,而是设计UI和创建原型,这样你才能知道app如何运行,根据用户体验需要做哪些调整. App Cooker AppCooker 不仅是一个创建原型的优秀工具,它提供的许多功能还可以帮助你将程序发布到App store中.它集成了Dropbox,Box.net和photo roll,你可以直接

开发流程

一个完整的开发流程应该有这四步:分析->设计->编码->测试.很多开发团队往往只有编码这边,弱化了其他步骤,他们拿到需求就开始写代码, 写着写着发现有问题,要么是遇到一个难点解决不了,要么是发现要返回修改以前写过的代码, 要么是发现有大量的重复代码,又不知道怎么封装,只能将错就错.做好了分析和设计编码时就不会有这么多问题, 做好了测试产品bug就少,产品质量才高. 下面我分别详细讲解一下这四步. 分析 分析的时候,我们要分析需求和难点. 分析需求的方法是做需求陈述处理,前面我提到过, 要