`
sunguanxing
  • 浏览: 1105628 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

PHP-数据库方面

阅读更多
 PHP 在数据库方面的丰富支持,也是它迅速走红的原因之一,它支持下列的数据库或是数据文件:
  · Adabas D
  · DBA
  · dBase
  · dbm
  · filePro
  · Informix
  · InterBase
  · mSQL
  · Microsoft SQL Server
  · MySQL
  · Solid
  · Sybase
  · ODBC
  · Oracle 8
  · Oracle
  · PostgreSQL
  而在 Internet 上它也支持了相当多的通讯协议 (protocol),包括了与电子邮件相关的 IMAP, POP3;网管系统 SNMP;网络新闻 NNTP;帐号共用 NIS;全球信息网 HTTP 及 Apache 服务器;目录协议 LDAP 以及其它网络的相关函数。
  除此之外,用 PHP 写出来的 Web 后端 CGI 程序,可以很轻易的移植到不同的操作系统上。例如,先以 Linux 架的网站,在系统负荷过高时,可以快速地将整个系统移到 SUN 工作站上,不用重新编译 CGI 程序。面对快速发展的 Internet,这是长期规划的最好选择。
  变数类型:
  PHP有好多种变数; 主要有这些:
  - 数字 (integer - 例: 32)
  - 布尔值 (boolean - 例: TRUE)
  - 字串 (string - 例: 'a string of text')
  - NULL
  - 资源(resource)
  - 数组 (array - 例: arrayname[2])
  -对象(object)
  语法:
  语法有三种:
  //comment
  /* comment */
  # comment
  基本的 "Control Structures":
  * if ... else
  if (condition == true) ;
  * if ... else then
  if (condition == true)
  else if (condition2 == true) ;
  一个PHP实例:
  <html>
  <head>
  <title>First program</title>
  </head>
  <body>
  <?php
  echo "hello world";
  ?>
  </body>
  </html>
  请看:
  php官方网站:www.php.net
  php对面向对象的支持
  面向对象编程的概念:
  不同的作者之间说法可能不一样,但是一个OOP语言必须有以下几方面:
  抽象数据类型和信息封装
  继承
  多态
  在PHP中是通过类来完成封装的:
  <?php
  class Something {
  // 在OOP类中,通常第一个字符为大写
  var $x;
  function setX($v) {
  // 方法开始为小写单词,然后使用大写字母来分隔单词,例如getValueOfArea()
  $this->x=$v;
  }
  function getX() {
  return $this->x;
  }
  }
  当然你可以按自己的喜好进行定义,但最好保持一种标准,这样会更有效。数据成员在类中使用"var"声明来定义,在给数据成员赋值之前,它们是没有类型的。一个数据成员可以是一个整数,一个数组,一个相关数组(associative array)或者是一个对象。方法在类中被定义成函数形式,在方法中访问类成员变量时,你应该使用$this->name,否则对一个方法来说,它只能是局部变量。
  使用new操作符来创建一个对象:
  $obj=new Something;
  然后你可以使用成员函数通过:
  $obj->setX(5);
  $see=$obj->getX();
  在这个例子中,setX成员函数将5赋值给对象的成员变量x(不是类的),然后getX返回它的值5。可以象:$obj->x=6那样通过类引用方式来存取数据成员,这不是一个很好的OOP习惯。我强烈建议通过方法来存取成员变量。如果你把成员变量看成是不可处理的,并且只通过对象句柄来使用方法,你将是一个好的OOP程序员。不幸的是,PHP不支持声明私有成员变量,所以不良代码在PHP中也是允许的。继承在PHP中很容易实现,只要使用extend关键字。
  <?php
  class Another extends Something {
  var $y;
  function setY($v) {
  $this->y=$v;
  }
  function getY() {
  return $this->y;
  }
  }
  "Another"类的对象现在拥有了父类(Something)的全部的数据成员及方法,而且还加上了自己的数据成员和方法。
  你可以使用
  $obj2=new Something;
  $obj2->setX(6);
  $obj2->setY(7);
  PHP现在还不支持多重继承,所以你不能从两个或两个以上类派生出新的类来。你可以在派生类中重定义一个方法,如果我们在"Another"类中重定义了getX方法,我们就不能使 用"Something"中的getX方法了。如果你在派生类中声明了一个与基派同名的数据成员,那么当你处理它时, 它将“隐藏”基类的数据成员。
  你可以在你的类中定义构造函数。构造函数是一个与类名同名的方法,当你创建一个类的对象时会被调用,例如:
  <?php
  class Something {
  var $x;
  function Something($y) {
  $this->x=$y;
  }
  function setX($v) {
  $this->x=$v;
  }
  function getX() {
  return $this->x;
  }
  }
  所以你可以创建一个对象,通过:
  $obj=new Something(6);
  构造函数会自动地把6赋值给数据变量x。构造函数和方法都是普通的PHP函数,所以你可以使用缺省参数。
  function Something($x="3",$y="5")
  接着:
  $obj=new Something(); // x=3 and y=5
  $obj=new Something(8); // x=8 and y=5
  $obj=new Something(8,9); // x=8 and y=9
  缺省参数使用C++的方式,所以你不能忽略Y的值,而给X一个缺省参数,参数是从左到右赋值的,如果传入的参数少于要求的参数时,其作的将使用缺省参数。
  当一个派生类的对象被创建时,只有它的构造函数被调用,父类的构造函数没被调用,如果你想调用基类的构造函数,你必须要在派生类的构造函数中显示调用。可以这样做是因为在派生类中所有父类的方法都是可用的。
  <?php
  function Another() {
  $this->y=5;
  $this->Something();
  //显示调用基类构造函数
  }
  OOP的一个很好的机制是使用抽象类。抽象类是不能实例化,只能提供给派生类一个接口。设计者通常使用抽象类来强迫程序员从基类派生,这样可以确保新的类包含一些期待的功能。在PHP中没有标准的方法,但是:如果你需要这个特性,可以通过定义基类,并在它的构造函数后加上"die" 的调用,这样就可以保证基类是不可实例化的,现在在每一个方法(接口)后面加上"die" 语句,所以,如果一个程序员在派生类中没有覆盖方法,将引发一个错误。而且因为PHP 是无类型的,你可能需要确认一个对象是来自于你的基类的派生类,那么在基类中增加一个方法来实义类的身份(返回某种标识id),并且在你接收到一个对象参数时校验这个值。当然,如果一个邪恶不好的程序员在派生类中覆盖了这个方法,这种方法就不起作用了,不过一般问题多发现在懒惰的程序员身上,而不是邪恶的程序员。
  当然,能够让基类对程序员无法看到是很好的,只要将接口打印出来做他们的工作就可以了。在PHP中没有析构函数。
  重载(与覆盖不同)在PHP中不支持。在OOP中,你可以重载一个方法来实现两个或重多的方法具有相同的名字,但是有不同数量或类型的参数(这要看语言)。PHP 是一种松散类型的语言,所以通过类型重载不起作用,然而通过参数的个数不同来重载也不起作用。
  有时在OOP中重载构造函数非常好,这样你可以通过不同的方法创建对象(传递不同数量的参数)。在PHP中实现它的技巧是:
  <?php
   class Myclass {
  function Myclass() {
  $name="Myclass".func_num_args();
  $this->$name();
  //注意$this->name()一般是错误的,但是在这里$name是一个将被调用方法的名字
  }
  function Myclass1($x) {
  code;
  }
  function Myclass2($x,$y) {
  code;
  }
  } 通过在类中的额外的处理,使用这个类对用户是透明的:
  $obj1=new Myclass('1'); //将调用Myclass1
  $obj2=new Myclass('1','2'); //将调用Myclass2
  有时这个非常好用。
分享到:
评论

相关推荐

    PHP-数据库操作PHP-数据库操作.ppt

    在PHP中,数据库操作是至关重要的,尤其是在开发动态网站时。本文将深入探讨如何使用PHP与MySQL数据库进行交互,包括连接、查询、操作以及关闭数据库连接。我们将主要关注两种方法:传统的MySQL函数和更现代的MySQLi...

    概念数据库设计实例-数据库方面

    很不错哦,一定要下载哦,是.php格式,需要的话赶快下载吧,走过不要错过,过了就可惜了

    医院病房管理系统--数据库课设.zip

    《医院病房管理系统--数据库课设》是一个典型的IT项目,它主要涵盖了数据库设计、系统开发以及医院业务流程管理等多个方面的知识。在这个课设中,学生通常需要构建一个能够模拟实际医院病房管理功能的系统,以便对...

    网上书店-数据库

    总的来说,“网上书店-数据库”项目涉及到Web开发的基础知识,包括服务器端脚本、数据库操作、网页设计等多个方面,是学习和实践Web应用开发的良好实例。通过这个项目,开发者可以深入了解ASP编程、数据库设计以及...

    第七章 数据库应用设计与开发实例.pdf

    接着,详细介绍了使用PHP语言操作MySQL数据库的基本步骤,这包括如何建立连接、选择数据库、执行数据库操作以及关闭连接。最后,文档指出了在MySQL数据库中,只有使用InnoDB存储引擎的数据库或表才支持事务处理,这...

    开发语言-数据库-操作系统

    接下来我们将围绕这三个方面展开详细的知识点解析。 ### 一、开发语言 #### Java Java 是一种面向对象的编程语言,广泛应用于企业级应用开发、移动应用(尤其是 Android 应用)开发等领域。它以其跨平台性(Write ...

    PHP学习工程--包含数据库

    预处理语句的使用是PHP数据库操作中的一个重要安全实践。通过使用`prepare()`和`execute()`方法,我们可以将用户输入与SQL命令分开,从而避免恶意代码执行。例如: ```php $stmt = $pdo-&gt;prepare("INSERT INTO ...

    毕业设计论文-数据库原理及应用技术课程指导平台的开发.zip

    通过《数据库原理及应用技术》课程指导平台的开发,学生不仅可以深化对数据库技术的理解,还能全面锻炼软件工程的实践能力,包括需求分析、系统设计、编码实现、测试与调试,以及项目管理等多个方面。同时,这样的...

    MySQL/PHP数据库应用开发指南 PDF版 PART1

    MySQL/PHP数据库应用开发指南 PART1 本书以应用程序的开发为核心,以具体实例展示了如何将PHP和MySQL紧密结合,实现数据驱动Web站点。全书共分为5个部分,首先讲解了使用MySQL所需了解的数据库方面的知识,接着探讨...

    充值网站源码,支持PHP,数据库对接

    通过研究这个源码包,开发者可以了解一个基本的在线充值系统是如何运作的,同时也可以提高自己在PHP和数据库对接方面的技能。在实际应用中,还需要考虑更多方面,如用户体验、性能优化、安全性强化等。

    资源管理数据库系统php代码

    资源管理数据库系统是用于存储、组织和检索...总的来说,构建一个资源管理数据库系统php代码涉及到PHP编程、SQL查询、MySQL数据库管理和安全实践等多个方面,需要综合运用这些知识以创建一个稳定、高效且安全的系统。

    基于PHP主机域名管理器的毕业设计,使用MySQL数据库存储数据,采用PDO方式进行数据库访问 Bootstrap框架DNS管理

    系统采用PHP语言开发,使用MySQL数据库存储数据。系统的主要功能包括: - 用户管理:支持用户注册、登录、注销等功能,通过用户身份验证来保证系统的安全性; - 域名管理:支持域名的添加、删除、修改、查询等功能...

    php-mysql.rar_PHP 数据库_php+mysql

    综上所述,“php-mysql.rar”提供的资源是一个实际应用的案例,涵盖了PHP编程、MySQL数据库操作、Web应用开发等多个方面。通过学习和研究这个论坛系统,开发者可以深入了解如何将PHP和MySQL结合,构建高效、安全的...

    PHP实例开发源码-DBKiss 数据库浏览工具.zip

    DBKiss是一个基于PHP开发的数据库浏览工具,...通过学习和研究DBKiss这个PHP实例,开发者可以深入理解PHP在实际项目中的应用,掌握数据库管理工具的开发技巧,同时也能提高在Web开发中的安全性、性能优化等方面的能力。

    php后台管理(内含数据库,源码)

    PHP,全称Hypertext Preprocessor,是一种广泛应用于网页服务器端的脚本语言,尤其在构建动态网站方面表现突出。在这个名为"travelPhp"的项目中,我们拥有一个完整的PHP后台管理系统,包含了数据库设计与源码实现,...

    MySQL/PHP数据库应用开发指南

    全书共分为5个部分,首先讲解了使用MySQL所需了解的数据库方面的知识,接着探讨了PHP的基本脚本语言、PHP函数以及编写可管理的简捷代码的技巧,然后给出了两个简单的应用程序,来宾簿和调查表,在实践中应用所学的...

    PHP实例开发源码—php威盘音乐外链-SQL数据库版.zip

    【标题】"PHP实例开发源码—php威盘音乐外链-SQL数据库版.zip" 提供的是一个基于PHP语言的威盘(Web Disk)音乐外链项目,该项目使用了SQL数据库来存储和管理数据。威盘是一种在线存储服务,允许用户上传、存储并...

    PHP连接数据库-最简单的投票系统

    在IT行业中,PHP是一种广泛使用的服务器端脚本语言,尤其在构建动态网页和Web应用程序方面。本项目将探讨如何利用PHP连接数据库,实现一个简单的投票系统。首先,我们需要创建一个数据库来存储投票信息,这里使用的...

    php+mysql实现数据库图片的存储及显示

    接下来,使用PHP的PDO或mysqli扩展与MySQL交互,将图片二进制数据插入到数据库中: ```php // 假设已连接到数据库 $stmt = $pdo-&gt;prepare("INSERT INTO images (imageData, fileName) VALUES (?, ?)"); $stmt-&gt;...

Global site tag (gtag.js) - Google Analytics