一个类可以包含有属于自己的常量变量(称为“属性”)以及函数(称为“方法”)。

$ 变量--专业术语上称它为“属性”。  
function 函数--专业术语中称它为“方法”。

如果直接使用 var 声明属性,而没有用 publicprotected 或 private 之一,PHP 5 会将其视为 public

1.类定义

<?php
class my_Class
{
// 声明属性
public $var = 'a default value';//公共 //声明方法
public function displayVar() {
echo $this->var;//方法在类定义内部被调用时,可用的伪变量 $this;            //$this 是一个到主叫对象的引用(通常是该方法所从属的对象,但如果是从第二个对象静态调用时也可能是另一个对象)
}
}
?>

用 new 关键字,创建一个类的实例

2.创建一个实例

<?php

$instance = new SimpleClass();//对象引用
// 也可以这样做:

$className = 'Foo';

$instance = new $className(); // Foo()

?>

1. ::(双冒号): 静态属性  self::$property

该运算符是调用一个类中的静态成员的方法

 class my_class{

    protected static $instance;

    self::$instance="jh2k";

    或 $this::$instance = "jh2k";

}

2. ->(对象运算符):$this->property(其中 property 是该属性名)这种方式来访问非静态属性。

该操作符是操作一个类中的成员变量的方法,可以是非static成员变量

class my_class{

  private $test;

  $this->test="jh2k";

}

class my_class{

  var $username = "jh2k"; //公共变量

  function show_username()  
  {  
  echo $this->username;  //$this :访问一个公共的变量,或者类里面的函数;用来说明username是公共的。可以访问的,函数外部的东西
  }

  function Welcome()  
  {  
  echo "欢迎";  
  $this->show_username();  //$this:调用 show_username 这个函数,用 $this 来表示这个函数在类中并且和 Welcome 函数平行,而不是在其他地方(比如Welcome函数中)
  }

}

$Name = new my_class();

$Name->show_username(); //jh2k

$Name->username = "jh2k15";

$Name->show_username(); //jh2k15

$Name->Welcome(); //欢迎jh2k15

随机推荐

  1. 无脑简单 命令升级git Centos

    yum remove git yum install zlib (系统默认已经装上) yum install zlib-devel ># wget https://github.com/git/ ...

  2. MySQL动态字符串处理DYNAMIC_STRING

    MySQL中,常常会看到一些关于动态字符串的处理,列如:DYNAMIC_STRING. 为了记录动态字符串的实际长度,缓冲区的最大长度,以及每次字符串需要调整时,及时分配新的内存,以及调整长度.MyS ...

  3. win10 下visual studio 2015 在调试模式下不能跟踪源文件

    win10 下visual studio 2015 在调试模式下不能跟踪源文件,只要一调试就会关闭(隐藏)打开的文档,非常不方便.经过一番折腾,发现是配置的问题. 如果安装多个版本的VS,请删除对应版 ...

  4. 让ABAP开发者愈加轻松的若干快捷键

    引言 ABAP是一种和当代编程语言在许多方面有着相当不同的编程语言.ABAP的某些方面可能会让我们奇怪,为什么它会如此复杂?而它的某些方面又是那么杰出,给予了ABAP开发者们比其它任何语言更多的便利. ...

  5. 非域客户端的office使用RMS加密服务出现‘介绍“信息权限管理服务”’服务的提示

    环境:office2007,需要使用windows RMS服务,客户机处于工作组模式,如图: 出现这个说明客户机没有发现RMS服务,可以通过导入注册表解决,如下: Windows Registry E ...

  6. iOS 如何使用Safari浏览器打开app

    1.首先在info.plist添加一个键值对,如下图 或 2.在appdelegate.m文件如下方法写代码 -(BOOL)application:(UIApplication*)app openUR ...

  7. ISP路由表分发中的AS与BGP

    ➠更多技术干货请戳:听云博客 摘要 本文面向,初级网络工程师,数据挖掘工程师,涉及EGP(外部网关协议; Exterior Gateway Protocol),IGP(内部网关协议; Interior ...

  8. Android开发案例 - 欢迎界面

    本文详细描述了如何实现如下图中的微信启动界面. 该类启动界面的特点是在整个Application的生命周期里, 它只会出现在第一次进入应用时, 即便按回退键到桌面之后. 使用该类启动界面的应用还有: ...

  9. 关于Apache Spark

    Apache Spark :  https://www.oschina.net/p/spark-project

  10. ab

     ab is a tool for benchmarking your Apache Hypertext Transfer Protocol (HTTP) server. It is designed ...