导航:首页 > 编程语言 > php单态类

php单态类

发布时间:2022-06-24 11:47:03

A. php是什么

PHP,是英文超级文本预处理语言Hypertext Preprocessor的缩写。PHP 是一种 HTML 内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,被广泛的运用。

PHP 独特的语法混合了 C、java、Perl 以及 PHP 自创新的语法。
PHP安装它可以
比 CGI或者Perl更快速的执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。PHP具有非常强大的功能,所有的CGI的功能PHP都能实现,而且支持几乎所有流行的数据库以及操作系统。

PHP 于19
ISAPI筛选器94年由Rasmus Lerdorf创建,刚刚开始只是一个简单的用Perl
语言编写的程序,用来统计他自己网站的访问者。后来又用C语言重新编写,包括可以访问数据库。在1995年以Personal Home Page Tools (PHP Tools) 开始对外发表第一个版本,Lerdorf写了一些介绍此程序的文档,并且发布了PHP1.0。在这早期的版本中,提供了访客留言本、访客计数器等简单的功能。以后越来越多的网站使用了PHP,并且强烈要求增加一些特性,比如循环语句和数组变量等等,在新的成员加入开发行列之后,在1995年中,PHP2.0发布了。第二版定名为PHP/FI(Form Interpreter)。PHP/FI加入了对mySQL的支持,从此建立了PHP在动态网页开发上的地位。到了1996年底,有15000个网站使用 PHP/FI;1997年中,使用PHP/FI的网站数字超过五万个。而在1997年中,开始了第三版的开发计划,开发小组加入了 Zeev Suraski 及 Andi Gutmans,而第三版就定名为PHP3。2000年,PHP4.0又问世了,其中增加了许多新的特性。
PHP 的简称原本为 Personal Home Page,是Rasmus Lerdorf 为了要维护个人网页,而用c语言开发的一些CGI工具程序集,来取代原先使用的 Perl 程序。最初这些工具程序用来显示 Rasmus Lerdorf 的个人履历,以及统计网页流量。他将这些程序和一些表单直译器整合起来,称为 PHP/FI。PHP/FI 可以和数据库连接,产生简单的动态网页程序。Rasmus Lerdorf 在1995年6月8日将 PHP/FI 公开释出,希望可以透过社群来加速程序开发与寻找错误。这个释出的版本命名为 PHP 2,已经有今日 PHP 的一些雏型,像是类似 Perl 的变量命名方式、表单处理功能、以及嵌入到 HTML 中执行的能力。程序语法上也类似 Perl,有较多的限制,不过更简单、更有弹性。
在1997年,任职于 Technion IIT 公司的两个以色列程序设计师:Zeev Suraski 和 Andi Gutmans,重写了 PHP 的剖析器,成为 PHP 3 的基础,而 PHP 也在这个时候改称为PHP: Hypertext Preprocessor.[5]。经过几个月测试,开发团队在1997年11月释出了 PHP/FI 2,随后就开始 PHP 3 的开放测试,最后在1998年6月正式释出
PHP
PHP 3。Zeev Suraski 和 Andi Gutmans 在 PHP 3 释出后开始改写
PHPPHP 的核
心,这个在1999年释出的剖析器称为 Zend Engine[7],他们也在以色列的 Ramat Gan 成立了 Zend Technologies 来管理 PHP 的开发。
在2000年5月22日,以Zend Engine 1.0为基础的PHP 4正式释出,2004年7月13日则释出了PHP 5,PHP 5则使用了第二代的Zend Engine[5]。PHP包含了许多新特色,像是强化的面向对象功能、引入PDO(PHP Data Objects,一个存取数据库的延伸函数库)、以及许多效能上的增强。目前PHP 4已经不会继续更新,以鼓励用户转移到PHP 5。
2008年PHP 5成为了PHP唯一的有在开发的PHP版本。将来的PHP 5.3将会加入Late static binding和一些其他的功能强化。PHP 6 的开发也正在进行中,主要的改进有移除register_globals、magic quotes 和 Safe mode的功能。
PHP的最新版本:
Current PHP 5.3 Stable: 5.3.6
Current PHP 5.2 Stable: 5.2.17

B. PHP设计模式之单例模式

单例模式
:使得类的一个对象成为系统中的唯一实例.
PHP中使用单例模式最常见的就是数据库操作了。避免在系统中有多个连接数据库的操作,浪费系统资源的现象,就可以使用单例模式。每次对数据库操作都使用一个实例。
简单示例
class
AClass
{
//
用来存储自己实例
public
static
$instance;
//
私有化构造函数,防止外界实例化对象
private
function
__construct()
{}
//
私有化克隆函数,防止外界克隆对象
private
function
__clone()
{}
//
静态方法,单例访问统一入口
public
static
function
getInstance()
{
if
(!(self::$instance
instanceof
self)){
self::$instance
=
new
self();
}
return
self::$instance;
}
//
test
public
function
test()
{
return
"done";
}
//
私有化克隆函数,防止外界克隆对象
private
function
__clone()
{}
}
class
BClass
extends
AClass{
}
//
获取实例
$aclass
=
AClass::getInstance();
$bclass
=
BClass::getInstance();
//
调用方法
echo
$aclass->test();
对一些比较大型的应用来说,可能连接多个数据库,那么不同的数据库公用一个对象可能会产生问题,比如连接句柄的分配等,我们可以通过给$instance变成数组,通过不同的参数来控制
简单示例
class
DB
{
//
用来存储自己实例
public
static
$instance
=
array();
public
$conn;
//
私有化构造函数,防止外界实例化对象
private
function
__construct($host,
$username,
$password,
$dbname,
$port)
{
$this->conn
=
new
mysqli($host,
$username,
$password,
$dbname,
$port);
}
//
静态方法,单例访问统一入口
public
static
function
getInstance($host,
$username,
$password,
$dbname,
$port)
{
$key
=
$host.":".$port;
if
(!(self::$instance[$key]
instanceof
self)){
self::$instance[$key]
=
new
self($host,
$username,
$password,
$dbname,
$port);#实例化
}
return
self::$instance[$key];
}
//query
public
function
query($ql)
{
return
$this->conn->query($sql);
}
//
私有化克隆函数,防止外界克隆对象
private
function
__clone()
{}
//释放资源
public
function
__destruct(){
$this->conn->close();
}

}

C. php设计模式: 请写出工厂模式和单态模式的PHP5示例代码

Example #1 调用工厂方法(带参数)

<?php
class Example
{
// The parameterized factory method
public static function factory($type)
{
if (include_once 'Drivers/' . $type . '.php') {
$classname = 'Driver_' . $type;
return new $classname;
} else {
throw new Exception ('Driver not found');
}
}
}
?>
------------------------------------
Example #2 单例模式

<?php
class Example
{
// 保存类实例在此属性中
private static $instance;

// 构造方法声明为private,防止直接创建对象
private function __construct()
{
echo 'I am constructed';
}

// singleton 方法
public static function singleton()
{
if (!isset(self::$instance)) {
$c = __CLASS__;
self::$instance = new $c;
}

return self::$instance;
}

// Example类中的普通方法
public function bark()
{
echo 'Woof!';
}

// 阻止用户复制对象实例
public function __clone()
{
trigger_error('Clone is not allowed.', E_USER_ERROR);
}

}

?>

D. 在PHP中单态模式和单例模式的区别是什么我弄不清楚是不是同一种模式

单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在...

E. PHP是什么

PHP(“PHP: Hypertext Preprocessor”,超文本预处理器的字母缩写)是一种被广泛应用的开源多用途脚本语言,也是最常用的网站编程语言。

PHP作为最热门的网站程序开发语言,使用PHP的一大好处是它对于初学者来说极其简单,同时也给专业的程序员提供了各种高级的特性。当看到PHP长长的特性列表时,请不要害怕。PHP可以很快的入门,只需几个小时就可以自己写一些简单的脚本

问题1:PHP文件格式?

答:PHP文件后缀名是.php

问题2:php文件需要用什么工具打开

答:需要有PHP的运行环境才可以访问和打开如果只是编辑PHP文件,只需要用:

推荐阅读:01php用什么编辑器编程比较好

推荐阅读:02怎样深入学习php,成为php高手!?


主要特

①开源性和免费性

由于PHP的解释器的源代码是公开的,所以安全系数较高的网站可以自己更改PHP的解释程序。另外,PHP运行环境的使用也是免费的。

②快捷性

PHP是一种非常容易学习和使用的一门语言,它的语法特点类似于C语言,但又没有C语言复杂的地址操作,而且又加入了面向对象的概念,再加上它具有简洁的语法规则,使得它操作编辑非常简单,实用性很强。

③数据库连接的广泛性

PHP可以与很多主流的数据库建立起连接,如MySQL、ODBC、Oracle等,PHP是利用编译的不同函数与这些数据库建立起连接的,PHPLIB就是常用的为一般事务提供的基库。

④面向过程和面向对象并用

在PHP语言的使用中,可以分别使用面向过程和面向对象,而且可以将PHP面向过程和面向对象两者一起混用,这是其它很多编程语言是做不到的。

扩展资料

PHP优点

①流行且容易上手

PHP是目前最流行的编程语言之一。它驱动全球超过2亿多个网站,有全球超过80%的网站在采用PHP。PHP使用起来方便简单,也一点都不复杂,表达能力相当灵活。

②开发职位很多

在服务器端的网站编程中PHP会更容易帮助你找到工作。相当多的互联网相关企业都在使用PHP开发框架,市场对PHP的开发程序员的需求依然是比较大的,尤其中高级技术人才非常紧缺。

③发展潜力佳

PHP在不断兼容着类似closures和命名空间等技术,同时兼顾性能和当下流行的框架。PHP7之后,一直在提供更高性能的应用。

④可植入性强

PHP语言在补丁漏洞升级过程中,核心部分植入简单易行,且速度快。

⑤拓展性强

PHP语言在数据库应用过程中,可以从数据库调取各类数据,执行效率高

F. php单态设计模式中的一个句子

这是一个方法,得到object的,如果没有就创建对象

G. php是个什么类型的语言

弱类型语言。PHP是一种简单的,面向对象的,解释型的,健壮的,安全的,性能非常之高的,独立于架构的,可移植的,动态的脚本语言。PHP具有和JAVA类似的Class关键字。因为不需要虚拟机,以致速度比JAVA快5倍。PHP不仅可用来开发Web应用程序,也可以开发普通应用程序。

H. PHP的单态设计模式

对于java转过来程序员说是单态设计模式,在PHP上通常说是单例模式,说法不一样,手册上也有介绍:

单例模式(Singleton)用于为一个类生成一个唯一的对象。最常用的地方是数据库连接。 使用单例模式生成一个对象后,该对象可以被其它众多对象所使用。
<?php
class Example
{
// 保存类实例在此属性中
private static $instance;

// 构造方法声明为private,防止直接创建对象
private function __construct()
{
echo 'I am constructed';
}

// singleton 方法
public static function singleton()
{
if (!isset(self::$instance)) {
$c = __CLASS__;
self::$instance = new $c;
}

return self::$instance;
}

// Example类中的普通方法
public function bark()
{
echo 'Woof!';
}

// 阻止用户复制对象实例
public function __clone()
{
trigger_error('Clone is not allowed.', E_USER_ERROR);
}

}

?>

这样我们可以得到一个独一无二的Example类的对象。
<?php

// 这个写法会出错,因为构造方法被声明为private
$test = new Example;

// 下面将得到Example类的单例对象
$test = Example::singleton();
$test->bark();

// 复制对象将导致一个E_USER_ERROR.
$test_clone = clone $test;
?>

I. php 单例模式

单例模式是一种常用的软件设计模式,可以保证系统中一个类只有一个实例,从而达到节约系统资源提升特殊类使用效率的目的


php实现单例模式的方法

classA{
//静态属性
privatestatic$_instance;

//空的克隆方法,防止被克隆
privatefunction__clone(){}

//获取实例
(){
if(!(self::$_instanceinstanceofself)){
self::$_instance=newA();
}
returnself::$_instance;
}
}

//调用
$obj=A::getInstance();

J. php的介绍及Php有什么优势

1、开放的源代码: 所有的PHP源代码事实上都可以得到。
2、PHP是免费的。 和其它技术相比,PHP本身免费。
3、php的快捷性 程序开发快,运行快,技术本身学习快。嵌入于HTML:因为PHP可以被嵌入于HTML语言,它相对于其他语言,编辑简单,实用性强,更适合初学者。
4、跨平台性强: 由于PHP是运行在服务器端的脚本,可以运行在UNIX、LINUX、WINDOWS下。
5、效率高: PHP消耗相当少的系统资源。
6、图像处理: 用PHP动态创建图像
7、面向对象: 在php4,php5 中,面向对象方面都有了很大的改进,现在php完全可以用来开发大型商业程序。
8、专业专注: PHP支持脚本语言为主,同为类C语言。

阅读全文

与php单态类相关的资料

热点内容
程序员如何不被废 浏览:803
二进制流转pdf 浏览:915
php判断爬虫 浏览:569
960除24除4简便算法 浏览:786
关于解压英语翻译 浏览:565
python控制键盘右键 浏览:920
php没有libmysqldll 浏览:828
时政新闻app哪个好 浏览:906
手机已加密怎么办 浏览:201
安卓手机截屏怎么传到苹果 浏览:527
京管家app哪里下载 浏览:33
文件夹横向排列的竖向排列 浏览:453
51单片机驱动摄像头模块 浏览:689
政府文件加密没法转换 浏览:373
android判断栈顶 浏览:331
凭证软件源码 浏览:860
androidwebview滚动事件 浏览:11
如何将电脑上的图片压缩成文件包 浏览:899
程序员转金融IT 浏览:837
黑马程序员培训效果如何 浏览:915