命名空间 namespace   类 class
创建文件Hello.php,namespace是jikexueyuan:

 <?php
 /**
  * Created by PhpStorm.
  * User: Administrator
  * Date: 2015/6/28
  * Time: 13:41
  */
 //命名空间
 namespace jikexueyuan;

 class Hello {
     public function sayHello(){
         echo 'Hello jikexueyuan<br/>';
     }
 }

再创建文件Hello.php,namespace是jkxy:

 <?php
 /**
  * Created by PhpStorm.
  * User: Administrator
  * Date: 2015/6/28
  * Time: 13:44
  */
 //命名空间
 namespace jkxy;

 class Hello {
     public function sayHello(){
         echo 'Hello jkxy<br/>';
     }
 }

创建文件index.php:

 <?php
 /**
  * Created by PhpStorm.
  * User: Administrator
  * Date: 2015/6/28
  * Time: 12:43
  */
 header("Content-type: text/html; charset=utf-8");
 require_once 'jkxy/Hello.php';//require_once:调用一个文件
 require_once 'jikexueyuan/Hello.php';

 $h = new \jkxy\Hello();//创建类的实例
 $h->sayHello();//通过实例访问内部功能

 $d = new \jikexueyuan\Hello();
 $d->sayHello();

require_once调用文件jkxy/Hello.php和jikexueyuan/Hello.php,在通过实例化类访问类的内部功能

构造方法:会在创建类的实例的时候执行

创建文件Man.php

 <?php
 /**
  * Created by PhpStorm.
  * User: Administrator
  * Date: 2015/6/28
  * Time: 13:56
  */

 class Man {

     /**
      * @param int $age 年龄//传入参数的类型
      * @param string $name 名字
      */
     public function __construct($age,$name){
 //        echo 'Construct a man';
         $this->_age = $age;//通过this记录下来
         $this->_name = $name;
         }
     }
     public function getAge(){//外界可以访问
         return $this->_age;
     }

     public function getName(){
         return $this->_name;
     }

     private $_age,$_name;
 }

在index.php中用下面方式使用:

 require_once 'Man.php';
 $m = new Man(20,"Vito");//会在创建类的实例的时候执行
 echo $m->getName();
 echo $m->getAge();

成员方法 举例:

 public function getAge(){//成员方法
         return $this->_age;
     }

静态方法/静态常量/静态变量  在Man.php中添加如下代码:

 public static function say_Hello(){//静态方法:主要用来描述类属性
         echo "Hello PHP";
     }
     private static $NUM = 0;//静态变量
     const MAX_MAN_NUM = 200;//静态常量

在index.php中执行静态方法:

 Man::say_Hello();//执行静态方法

在Man.php中添加代码,在index.php中用到静态变量和静态常量:

 Man::$NUM++;//每创建一次就自加
         if(Man::$NUM>Man::MAX_MAN_NUM){
             throw new Exception("不能创建更多");
         }

在index.php中使用静态变量和静态常量

 for($i=0;$i<Man::MAX_MAN_NUM;$i++){
     new Man(10,"Vito");
 }

PHP学习笔记4-类/命名空间/成员方法/类方法的更多相关文章

  1. python学习笔记4_类和更抽象

    python学习笔记4_类和更抽象 一.对象 class 对象主要有三个特性,继承.封装.多态.python的核心. 1.多态.封装.继承 多态,就算不知道变量所引用的类型,还是可以操作对象,根据类型 ...

  2. Java学习笔记之---类和对象

    Java学习笔记之---类和对象 (一)类 类是一个模板,它描述一类对象的行为和状态  例如:动物类是一个类,动物们都有属性:颜色,动物们都有行为:吃饭 public class Dog { Stri ...

  3. Java学习笔记——File类之文件管理和读写操作、下载图片

    Java学习笔记——File类之文件管理和读写操作.下载图片 File类的总结: 1.文件和文件夹的创建 2.文件的读取 3.文件的写入 4.文件的复制(字符流.字节流.处理流) 5.以图片地址下载图 ...

  4. UML学习笔记:类图

    UML学习笔记:类图 有些问题,不去解决,就永远都是问题! 类图 类图(Class Diagrame)是描述类.接口以及它们之间关系的图,用来显示系统中各个类的静态结构. 类图包含2种元素:类.接口, ...

  5. swift学习笔记3——类、结构体、枚举

    之前学习swift时的个人笔记,根据github:the-swift-programming-language-in-chinese学习.总结,将重要的内容提取,加以理解后整理为学习笔记,方便以后查询 ...

  6. java学习笔记--常用类

    一.Math类:针对数学运算进行操作的类 1.常用的方法 A:绝对值   public static int abs(int a) B:向上取整  public static double ceil( ...

  7. 学习笔记 Java类的封装、继承和多态 2014.7.10

    1.问题:toString()没搞懂? int a = 1; Integer aa = new Integer(a); //这是实现的过程 System.out.println("Hello ...

  8. Java学习笔记-File类的基本方法

    要渐渐养成写博客的习惯-----> 前段时间看Mars的java中的I/O流没怎么懂,发现I/O流好难啊.今天重新看一遍其他教学,还有书籍,做些笔记,记录下每天的学习生活. File类的一些方法 ...

  9. 学习笔记——Java类和对象

    今天学习了Java的类和对象的相关知识,由于Java面向对象的编程的思想和C++几乎一样,所以需要更多的关注Java的一些不同之处. 1.类 1.1 在类这一块,除了基本的成员变量,成员方法,构造函数 ...

随机推荐

  1. php 计算多维数组中所有值的总和

    php 内置函数 array_sum() 函数返回数组中所有值的总和,只能返回一维数组的总和: 计算多维数组所有值的和就要自定义函数了: function get_sum($array) { $num ...

  2. [转]swift 学习资源 大集合

    今天看到了一个swift的学习网站,里面收集了很多学习资源 [转自http://blog.csdn.net/sqc3375177/article/details/29206779] Swift 介绍 ...

  3. nodejs的npm安装模块时候报错:npm ERR! Error: CERT_NOT_YET_VALID的解决方法 - 包子博客 _ 关注互联网前端、开发、SEO、移动互联网应用技术

    转载:包子博客: http://www.haodewap.net/visit.do?wapurl=http%3A%2F%2Fwww.jincon.com%2Farchives%2F141%2F

  4. QT IP输入框正则表达式(使用QLineEdit的setValidator函数)

    /* ip输入框正则表达式 */ // IP 前3段 QRegExp regExp("[0-9][0-9.][0-9.][.]"); ui->lineEdit_1->s ...

  5. Java中volatile的作用以及用法

    volatile让变量每次在使用的时候,都从主存中取.而不是从各个线程的“工作内存”. volatile具有synchronized关键字的“可见性”,但是没有synchronized关键字的“并发正 ...

  6. 关于Unix时间戳

    如何在不同编程语言中获取现在的Unix时间戳(Unix timestamp)? Java time JavaScript Math.round(new Date().getTime()/1000)ge ...

  7. iOS圆盘转动引导图的简单实现

    最近更新的一批app,好多都采用了圆盘转动的效果,比如:百度音乐.当当,大概效果如下: 看看这个是怎么实现的吧. 一.视图元素布局 首先需要明确,这些视图元素是分布在一个圆周上的,通过滑动位置,以圆周 ...

  8. c#程序将excel文件转换成xml文件

    要程序你自己去组装去,我只写两个部分,一个是读Excel的部分,然后是写入到xml的1) 从指定的excel读出信息string strConn="provider=Microsoft.Je ...

  9. js中使用this的一些注意事项

    先看看这段代码 var x =9; var fobj ={ x:1, test:function(callback){ var x= 2; callback(); } } function pp(){ ...

  10. DevExpress ASP.NET 使用经验谈(3)-XPO对象的使用(使用指定数据连接)

    首先,我们贴出上一节Users类XPO对象的保存代码,直接建立的XPO Session会话,因为没有与我们所期望的数据层建立绑定, 所以程序自动创建了一个Access数据库,作为默认数据库操作对象来使 ...