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

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

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

1.类定义

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

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

2.创建一个实例

<?php

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

$className = 'Foo';

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

?>

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

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

  1. class my_class{
  2.  
  3. protected static $instance;
  4.  
  5. self::$instance="jh2k";
  6.  
  7. $this::$instance = "jh2k";
  8.  
  9. }

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

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

  1. class my_class{
  2.  
  3. private $test;
  4.  
  5. $this->test="jh2k";
  6.  
  7. }

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. 《分布式事务解决之道》沙龙ppt共享

    大型分布式系统往往由很多“微服务”组成,而不同的微服务往往又连接着不同的数据库,在看似常用的功能背后,可能又需要横跨不同的“微服务”和“数据库”才能实现.那么如何才能保证系统事务的一致性呢?这也同时是 ...

  2. JVM调优总结

    堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制:系统的可用虚拟内存限制:系统的可用物理内存限制.32位系统下,一般限制在1.5G~2G:64为操作 ...

  3. php-fpm优化

    pid = run/php-fpm.pid #pid设置,默认在安装目录中的var/run/php-fpm.pid,建议开启 error_log = log/php-fpm.log #错误日志,默认在 ...

  4. nw.js自定义最小化图标的click事件

    选择frameless时,最小化和关闭按钮的点击事件需要自己来做,办法是: /* * 下面两个模块一定要引入到js文件中 */ var gui = require('nw.gui'); var win ...

  5. CentOS7上安装QGIS

    1.加入YUM源 rpm -Uvh http://download.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-8.noarch.rpm ...

  6. Spark中Lambda表达式的变量作用域

    通常,我们希望能够在lambda表达式的闭合方法或类中访问其他的变量,例如: package java8test; public class T1 { public static void main( ...

  7. ArcGIS Engine开发之地图基本操作(1)

    ArcGIS提供的各类数据形式以及相应接口 1. 空间数据 在GIS软件中,空间数据有多种不同的形式存在.按照不同的划分标准可以分为矢量数据和栅格数据.GIS格式数据和非GIS格式数据(CAD格式). ...

  8. 使用 Web API 模拟其他用户

    模拟的要求 模拟可代表另一个 Microsoft Dynamics CRM 用户,用于执行业务逻辑(代码)以便提供所需功能或服务,它使用模拟用户的相应角色和基于对象的安全性.这项技术很有必要,因为 M ...

  9. wpf版扫雷游戏

    近来觉得wpf做出来的界面很拉风,自己也很喜欢搞些小游戏,感觉这做出来的会很炫,很装逼,(满足自己的一点小小的虚荣心)于是就去自学,发现感觉很不错,可是属性N多,太多了,而且质料也少,很多不会用,只会 ...

  10. When I see you again(加密原理介绍,代码实现DES、AES、RSA、Base64、MD5)

    关于网络安全的数据加密部分,本来打算总结一篇博客搞定,没想到东西太多,这已是第三篇了,而且这篇写了多次,熬了多次夜,真是again and again.起个名字:数据加密三部曲,前两部链接如下: 整体 ...