PHP面向对象编程的快速入门
|
面向对象编程(OOP)是我们编程的一项基本技能,PHP4对OOP提供了良好的支持。如何使用OOP的思想来进行PHP的高级编程,对于提高PHP编程能力和规划好Web开发构架都是非常有意义的。下面我们就通过实例来说明使用PHP的OOP进行编程的实际意义和应用方法。 我们通常在做一个有数据库后台的网站的时候,都会考虑到程序需要适用于不同的应用环境。和其他编程语言有所不同的是,在PHP中,操作数据库的是一系列的具体功能函数 如果你不使用ODBC接口的话)。这样做虽然效率很高,但是封装却不够。如果有一个统一的数据库接口,那么我们就可以不对程序做任何修改而适用于多种数据库,从而使程序的移植性和跨平台能力都大大提高。 在PHP中要完成OOP,需要进行对象封装,也就是编写类。我们可以通过生成一个新的SQL类实现对数据库的简单封装。例如: class SQL { var var function DriverRegister( { if( { //驱动的存放路径必须在PHP.ini文件中设定的INCLUDE_PATH下 if( file_exists( { include( //根据驱动名称生成相应的数据库驱动类 return true; } } return false; //注册驱动失败 } function Connect( { swd; atabase; } function Close()//关闭数据库函数 { } function Query( { return } function getRows( { return } function getRowsNum( { return } } ?> 我们以操作MySQL数据库为例。我们写一个数据库驱动类MySQL,在该类中,我们把有关MySQL数据库操作的函数都做进一步的封装。把包含该类,文件名为MySQL.php的文件放在PHP的系统include_path下,就可以正常地使用了。注意编写数据库驱动文件时,文件名应和类名保持一致。 Class MySQL { var var var var function MySQL() //利用构造函数实现变量初始化 { } function Connect() { die("Could not connect to MySQL_select_db( die("Could not switch to database return } function Close( { MySQL_close( } function Query( { die("Could not query database"); return } function getRows( { if( { for( { } return } } function getRowsNum( { return } } ?> 同样我们要封装其他的“数据库驱动”到我们的SQL类中,只需要建立相应的类,并以同名命名驱动文件,放到PHP的include目录就可以了。 完成封装以后,就可以在PHP中按照OOP的思想来实现对数据库的编程了。 Include(“SQL.php”); if( { if( { foreach( { foreach( print } } } ?> 在实际应用中,我们还可以根据实际需求对各种对象类做进一步扩展。在PHP中,还提供了一系列复杂的OOP方法,例如继承,重载,引用,串行化等等。充分调动各种方法并灵活运用,就能够使你的网站更合理和结构化,开发和维护也更容易。 源代码网供稿. |
