
正文
php数据抽象层 php抽象类和接口的使用场景
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
怎么样通过php在数据库抽象层简单使用PDO
测试代码如下:?php/**************************@Filename: pdotest.php@Content : PDO操作MySQL,Access(测试)**************************/if($_GET['db'] == 'mysql'){ $dns = 'mysql:host=localhost;dbname=test'; $dbuser = 'root'; $dbpass = 'root'; $db = new PDO($dns,$dbuser,$dbpass);}else{ $db = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq=".getcwd()."//test.mdb");}if($_POST['reg']){ $db-exec("INSERT INTO t_user (name,email) VALUES ('".$_POST['name']."','".$_POST['email']."') ;"); // header('Location:'.$_SERVER['PHP_SELF']); ? a href="pdotest.php"返回/a ?}else{ $html = 'div id="new" form action="'.$_SERVER['REQUEST_URI'].'" method="post" Name: input type="text" name="name" size="10" / Email: input type="text" name="email" size="15" / input type="submit" name="reg" value="Register" / /form/div'; $re = $db-query("SELECT uid,name,email FROM t_user ORDER BY email ;"); while($rs = $re-fetch()) { $userlisthtml .= 'trtd'.$rs['uid'].'/tdtd'.$rs['name'].'/tdtd'.$rs['email'].'/td/tr'; } $html .= 'div id="list" table border="1" captionUser List/caption thead trthID/ththName/ththEmail/th/tr /thead tbody'.$userlisthtml.' /tbody /table/div';}echo $html;?
相关问答
Q1: 谁清楚phpcms和dedecms各个缺点和优点?
phpcms优点:
1.模块化安装,非常适合安装,拆卸,和拿到市场上去交易非常方便的。
2.灵活的标签语法,非常强大。
3.缓存做的非常优秀。几乎支持目前主流的几大缓存系统解决方案,file缓存,eaelerator缓存,memcache缓存,shmop缓存等
4.安全性也不错的。后台为了防范入侵,采用了cookie和session同时存在验证技术,才可以安全进入后台。
多次登录失败,开启验证码功能。防止机器人频繁猜口令。
5.数据库。在根目录下的include目录下,db_aess.phpdb_mssql.phpdb_mysql.php等,就照着他的方法,在增加几个也没问题的。
6.兼容性。是在php4的基础上开发的,所以向下兼容性是不错的。在include/global.func.php这个文件可以看到很多if(!function_exist()){},这些代码就是为了兼容php4相关函数。
phpcms缺点:
1.后台对应的模块的功能列表url,从数据库中读取的,也即是,安装的时候,将url写入数据库了。这个如果二次开发要修改的话,不是很方便的,最好是写到文件中,读取文件内容,方便开发者开发,而且也更容易维护,如果是出于安全考虑的话,不妨加下密也可以的。
2.分部式。后台的某些功能模块,还是要调用各个应用模块的admin部分,相关*.inc.php文件.如果我要把其中某个模块或应用独立出去部署到其他的服务器上,就不方便了。
3.数据库设计问题,后台开设模型时,表的引擎只能是myIsam,而不能选择其他的,字段的类型,比如要开设一个字段为number,类型为int,但是在新增加的模型表中还是以varchar出现,而不是int,长度是默认的255.modelfiled表,才发现该系统是将类型写到该表中了。
4.加密/解密程序。目前已经在想相关安全网站已被爆以破解。这也不是什么新闻了。在开发中,关注下相关安全厂商发布的漏洞。
5.数据库抽象层。就以上提到的几个数据库文件。db_mssql.phpdb_mysql.phpdb_aess.php等对于数据库分布式,应该没问题的。数据库抽象层处理数据比较快,且快平台更容易且更容易维护,这个是需要考虑的。
Dedecms功能实用,模板功能使用简单。
Q2: php,jsp,asp三者优缺点...
php优点
1.跨平台,性能优越,跟Linux/Unix结合别跟Windows结合性能强45%,并且和很多免费的平台结合非常省钱,比如LAMP(Linux
/Apache/Mysql/PHP)或者FAMP(FreeBSD/Apache/Mysql/PHP)结合,或者数据应用够大可以考虑换
PostgreSQL或者Oracle,支持N种数据库。(N=10)
2.语法简单,如果有学习C和Perl的很容易上手,并且跟ASP有部分类似。有成熟的开发工具,比如NuPHPed,或者Zend
Studio等等,再Linux平台下可以使用Eclipse等等。
3.目前主流技术都支持,比如WebService、Ajax、XML等等,足够应用。
4.有比较完整的支持,比如使用ADODB或者PEAR::DB做数据库抽象层,用Smarty或者smarttemplate做模板层,如果是PHP
5.1的话,还能够使用PDO(PHPDataObject)来访问数据库。
5.有很多成熟的框架,比如支持MVC的框架:phpMVC,支持类似ASP.net的事件驱动的框架:Prado,支持类似RubyOn
Rails的快速开发的框架:Cake等等,足够满足你的应用需求。
6.PHP5已经有成熟的面向对象体系,能够适应基本的面向对象要求。适合开发大型项目。
7.有成熟的社区来支持PHP的开发。
8.
目前已经很多大型应用都是使用PHP,比如淘宝网、Yahoo、163、Sina等等大型门户,很多选用PHP来作为他们的开发语言,所以大型门户都能够选用它,我想足够能够你的使用了。
9.有很多开源的框架或开源的系统可以使用,比如比较知名的开源框架有Zend
Framework、CakePHP、CodeIgniter、symfony等,开源论坛有Discuz!、Phpwind等,开源博客
WordPress,开源网店系统如Ecshop、ShopEx等,开源的SNS系统如UCHome、ThinkSNS等。
php缺点
1.对多线程支持不太好,大多数时候我们只能简单的模拟去实现的。
2.语法不太严谨,比如变量不需要定义就可以使用,在c,java,c++中变量是必须先定义以后才可以使用的。
3.也许有经验的PHP程序员最感到痛苦的地方是PHP的解释运行机制。这种运行机制使得每个PHP页面被解释执行后,所有的相关资源都会被回收。也就是说,PHP在语言级别上没有办法让某个对象常驻内存。在PHP中,所有的变量都是页面级的,无论是全局变量,还是类的静态成员,都会在页面执行完毕后被清空。以JSP为例,在JSP中,Java
Bean的scope有四种有效值:Page、Application、Session、Request,分别对应页面、程序、会话、请求四种生存期。但在PHP中,只有Page一种生存期。
JSP的优势
(1)一次编写,到处运行。在这一点上Java比PHP更出色,除了系统之外,代码不用做任何更改。
(2)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。相比ASP/PHP的局限性是显而易见的。
(3)强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力。
(4)多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。
JSP的劣势
(1)与ASP一样,Java的一些优势正是它致命的问题所在。正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。
(2)
Java的运行速度是用class常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格比”了。从另一方面,它还需要硬盘空间来储存一系列的。java文件和。class文件,以及对应的版本文件。
ASP的特点:
1、任何开发工具皆可发展ASP
只要使用一般的文书编辑程序,如Windows记事本,就可以编辑。当然,其他网页发展工具,例如,FrontPageExpress、
FrontPage等也都可以;不过还是建议你用记事本来写,既省钱又方便,若是使用那些所见即所得的网页编辑来写ASP,可能会发生一些意想不到的离奇状态。
2、通吃各家浏览器
由于ASP程序是在网络服务器端中执行,执行结果所产生的HTML文件适用于不同的浏览器。
3、语言相容性高
ASP与所有的ActiveXScript语言都相容,除了可结合HTML,VBScript、JavaScript、Active
X服务器组件来设计外,并可经由“plug-In(外挂组件模组)的方式,使用其他厂商(ThirdParty)所提供的语言。
4、隐密安全性高
如果我们在浏览器中直接查看网页的原始代码,就只能看到HTML文件,原始的ASP程序代码是看不到的!这是因为ASP程序先于网站服务(Web
Server)端执行后,将结果转换成标准HTML文件,再传送到客户端(Client)的浏览器上,因此,我们所辛苦撰写的ASP程序并不会轻易地被看见进而被盗用。
5、易于操控数据库
ASP可以轻易地通过ODBC(OpenDatabase
Connectivity)驱动程序连接各种不同的数据库,例如:Acess、Foxpro、dBase、Oracle等等,另外,ASP亦可将“文本文件”或是”Excel”
文件当成数据库用。
6、面向对象学习容易
ASP具备有面向对象(Object-Oriented)功能,学习容易,ASP提供了五种方便能力强大的内建对象:Request、Response、Sever、Application以及Session,同时,若使用ASP内建的“Application”对象或”Session”对象所撰写出来的ASP程序可以在多个网页之间暂时保存必要的信息。
Q3: 北大青鸟设计培训:新手入门php要学哪些内容呢?
1、WEB基础要知道网站是什么东西,所使用的协议是怎么工作的,怎样把网站放在服务器上。
2、HTMLphpHTMLphp是嵌入在HTML的语言,所以HTML是必须的。
可以用HTML写出简单的静态的页面,放在本机的服务器上看看效果。
3、DIV+CSS能够用DIV+CSS布局做出漂亮的精美静态网页。
4、php基础学习php基础,如php语法,php变量,php流程控制,php函数,php数组应用,php字符串处理,php常用模块,php文件处理,php动态图像处理,会话控制等,就可以把静态页面变成动态的。
这个阶段比较枯燥,主要是记忆,必须能够熟练应用。
5、MySQL网站往往包含大量的信息,这些信息不可能都放在程序(php文件)中,需要MySQL来储存大量的数据信息。
6、Javascript掌握了以上内容就可以搭建一个php基础网站,但是还需要靠Javascript来完成网站的特效和信息验证等。
7、php高级作为一个可以上线运营的全功能网站,还要继续学习php高级知识,如php面向对象,数据抽象层PDO,MEMCACHE,高级SESSION,php的设计模式,MVC,smarty模板,主流框架的解读等内容,这个阶段需要多读优质的开源代码,多写代码。
8、Linux正如大家所熟知的php较佳的搭配是LAMP(Linux+Apache+MySQL+Php)或LNMP(Linux+Nginx+MySQL+Php),那么显然在Linux系统下的php网站比在Windows下兼容性好,基于此我们需要知道在Linux下搭建php环境的方法以及Linux的日常管理命令,以便我们网站的日常管理运营。
9、项目相关这个阶段首先需要了解项目开发流程,需求分析,程序设计说明书,数据库设计说明书,编码规范,大流量/大数据架构,MYSQL深度优化,全文索引等内容。
目前为止学到这个阶段,已经可以算是php小牛了,要继续向php大牛进发就需要参与开发大型网站项目,以此练手。
北大青鸟认为参与大项目开发,实践为主。
通过这阶段的学习就可以自主做企业网站、论坛、网页游戏等。
php数据抽象层的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于php抽象类和接口的使用场景、php数据抽象层的信息别忘了在本站进行查找喔。







