ThinkPHP是为了简化企业级应用开发和敏捷WEB应用开发而诞生的,ThinkPHP可以支持windows/Unix/Linux等服务器环境,正式版需要PHP5.0以上版本支持,支持MySql、PgSQL、Sqlite多种数据库以及PDO扩展。
thinkphp框架命名规范
使用ThinkPHP开发的过程中应该尽量遵循下列命名规范:
1、类文件都是以.class.php为后缀(这里是指的ThinkPHP内部使用的类库文件,不代表外部加载的类库文件),使用驼峰法命名,并且首字母大写,例如 DbMysql.class.php;
2、类的命名空间地址和所在的路径地址一致,例如 Home\Controller\UserController类所在的路径应该是 Application/Home/Controller/UserController.class.php;
3、确保文件的命名和调用大小写一致,是由于在类Unix系统上面,对大小写是敏感的(而ThinkPHP在调试模式下面,即使在Windows平台也会严格检查大小写);
4、类名和文件名一致(包括上面说的大小写一致),例如 UserController类的文件命名是UserController.class.php, InfoModel类的文件名是InfoModel.class.php, 并且不同的类库的类命名有一定的规范;
5、函数、配置文件等其他类库文件之外的一般是以.php为后缀(第三方引入的不做要求);
6、函数的命名使用小写字母和下划线的方式,例如 get_client_ip;
7、方法的命名使用驼峰法,并且首字母小写或者使用下划线“_”,例如 getUserName,_parseType,通常下划线开头的方法属于私有方法;
8、属性的命名使用驼峰法,并且首字母小写或者使用下划线“_”,例如 tableName、_instance,通常下划线开头的属性属于私有属性;
9、以双下划线“__”打头的函数或方法作为魔法方法,例如 __call 和 __autoload;
10、常量以大写字母和下划线命名,例如 HAS_ONE和 MANY_TO_MANY;
11、配置参数以大写字母和下划线命名,例如HTML_CACHE_ON;
12、语言变量以大写字母和下划线命名,例如MY_LANG,以下划线打头的语
言变量通常用于系统语言变量,例如 CLASS_NOT_EXIST;
13、对变量的命名没有强制的规范,可以根据团队规范来进行;
14、ThinkPHP的模板文件默认是以.html 为后缀(可以通过配置修改);
15、数据表和字段采用小写加下划线方式命名,并注意字段名不要以下划线开头,例如 think_user 表和 user_name字段是正确写法,类似 _username 这样的数据表字段可能会被过滤。
下面以ThinkPHP2.0为例,结合Mysql数据库实现简单的增删改查,重在thinkphp框架的使用方法,布局先凑合着看。
<?php
define('THINK_PATH', 'ThinkPHP');
define('APP_NAME', 'CSDN_ThinkPHP');
define('APP_PATH', '.');
require(THINK_PATH."/ThinkPHP.php");
App::run();
return array(
'APP_DEBUG'=>false,
'DB_TYPE'=>'mysql',
'DB_HOST'=>'localhost',
'DB_NAME'=>'wtyy',
'DB_USER'=>'root',
'DB_PWD'=>'****',
'DB_PORT'=>'3306',
'DB_PREFIX'=>'think_' //数据表的前缀
);
?>
// 本类由系统自动生成,仅供测试用途
class IndexAction extends Action{
//查
public function index(){//入口
/*header("Content-Type:text/html; charset=utf-8");
echo "<div style='font-weight:normal;color:blue;float:left;width:345px;text-align:center;border:1px solid silver;background:#E8EFFF;padding:8px;font-size:14px;font-family:Tahoma'>^_^ Hello,欢迎使用<span style='font-weight:bold;color:red'>ThinkPHP</span></div>"; */
$db=M('csdn'); //不含表前缀
$all=$db->select(); //查询所有
$se=$db->where('name="梧桐烟雨"')->select(); //条件查询
$this->assign('all',$all);
$this->assign('se',$se);
$this->display();
}
//删
public function delete(){
/*header("Content-Type:text/html; charset=utf-8");
//echo "<div style='font-weight:normal;color:blue;float:left;width:345px;text-align:center;border:1px solid silver;background:#E8EFFF;padding:8px;font-size:14px;font-family:Tahoma'>^_^ Hello,欢迎使用<span style='font-weight:bold;color:red'>ThinkPHP</span></div>"; */
$db=M('csdn');
$db->where('name="梧桐烟雨" and age=18')->delete();
$this->display();
}
//增
public function add(){
/* header("Content-Type:text/html; charset=utf-8");
echo "<div style='font-weight:normal;color:blue;float:left;width:345px;text-align:center;border:1px solid silver;background:#E8EFFF;padding:8px;font-size:14px;font-family:Tahoma'>^_^ Hello,欢迎使用<span style='font-weight:bold;color:red'>ThinkPHP</span></div>"; */
$dba=M('csdn');
$dba->Create();
$data['name']='梧桐烟雨';
$data['age']=18;
$re=$dba->add($data);
$this->display();
}
//改
public function update(){
//header("Content-Type:text/html; charset=utf-8");
//echo "<div style='font-weight:normal;color:blue;float:left;width:345px;text-align:center;border:1px solid silver;background:#E8EFFF;padding:8px;font-size:14px;font-family:Tahoma'>^_^ Hello,欢迎使用<span style='font-weight:bold;color:red'>ThinkPHP</span></div>";
$db=M('csdn');
$data['name']='梧桐烟雨';
$db->where('age=20')->save($data);
$this->display();
}
}
?>
注:这里需要注意的是,需要删除Runtime\Data\_fields里面的文件,否则向数据库插入的都是空值。
5.定位到Tpl\default目录下,因为上面的控制内容是在IndexAction.class.php中写的,所以在default下新建Index目录,在里面写上相应的模板.html文件用于输出。即先对应目录名,再对应文件名。
首先看入口模板index.html:
<center>
<b>查询所有人信息</b><br>
<volist name='all' id='csdn'>
姓名:{$csdn.name}<br>
年龄:{$csdn.age}<hr>
</volist><br><br>
<b>查询姓名为 梧桐烟雨 的所有人信息</b><br>
<volist name='se' id='csdn'>
姓名:{$csdn.name}<br>
年龄:{$csdn.age}<hr>
</volist>
<br><br>
<a href="__URL__/add">增加信息:梧桐烟雨 18岁</a><br>
<a href="__URL__/delete">删除信息:梧桐烟雨 18岁</a><br>
<a href="__URL__/update">更改信息:梧桐烟雨 20岁</a>
</center>
增加信息add.html:
<body>
添加成功
</body>
删除信息delete.html:
<body>
删除成功
</body>
更改信息update.html:
<body>
更改成功
</body>
以上是ThinkPHP交互mysql的基本使用方法,感谢浏览!