类加载,__construct(),
来源:互联网 发布:广州淘宝拍摄基地在哪 编辑:程序博客网 时间:2024/06/08 08:49
类是一种结构: 如果要访问类,前提是类在内存中存在.
类一般是一个单独的文件: 若要使用类就得加载类.
1. 手动加载
在使用类之前,手动的将类对应的文件给包含进来
publicController.class.php
<?php/** * * @authors weikeduopp * @date 2017-04-20 14:20:29 * @version $Id$ */header("content-type:text/html;charset=utf-8");class publicController { public function index(){ // echo "index方法被访问的时候,弹出html页面"; include "./view/index.html"; }}?>
<?php/** * * @authors weikeduopp * @date 2017-04-20 14:30:50 * @version $Id$ */ //面向过程的编程思想,考虑的是, 有什么函数可以帮助我们加载首页 //调用外部文件include 引入外部html.呈现给用户 // include "./view/index.html";//路径 ./当前目录 // 目录要统一,前后都要是./ // //兄弟 include_once 只加载一次. 过滤重复. // 面向对象的思想. // 要用什么类,需把类文件加载进来. include_once './controller/publicController.class.php'; $a = new publicController(); $a->index(); //加载首页.?>
2. 自动加载
自动加载: 系统会给提供一种机制: 如果系统当前要用类(实例化),但是系统又没有在内存中找到对应的类: 机制就会被触发, 可以通过被触发的机制,修改机制的内部,使得能够按照某个通用的规则将类文件进行加载到内存.
魔术函数: __autoload()
自动加载需要判断文件是否存在:存在才加载,不存在就不管
<?php/** * * @authors weikeduopp * @date 2017-04-20 15:40:39 * @version $Id$ */ header("content-type:text/html;charset=utf-8"); // class test{ // public $name; // private $money = 10; // // 析构方法: __destruct(), 当对象被销毁之前,对象会自动调用的方法. // // 作用: 释放所有的资源.(PHP中自动释放资源: 很少使用析构方法) // // // public // } // 类加载 // 1.手动---include // // 2.自动加载: 系统会给提供一种机制: 如果系统当前要用类(实例化),但是系统又没有在内存中找到对应的类: 机制就会被触发, 可以通过被触发的机制,修改机制的内部,使得能够按照某个通用的规则将类文件进行加载到内存. // 魔术函数: __autoload() //先做了解.这个现在是用 function __autoload($class){ // echo $class; // include_once "./controller/{$class}.class.php"; // 自动加载需要判断文件是否存在:存在才加载,不存在就不管 file_exists==>检查path if( file_exists("./controller/{$class}.class.php") ){ //is_file()检查文件或目录是否存在 include_once "./controller/{$class}.class.php"; } } // 加载==>类publicController $a = new publicController;//$class=>publicController // $a->index();?>
自动加载引入多个类文件
file_exists==>检查path.
is_file()检查文件或目录是否存在.
引入首页,路径用的是相对路径.目录要统一,前后都要是同一方式,方便引入修改.
创建类.
__construct(), 类在形成对象的过程中(实例化),之后会被形成的对象自动调用的方法: 构造对象.
<?php/** * * @authors weikeduopp * @date 2017-04-20 15:40:39 * @version $Id$ */ header("content-type:text/html;charset=utf-8"); class test{ public $name; private $money = 10; // 构造方法的作用: 构造对象, 为了初始化属性 // 初始化 // __construct(), 类在形成对象的过程中(实例化),之后会被形成的对象自动调用的方法: 构造对象. public function __construct($name,$money){ // $this是一种能够在对象调用方法的时候 echo __METHOD__; // echo __FUNCTION__; $this->name = $name; $this->money = $money; } public function getMoney(){ echo $this->money; } // 构造方法的方法名字不叫__construct而是与类名同名 注意: 在高版本中已经不使用,有时候为了做兼容,会做两个构造方法 // public function test($name,$num){ // } } $a = new test("狗蛋",100); echo $a->name; // 私有成员的访问就是在类定义的方法中进行访问. // 方法内部不能直接访问属性名字: 系统会当做局部变量 $a->getMoney();?>
0 0
- 类加载,__construct(),
- php 类的构造方法 __construct
- __initialize()和类的构造函数__construct()
- ThinkPHP中的__initialize()和类的构造函数__construct()
- SoapClient->__construct()
- Redis::__construct
- ThinkPHP中__initialize()和类的构造函数__construct()用法分析
- 初始化对象 __construct()
- PHP __construct 用法实例
- __construct()和__initialize()
- PHP 构造方法 __construct()
- __construct()和__initialize()
- PHP 构造方法 __construct()
- ThinkPHP之__construct()和__initialize()
- ThinkPHP之__construct()和__initialize()
- ThinkPHP之__construct()和__initialize()
- ThinkPHP之__construct()和__initialize()
- tp框架__construct()和__initialize()
- 检测字符串中是否有字符重复
- 一些扎记
- JavaScript详解
- ZOJ1002
- 第四次上机实验--输出星号图
- 类加载,__construct(),
- android_WebView截图
- Leetcode -- 27. Remove Element
- mooc_02_排序
- C++实验4-项目6:输出星号图
- 使用Android JNI调用第三方静态库并且生成静态库和动态库(armeabi/arm64-v8a版本)的配置操作
- android-加固方案对比
- 警告框的使用
- House Robber