您的位置:首页 > 编程语言 > PHP开发

ThinkPHP框架简单应用之mysql增删改查

2017-03-10 13:43 309 查看


ThinkPHP是为了简化企业级应用开发和敏捷WEB应用开发而诞生的,ThinkPHP可以支持windows/Unix/Linux等服务器环境,正式版需要PHP5.0以上版本支持,支持MySql、PgSQLSqlite多种数据库以及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、数据表和字段采用小写加下划线方式命名,
4000
并注意字段名不要以下划线开头,例如 think_user 表和 user_name字段是正确写法,类似 _username 这样的数据表字段可能会被过滤。


下面以ThinkPHP2.0为例,结合Mysql数据库实现简单的增删改查,重在thinkphp框架的使用方法,布局先凑合着看

     

     
  

      

   
    

一、建立数据库wtyy,在wtyy中建立数据表think_csdn:



二、
1.建立一个PHP工程CSDN_ThinkPHP,将下载的ThinkPHP复制到工程根目录中,结构如下:



2.在工程根目录下编写入口文件index.php:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<?php

define('THINK_PATH', 'ThinkPHP');

define('APP_NAME', 'CSDN_ThinkPHP');

define('APP_PATH', '.');

require(THINK_PATH."/ThinkPHP.php");

App::run();
?>
运行后浏览器显示如下:



而此时的目录则显示如下所示,即为ThinkPHP的目录自动生成功能:



3.定位到Conf目录下的config.php文件,这是ThinkPHP的总配置文件,在这里完成数据库的配置:
<?php

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_'  //数据表的前缀

);

?>

4.定位到Lib/Action目录下,这是ThinkPHP的控制器,重写IndexAction.class.php文件里面的方法,实现增删改查功能:
<?php

// 本类由系统自动生成,仅供测试用途

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的基本使用方法,感谢浏览!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: