php yof框架特点_PHP编程语言的特点
· 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编程语言的特点相关推荐
- python进阶学习--- django框架解析 ---领悟编程语言共性与特性【后续详解】
python进阶学习---> django框架解析 --->领悟编程语言共性与特性 1.python语言介绍 python解释型脚本语言 2.python执行原理 python解释 ...
- lotus php,LotusPhp框架目录_PHP教程
顺序有点乱,其实简介后面应该跟程序目录的介绍,那几天赶着比较忙,就写了些简单的,今天回到正轨,将有次序的写完所有的Lotusphp的文档 │ Config.php Config / 配置类 │ Con ...
- php yof框架特点_腾讯正式开源高性能超轻量级 PHP 框架 Biny
概况 Biny是一款高性能的超轻量级PHP框架 遵循 MVC 模式,用于快速开发现代 Web 应用程序 Biny代码简洁优雅,对应用层,数据层,模板渲染层的封装简单易懂,能够快速上手使用 高性能,框架 ...
- php yof框架特点_在线竞拍系统的PHP实现框架(一)
在线竞拍系统的PHP实现框架(一) 更新时间:2006年10月09日 00:00:00 作者: 前面我给了一个分页显示mysql记录的类,却没给出使用的例子,现在,我整理了我刚写的一个在线竞拍系统 ...
- php laravel框架失败_PHP Laravel框架问题记录
该文章记录在使用PHP Laravel框架过程中遇到的一些问题.Laravel官方文档参考这里. Laravel 使用 groupBy 报错 问题描述 使用 groupBy 进行多列分组,或者获取列和 ...
- php框架 路由_PHP框架开发之Route路由简单实现
参数Laravel路由的使用方式,来效仿一个简单的路由实现方式class Route { /** * @var $_instance // 实例 */ private static $_instanc ...
- 随想录(从编程语言到库、框架、软件)
[ 声明:版权所有,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 从我开始学习计算机开始,接触的编程语言不下十余种.除了基本的C.C++.pascal.basi ...
- 十大流行AI框架和库的优缺点对比
导语 人工智能已经存在了很长时间.然而,由于各种库和框架的发展,该领域发生了巨大改进. 本文,我们将研究人工智能的高质量库的优缺点,以及它们特点.让我们潜入并探索这些AI库的世界! TensorFlo ...
- 语言输出奇树有多少总方法_如何学习一门编程语言?这些方法告诉你,不要再说你不会学习...
前言 很多人喜欢争论什么什么编程语言好,我认为这个话题如果不限定应用范围,就毫无意义. 每种编程语言必然有其优点和缺点,这也决定了它有适合的应用场景和不适合的应用场景.现代软件行业,想一门编程语言包打 ...
- 程序员为什么需要框架?
Clojure 是一种运行在 Java 平台上的 Lisp 方言,它的出现有助于将比较复杂的表述定义成简洁的呈现.与此同时,Clojure 也具备诸多的工具来解决程序员经常需要面对的难题. 不过随着对 ...
最新文章
- tensorflow与keras关系
- Yii中使用的简单方法
- python外部库是什么_如何使用Portable Python安装外部库?
- 重温《数据库系统概论》【第一篇 基础篇】【第4章 数据库安全性】
- python 类属性方法实例属性方法
- Git学习总结(24)——彻底搞懂 Git-Rebase
- Android 跳转权限设置界面的终极方案
- 神经图灵机NTM —— 元学习
- gre词汇精选最新版
- 程序设计方法学作业—三天打渔两天晒网程序设计
- 【股票】股票是什么?什么情况下股票会涨?
- R 散点图,添加标签
- 小尺寸android 手机推荐,喜欢小屏安卓手机的来看看,这三款便宜又好用
- 微信小程序对接腾讯对象存储
- Simulink入门——RLC串联动态电路
- iOS开发之 iPhone各种Icon图标尺寸
- 聚乙二醇表面修饰氧化锌量子点/FA-PEG-CdTe/CdS量子点荧光探针特异性标记Hep-2的制备
- 电改背景下,售电公司如何利用需求侧响应模式
- 个人喜欢的8本销售、职场、外企商战类书籍
- perf_counter()函数——time.perf_counter()
热门文章
- php在屏幕中间弹窗,屏幕中间弹框的一种写法
- eclipse(window平台)快捷键总结
- vue添加定位功能_vue 实现Web端的定位功能 获取经纬度
- java中的冒泡排序和交换排序
- java集合框架中迭代器的作用_Java中的集合框架之迭代器
- linux 反汇编 静态库,如何反汇编.lib静态库?
- matlab牛顿差值法函数,matlab牛顿插值函数
- hadoop启动mysql服务_Hadoop MySQL 服务自启动配置
- Android 登陆界面Edittext
- java jxl上传excel_JAVA实现上传,下载,jxl操作Excel和邮件发送