什么是php的框架 ThinkPHP这个又是怎么用的

什么是php的框架 ThinkPHP这个又是怎么用的,第1张

框架,即framework。其实就是某种应用的半成品,就是一组组件,供你选用完成你自己的系统。简单说就是使用别人搭好的舞台,你来做表演。而且,框架一般是成熟的,不断升级的软件。

为什么要用框架?

因为软件系统发展到今天已经很复杂了,特别是服务器端软件,设计到的知识,内容,问题太多。在某些方面使用别人成熟的框架,就相当于让别人帮你完成一些基础工作,你只需要集中精力完成系统的业务逻辑设计。而且框架一般是成熟,稳健的,他可以处理系统很多细节问题,比如,事物处理,安全性,数据流控制等问题。还有框架一般都经过很多人使用,所以结构很好,所以扩展性也很好,而且它是不断升级的,你可以直接享受别人升级代码带来的好处。

框架一般处在低层应用平台(如java

里的

J2EE)和高层业务逻辑之间的中间层。

ThinkPHP是一个开源的PHP框架,

是为了简化企业级应用开发和敏捷WEB应用开发而诞生的

原名FCS,2007年元旦正式更名为ThinkPHP,并且遵循Apache2开源协议发布。早期的思想架构来源于Struts,后来经过不断改进和完善,同时也借鉴了国外很多优秀的框架和模式,使用面向对象的开发结构和MVC模式,融合了Struts的Action和Dao思想和JSP的TagLib(标签库)、RoR的ORM映射和

ActiveRecord模式,封装了CURD和一些常用 *** 作,单一入口模式等,在模版引擎、缓存机制、认证机制和扩展性方面均有独特的表现

使用ThinkPHP,你可以更方便和快捷的开发和部署应用,当然不仅仅是企业级应用,任何PHP应用开发都可以从ThinkPHP的简单、兼容和快速的特性中受益。简洁、快速和实用是ThinkPHP发展秉承的宗旨,为此ThinkPHP会不断吸收和融入更好的技术以保证其新鲜和活力,提供WEB应用开发的最佳实践!

作为一个整体开发解决方案,ThinkPHP能够解决应用开发中的大多数需要,因为其自身包含了底层架构、兼容处理、基类库、数据库访问层、模板引擎、缓存机制、插件机制、角色认证、表单处理等常用的组件,并且对于跨版本、跨平台和跨数据库移植都比较方便。并且每个组件都是精心设计和完善的,应用开发过程仅仅需要关注您的业务逻辑。

本文实例讲述了PHP利用pdo_odbc实现连接数据库。分享给大家供大家参考,具体如下:

目的:从sql

server数据库里面把某个视图文件调用出来,以键值对的方式显示在页面上。

利用pdo

odbc来实现PHP连接数据库:

在PHP配置文件里面开启pdo_odbcdll服务。重启Apache服务器。

在ThinkPHP51的项目中在模块里添加config添加规定好的样式数据库:

代码如下:

<php

return

[

//

数据库类型

'type'

=>

'sqlsrv',

//

服务器地址

'hostname'

=>

'localhost',

//

数据库名

'database'

=>

'mysql',

//

用户名

'username'

=>

'sa',

//

密码

'password'

=>

'123456',

//

端口

'hostport'

=>

'',

//

连接dsn

'dsn'

=>

'odbc:Driver={SQL

Server};Server=localhost;Database=mysql',

//

数据库连接参数

'params'

=>

[],

//

数据库编码默认采用utf8

'charset'

=>

'utf8',

//

数据库表前缀

'prefix'

=>

'',

//

数据库调试模式

'debug'

=>

true,

//

数据库部署方式:0

集中式(单一服务器),1

分布式(主从服务器)

'deploy'

=>

0,

//

数据库读写是否分离

主从式有效

'rw_separate'

=>

false,

//

读写分离后

主服务器数量

'master_num'

=>

1,

//

指定从服务器序号

'slave_no'

=>

'',

//

是否严格检查字段是否存在

'fields_strict'

=>

true,

//

数据集返回类型

'resultset_type'

=>

'array',

//

自动写入时间戳字段

'auto_timestamp'

=>

false,

//

时间字段取出后的默认时间格式

'datetime_format'

=>

'Y-m-d

H:i:s',

//

是否需要进行SQL性能分析

'sql_explain'

=>

false,

//

Builder类

'builder'

=>

'',

//

Query类

'query'

=>

'\\think\\db\\Query',

//

是否需要断线重连

'break_reconnect'

=>

false,

//

断线标识字符串

'break_match_str'

=>

[],

];

>

在控制器controller里面建一个控制文件Testphp

代码如下:

<php

namespace

app\index\controller;

use

think\Db;

use

think\Controller;

class

Test

extends

Controller

{

public

function

zz(){

$data=Db::view('View_2')->select();

echo

json_encode($data);

}

}

>

最后调用入口文件即可访问。

>

你不贴代码,看不出来,ThinkPHP内置了抽象数据库访问层,把不同的数据库 *** 作封装起来,我们只需要使用公共的Db类进行 *** 作,而无需针对不同的数据库写不同的代码和底层实现,Db类会自动调用相应的数据库驱动来处理。目前的数据库包括Mysql、SqlServer、PgSQL、Sqlite、Oracle、Ibase、Mongo,也包括对PDO的支持。

下面是全局定义方式:

'DB_TYPE'   => 'mysql', 

'DB_HOST'   => 'localhost', // 服务器地址

'DB_NAME'   => 'thinkphp', // 数据库名

'DB_USER'   => 'root', // 用户名

'DB_PWD'    => '123456', // 密码

'DB_PORT'   => 3306, // 端口

'DB_PREFIX' => 'think_', // 数据库表前缀 

'DB_CHARSET'=> 'utf8', // 字符集'

‘DB_DEBUG'  =>  TRUE, // 数据库调试模式

DB_DSN方式

'DB_DSN' => 'mysql://root:123456@localhost:3306/thinkphp#utf8'

如果采用PDO驱动的话:

'DB_TYPE'   => 'pdo', // 数据库类型

'DB_USER'   => 'root', // 用户名

'DB_PWD'    => '', // 密码

'DB_PREFIX' => 'think_', // 数据库表前缀 

'DB_DSN'    => 'mysql:host=localhost;dbname=thinkphp;charset=utf8'

仅供参考,对比下自己的代码!

D方法是实例化数据模型,不能切换数据库

如果你两个数据库的数据结构是一样的,你可以在实例化之前切换数据库,再通过D方法实例化数据模型

用$this->db("数据库编号","数据库配置");切换数据库

>

//默认数据库链接

'DB_TYPE'=>'数据库类型',

'DB_HOST'=>'数据库地址',

'DB_NAME'=>'数据库名',

'DB_USER'=>'登录帐号',

'DB_PWD'=>'登录密码',

'DB_PORT'=>'端口号',

'DB_PREFIX'=>'表前缀',

//数据库配置1'

DB_CONFIG1' = array(

    'db_type'  => '类型',    

    'db_user'  => '帐号',    

    'db_pwd'   => '密码',    

    'db_host'  => '地址',    

    'db_port'  => '端口',    

    'db_name'  => '数据库名'

    ),

//数据库配置2'

DB_CONFIG2' = array(

    'db_type'  => '类型',    

    'db_user'  => '帐号',    

    'db_pwd'   => '密码',    

    'db_host'  => '地址',    

    'db_port'  => '端口',    

    'db_name'  => '数据库名'

    ),

//切换 *** 作

$this->db(0,"DB_CONFIG1")->query("SQL");    //默认数据库配置

$this->db(1,"DB_CONFIG1")->query("SQL");    //第一个配置

$this->db(2,"DB_CONFIG2")->query("SQL");    //第二个配置

 

还有几个采纳升级   谢谢

配置PHP5支持MySQL

打开PHP配置文件“F:\PHP\php5328Win32\phpini”,

查找“extension=php_mysqldll”,

把前面的分号去掉,保存文件,启动服务;

却提示“PHP startup: Unable to load dynamic library :F:\PHP\php_mysqldll”错误,

解决办法:

打开PHP配置文件“F:\PHP\php5328Win32\phpini”

查找“extension_dir = "ext"”

把前面的分号去掉,保存文件,启动服务,问题解决。

以上就是关于什么是php的框架 ThinkPHP这个又是怎么用的全部的内容,包括:什么是php的框架 ThinkPHP这个又是怎么用的、PHP利用pdo_odbc实现连接数据库示例【基于ThinkPHP5.1搭建的项目】、ThinkPHP中连接不上数据库是什么原因等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9858172.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存