第一个入门例子
来源:互联网 发布:照相馆预约系统源码 编辑:程序博客网 时间:2024/05/17 23:40
1、配置thinkPHP
下载thinkphp3.0,复制到web目录下,新建一个文件夹,命名app(项目名),在app下创建入口文件index.php,
<?php
require '../ThinkPHP/ThinkPHP.php';
?>
浏览器访问http://localhost/app/或者http://localhost/app/index.php/Index/index,就能看到下面的欢迎界面。
2、尝试控制器和视图
1)数据库
在开始之前,我们首先在数据库thinkphp中创建一个think_data数据表(以mysql数据库为例):
CREATE TABLE IF NOT EXISTS `think_data` (
`id` int(8) unsigned NOT NULL AUTO_INCREMENT,
`data` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ;
INSERT INTO `think_data` (`id`, `data`) VALUES
(1, 'thinkphp'),
(2, 'php'),
(3, 'framework');
在项目配置文件(位于项目目录的Conf/config.php)中添加数据库连接信息如下:
<?php
return array(
//'配置项'=>'配置值'
'DB_DSN'=>'mysql://root:jiangxun@localhost:3306/thinkphp'
);
?>
2)控制器:
需要为每个模块定义一个控制器类,控制器类的命名规范是:
模块名+Action.class.php (模块名采用驼峰法并且首字母大写)
系统的默认模块是Index,对应的控制器就是项目目录下面的Lib/Action/IndexAction.class.php,类名和文件名一致。复制代码控制器必须继承Action类,一个模块可以包括多个操作方法。如果你的操作方法是protected或者private类型的话,是无法直接通过URL访问到该操作的。
<?php
class IndexAction extends Action {
public function index(){
$Data=M('Data');
$this->data=$Data->select();
$this->display();
}
}
?>
3)视图
ThinkPHP内置了一个编译型模板引擎,也支持原生的PHP模板,并且还提供了包括Smarty在内的模板引擎驱动。和Smarty不同,ThinkPHP在渲染模板的时候如果不指定模板,则会采用系统默认的定位规则,其定义规范是 Tpl/模块名/操作名.html,所以,Index模块的index操作的默认模板文件位于项目目录下面的Tpl/Index/index.html。
<html>
<head>
<title>Select Data</title>
<body>
<volist name="data" id="vo">
{$vo.id}--{$vo.data}<br/>
</volist>
</body>
</head>
</html>
清空Runtime目录下面的缓存文件。刷新http://localhost/app/index.php/Index/index。
如果能看到下面的输出结果,那么恭喜你已经拿到了入门ThinkPHP的钥匙!
1--thinkphp
2--php
3--framework
- 第一个入门例子
- 第一个Struts入门例子
- 【MyBatis】第一个入门例子
- SpringMVC第一个入门例子
- EJB入门第一个小例子
- Struts2入门--第一个简单例子
- 《JSF教程》-03 环境搭建与第一个入门例子
- Hibernate 入门第四课 第一个小例子
- ReactNative 入门课程(3)第一个小例子
- Hibernate入门学习(3)----第一个Hibernate例子
- 第一个Authorware例子
- 第一个spring例子
- 第一个jstl例子
- 第一个jboss例子
- 第一个lucene例子
- 第一个cuda例子
- 第一个dwr例子
- 第一个jquery例子
- DSB,ISB,DMB指令
- cef1 mfc 对话框简单调用
- chromium截图实现
- winform窗体加背景图片后,控件多了会闪烁,该如何处理
- Android移植busybox
- 第一个入门例子
- SCSI miniport 驱动简单框架
- PHP编译参数的注释
- java 加密
- 一对父子的聊天记录
- bzoj 1860: [Zjoi2006]Mahjong麻将 题解
- Android五种数据传递方法汇总
- 关于String 类
- Android移植busybox