· Adabas D, · DBA,· dBase,· dbm,· filePro,· Informix,· InterBase,· mSQL, Microsoft SQL Server,· MySQL,· Solid, Sybase,· ODBC,· 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实例:

First program

echo "hello world";

?>

php对面向对象的支持

面向对象编程的概念:

不同的作者之间说法可能不一样,但是一个OOP语言必须有以下几方面:

抽象数据类型和信息封装

继承

多态

在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关键字。

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方法了。如果你在派生类中声明了一个与基派同名的数据成员,那么当你处理它时, 它将“隐藏”基类的数据成员。

你可以在你的类中定义构造函数。构造函数是一个与类名同名的方法,当你创建一个类的对象时会被调用,例如:

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一个缺省参数,参数是从左到右赋值的,如果传入的参数少于要求的参数时,其作的将使用缺省参数。

当一个派生类的对象被创建时,只有它的构造函数被调用,父类的构造函数没被调用,如果你想调用基类的构造函数,你必须要在派生类的构造函数中显示调用。可以这样做是因为在派生类中所有父类的方法都是可用的。转载请注明来源诚信在线代理 http://www.ttt8888.com

php yof框架特点_PHP编程语言的特点相关推荐

  1. python进阶学习--- django框架解析 ---领悟编程语言共性与特性【后续详解】

    python进阶学习---> django框架解析 --->领悟编程语言共性与特性 1.python语言介绍   python解释型脚本语言 2.python执行原理   python解释 ...

  2. lotus php,LotusPhp框架目录_PHP教程

    顺序有点乱,其实简介后面应该跟程序目录的介绍,那几天赶着比较忙,就写了些简单的,今天回到正轨,将有次序的写完所有的Lotusphp的文档 │ Config.php Config / 配置类 │ Con ...

  3. php yof框架特点_腾讯正式开源高性能超轻量级 PHP 框架 Biny

    概况 Biny是一款高性能的超轻量级PHP框架 遵循 MVC 模式,用于快速开发现代 Web 应用程序 Biny代码简洁优雅,对应用层,数据层,模板渲染层的封装简单易懂,能够快速上手使用 高性能,框架 ...

  4. php yof框架特点_在线竞拍系统的PHP实现框架(一)

    在线竞拍系统的PHP实现框架(一) 更新时间:2006年10月09日 00:00:00   作者: 前面我给了一个分页显示mysql记录的类,却没给出使用的例子,现在,我整理了我刚写的一个在线竞拍系统 ...

  5. php laravel框架失败_PHP Laravel框架问题记录

    该文章记录在使用PHP Laravel框架过程中遇到的一些问题.Laravel官方文档参考这里. Laravel 使用 groupBy 报错 问题描述 使用 groupBy 进行多列分组,或者获取列和 ...

  6. php框架 路由_PHP框架开发之Route路由简单实现

    参数Laravel路由的使用方式,来效仿一个简单的路由实现方式class Route { /** * @var $_instance // 实例 */ private static $_instanc ...

  7. 随想录(从编程语言到库、框架、软件)

    [ 声明:版权所有,欢迎转载,请勿用于商业用途.  联系信箱:feixiaoxing @163.com] 从我开始学习计算机开始,接触的编程语言不下十余种.除了基本的C.C++.pascal.basi ...

  8. 十大流行AI框架和库的优缺点对比

    导语 人工智能已经存在了很长时间.然而,由于各种库和框架的发展,该领域发生了巨大改进. 本文,我们将研究人工智能的高质量库的优缺点,以及它们特点.让我们潜入并探索这些AI库的世界! TensorFlo ...

  9. 语言输出奇树有多少总方法_如何学习一门编程语言?这些方法告诉你,不要再说你不会学习...

    前言 很多人喜欢争论什么什么编程语言好,我认为这个话题如果不限定应用范围,就毫无意义. 每种编程语言必然有其优点和缺点,这也决定了它有适合的应用场景和不适合的应用场景.现代软件行业,想一门编程语言包打 ...

  10. 程序员为什么需要框架?

    Clojure 是一种运行在 Java 平台上的 Lisp 方言,它的出现有助于将比较复杂的表述定义成简洁的呈现.与此同时,Clojure 也具备诸多的工具来解决程序员经常需要面对的难题. 不过随着对 ...

最新文章

  1. tensorflow与keras关系
  2. Yii中使用的简单方法
  3. python外部库是什么_如何使用Portable Python安装外部库?
  4. 重温《数据库系统概论》【第一篇 基础篇】【第4章 数据库安全性】
  5. python 类属性方法实例属性方法
  6. Git学习总结(24)——彻底搞懂 Git-Rebase
  7. Android 跳转权限设置界面的终极方案
  8. 神经图灵机NTM —— 元学习
  9. gre词汇精选最新版
  10. 程序设计方法学作业—三天打渔两天晒网程序设计
  11. 【股票】股票是什么?什么情况下股票会涨?
  12. R 散点图,添加标签
  13. 小尺寸android 手机推荐,喜欢小屏安卓手机的来看看,这三款便宜又好用
  14. 微信小程序对接腾讯对象存储
  15. Simulink入门——RLC串联动态电路
  16. iOS开发之 iPhone各种Icon图标尺寸
  17. 聚乙二醇表面修饰氧化锌量子点/FA-PEG-CdTe/CdS量子点荧光探针特异性标记Hep-2的制备
  18. 电改背景下,售电公司如何利用需求侧响应模式
  19. 个人喜欢的8本销售、职场、外企商战类书籍
  20. perf_counter()函数——time.perf_counter()

热门文章

  1. php在屏幕中间弹窗,屏幕中间弹框的一种写法
  2. eclipse(window平台)快捷键总结
  3. vue添加定位功能_vue 实现Web端的定位功能 获取经纬度
  4. java中的冒泡排序和交换排序
  5. java集合框架中迭代器的作用_Java中的集合框架之迭代器
  6. linux 反汇编 静态库,如何反汇编.lib静态库?
  7. matlab牛顿差值法函数,matlab牛顿插值函数
  8. hadoop启动mysql服务_Hadoop MySQL 服务自启动配置
  9. Android 登陆界面Edittext
  10. java jxl上传excel_JAVA实现上传,下载,jxl操作Excel和邮件发送