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

$ 变量--专业术语上称它为“属性”。  
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. C#批量插入数据到Sqlserver中的四种方式

    我的新书ASP.NET MVC企业级实战预计明年2月份出版,感谢大家关注! 本篇,我将来讲解一下在Sqlserver中批量插入数据. 先创建一个用来测试的数据库和表,为了让插入数据更快,表中主键采用的 ...

  2. js Form.elements[i]的使用实例

    function pdf(){    //一个html里面可能存在多个form,所以document.form[0]指的是第一个form,document.form[1]返回就是第二个form,如果没 ...

  3. MAC远程连接服务器,不需要输入密码的配置方式

    cd ~/.ssh #没有则需要创建一个. mkdir ~/.ssh ssh-keygen -t rsa cd ~/.ssh scp id_rsa.pub root@IP地址:~/.ssh/id_rs ...

  4. 用drawRect的方式实现一个尺子

    用drawRect的方式实现了一个尺子选择器,demo在这里:https://github.com/Phelthas/LXMRulerView 效果如图:   如果不考虑复用的问题,我感觉最简单的实现 ...

  5. react-native DatePicker日期选择组件的实现

    本教程的实现效果如下: 为了实现其淡入/淡出的覆盖效果, 还有取消按钮, 在此用了一个三方的组件, 大家可以先安装一下: 三方组件的地址:https://github.com/eyaleizenber ...

  6. Android 5.X新特性之RecyclerView基本解析及无限复用

    说到RecyclerView,相信大家都不陌生,它是我们经典级ListView的升级版,升级后的RecyclerView展现了极大的灵活性.同时内部直接封装了ViewHolder,不用我们自己定义Vi ...

  7. Android事件分发机制浅谈(三)--源码分析(View篇)

    写事件分发源码分析的时候很纠结,网上的许多博文都是先分析的View,后分析ViewGroup.因为我一开始理解的时候是按我的流程图往下走的,感觉方向很对,单是具体分析的时候总是磕磕绊绊的,老要跳到Vi ...

  8. 安装redis以windows服务形式

    安装redis以windows服务形式 安装redis以windows服务形式 redis windows windows 服务 以前跑redis,老是要开一个命令行窗口,一旦关闭,redis服务就挂 ...

  9. 介绍几个好用的vs插件

    1.打开扩展管理器. 1.jsenhancement插件. 参考文章:http://www.cnblogs.com/dudu/archive/2011/02/27/vs2010_extension_J ...

  10. ORACLE lag()与lead() 函数

    一.简介 lag与lead函数是跟偏移量相关的两个分析函数,通过这两个函数可以在一次查询中取出同一字段的前N行的数据(lag)和后N行的数据(lead)作为独立的列,从而更方便地进行进行数据过滤.这种 ...