PHP创建类的方式,真是够变态,以下是创建方式:

假设类:

class SomeClass {//....}

创建对象:

1、直接通过类名实例化

$obj1 = new SomeClass();

这种方式,是多数面向对象编程语言中实例化的一种方式,这个不变态。

2、通过对象名来实例化

$obj1 = new SomeClass();//这样是通过方式1实例化了一个对象

$obj2 = new obj1();//变态的方式,本质是通过对象找到类而后进行的实例化

3、通过可变类实例化,所谓可变类,其实就是类的名字是通过变量来存储。(可以对比下可变变量等:php中的可变变量、可变函数、匿名函数

$c = "SomeClass";

$obj1 = new $c();//可变类

4、在类内部,通过self来实例化

$obj1 = new self();//只能用于类内部

最新文章

  1. C#联合Union的实现方式
  2. codeforces 425D Sereja and Squares n个点构成多少个正方形
  3. IOS设计模式的六大设计原则之开放-关闭原则(OCP,Open-Close Principle)
  4. MySql系列:中文写入数据库出现错误java.sql.SQLException: Incorrect string value: '\xE5\xxxx' for column 'xxxx' at row 1及其解决方法
  5. Linux计划任务,自动删除n天前的旧文件【转】
  6. 安装hadoop-2.3.0-cdh5.1.2全过程
  7. Photoshop支持ico输出
  8. Centos 7 yum 安装Apache
  9. js:关于IE6/7下new Date(值)输出为NaN的解决方案
  10. Arduino101 中使用 Mirf 库的问题(2016-04-04)
  11. leetcode第36题--Sudoku Solver
  12. GitHub开源:升讯威ADO.NET增强组件 sheng.ADO.NET.Plus V1.3
  13. CSS浮动(Float)
  14. win7下IIS的安装和配置
  15. React native中DrawerNavigator,StackNavigator,TabNavigator导航栏使用
  16. [Swift-2019力扣杯春季初赛]4. 从始点到终点的所有路径
  17. String,StringBuffer与StringBuilder的理解
  18. Gaussian discriminant analysis 高斯判别分析
  19. shell参数扩展
  20. Unity3D的断点调试功能

热门文章

  1. 【Trie】【kd-tree】计蒜客17122 2017 ACM-ICPC 亚洲区(西安赛区)网络赛 I. Barty's Computer
  2. android中自定义checkbox的图片和大小
  3. 利用require.js实现javascript模块化加载
  4. js:输入字数限制
  5. WebSocket 是什么原理?为什么可以实现持久连接?(转载)
  6. 四、logback日志
  7. python 调试模式pdb(转)
  8. python 实现简单的感知机
  9. SQL 之 Group By
  10. shadow mapping实现动态shadow实现记录 【转】