若相依 发表于 2015-1-16 22:10:31

PHP教程之Php面向工具 C 单例形式

要想从事软件开发工作,那么,还有很多的知识要学习,其实,不管是以后想去从事哪个工作,都需要自己去利用空闲的时间去不断的学习新的知识,不断的充实自己。Php面向工具C单例形式

包管类只要一个实例
1.怎样能够办理一个类能够被无穷地实例化?
New,就可以实例化一次,怎样往限定,用户不克不及无穷次地new?

将机关办法公有化。一切内部的new都操纵失利

classMySQLDB
{
privatefunction__construct()
{
}
}

2.一旦机关办法公有化,意味着类不克不及再类外实例化。但能够在类内实例化。
增添一个大众的静态办法,经由过程类来挪用该办法,在办法内能够实行new操纵。

classMySQLDB
{
privatefunction__construct()
{
}

publicstaticfunctiongetInstance()
{
returnnewMySQLDB;
}
}

$o=MySQLDB::getInstance();

此时,用户必要该类的工具,办法内的代码就会实行,因而,我们能够经由过程完美办法内的逻辑,限定用户失掉工具的操纵。

3.在下面的办法内,利用如许的逻辑:每次实行时做判别,判别该类是不是已实例化工具,假如实例化了,则间接前往这个实例化好的工具。假如没有实例化,则实例化一个新的,然后前往。

怎样判别?
在这个工具被实例化出来时,保留起来。
例子:

classMySQLDB
{
privatestatic$instance;

privatefunction__construct()
{
}

publicstaticfunctiongetInstance()
{
if(!self::$instanceinstanceofself)
{
self::$instance=newself;
}
returnself::$instance;
}
}


4.克隆也能够失掉新工具,因而必要限定克隆。
公有化__clone()办法

classMySQLDB
{
privatestatic$instance;

privatefunction__construct()
{
}

privatefunction__clone()
{
}

publicstaticfunctiongetInstance()
{
if(!self::$instanceinstanceofself)
{
self::$instance=newself;
}
returnself::$instance;
}
}



就是管理员可以编辑,删除,回复等功能,。加入管理员功能要加入登陆系统,慢慢你会想在线添加管理员,慢慢你会让自己的作品更漂亮些,慢慢1个完整的留言板就会出来了,

因胸联盟 发表于 2015-1-18 18:57:29

其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。

莫相离 发表于 2015-1-23 05:28:50

我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。

第二个灵魂 发表于 2015-2-6 19:57:37

找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。

admin 发表于 2015-2-18 12:35:13

对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。

爱飞 发表于 2015-3-6 06:40:58

没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。

海妖 发表于 2015-3-12 22:16:14

使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。
页: [1]
查看完整版本: PHP教程之Php面向工具 C 单例形式