类的另类用法--数据的封装
类的另类用法--数据的封装
一般的情况下,如果使用classname::property是不能访问到类的属性的,但可以用classname::method()使用类的方法。同样的也不能用objectname->property访问到类的方法里的变量。利用这一特点,我们可以将一些数据保存于类中,有点象c++的私有属性。
<?
class data {
function value($var) {
static $d = array();
if(func_num_args() > 1) {
$d[$var] = func_get_arg(1);
}else {
return $d[$var];
}
}
}
//测试:
data::value("a",1);
data::value("b",2);
echo data::value("a");
echo data::value("b");
?>
相关推荐
-
类的另类用法--数据的封装
类的另类用法--数据的封装一般的情况下,如果使用classname::property是不能访问到类的属性的,但可以用classname::method()使用类的方法.同样的也不能用objectname->property访问到类的方法里的变量.利用这一特点,我们可以将一些数据保存于类中,有点象c++的私有属性.<?class data { function value($var) { static $d = array(); if(func_num_args() > 1
-
PHP封装的page分页类定义与用法完整示例
本文实例讲述了PHP封装的page分页类定义与用法.分享给大家供大家参考,具体如下: 亲测有效,见下图=========> 1. 测试实例test.php <?php header("Content-Type: text/html; charset=utf-8"); date_default_timezone_set("Asia/Shanghai"); //时区 require_once('page.class.php'); $showrow = 5;
-
PHP封装的多文件上传类实例与用法详解
本文实例讲述了PHP封装的多文件上传类实例与用法.分享给大家供大家参考,具体如下: <?php /**//* * @(#)UploadFile.php * * 可同时处理用户多个上传文件.效验文件有效性后存储至指定目录. * 可返回上传文件的相关有用信息供其它程序使用.(如文件名.类型.大小.保存路径) * 使用方法请见本类底部(UploadFile类使用注释)信息. * */ class UploadFile { var $user_post_file = array(); //用户上传的文件
-
PHP封装的验证码工具类定义与用法示例
本文实例讲述了PHP封装的验证码工具类定义与用法.分享给大家供大家参考,具体如下: 下面分享的是我自己封装的验证码工具类,在平时的项目中会比较经常用到的工具类,目前封装的这个工具类简易版的,如果有需要的伙伴可以拿去用,当然我建议用之前在配置文件里增加一些选项信息 //验证码宽度 private $width; //验证码高度 private $height; //验证的个数 private $length; //干扰点个数 private $dots; //干扰点的类型 private $typ
-
PHP封装的分页类与简单用法示例
本文实例讲述了PHP封装的分页类与简单用法.分享给大家供大家参考,具体如下: 分页类的封装如下: page.php <?php //showPage(页号,总页数,分隔符) function showPage($page,$totalPage,$sep=" "){ $url = $_SERVER ['PHP_SELF']; //获取当前路径 $index = ($page == 1) ? "首页" : "<a href='{$url}?page
-
javascript 面向对象全新理练之数据的封装
今天主要讨论如何在 JavaScript 脚本中实现数据的封装(encapsulation).数据封装说的简单点就是把不希望调用者看见的内容隐藏起来.它是面向对象程序设计的三要素之首,其它两个是继承和多态,关于它们的内容在后面再讨论. 关于数据封装的实现,在 C++.Java.C# 等语言中是通过 public.private.static 等关键字实现的.在 JavaScript 则采用了另外一种截然不同的形式.在讨论如何具体实现某种方式的数据封装前,我们先说几个简单的,大家所熟知却又容易忽略
-
CI框架(CodeIgniter)公共模型类定义与用法示例
本文实例讲述了CI框架(CodeIgniter)公共模型类定义与用法.分享给大家供大家参考,具体如下: 我们都知道,操作数据库的方法都写在模型中.但是一般情况下,一张表往往至少对应4个操作,也就是所谓crud.那么如果20张表,所对应的模型方法,就达到了80个,重复的操作显然这已经是一个体力活儿. 那么就对单表操作时,我们进行一下简单的封装.如下是ci框架的示例: <?php /** * Created by PhpStorm. * User: kangjianrong * Date: 16-8
-
php实现的pdo公共类定义与用法示例
本文实例讲述了php实现的pdo公共类定义与用法.分享给大家供大家参考,具体如下: db.class.php : <?php class db extends \PDO { private static $_instance = null; protected $dbName = ''; protected $dsn; protected $dbh; public function __construct($dbHost, $dbUser, $dbPasswd, $dbName, $dbChar
-
基于python3 类的属性、方法、封装、继承实例讲解
Python 类 Python中的类提供了面向对象编程的所有基本功能:类的继承机制允许多个基类,派生类可以覆盖基类中的任何方法,方法中可以调用基类中的同名方法. 对象可以包含任意数量和类型的数据. python类与c++类相似,提供了类的封装,继承.多继承,构造函数.析构函数. 在python3中,所有类最顶层父类都是object类,与java类似,如果定义类的时候没有写出父类,则object类就是其直接父类. 类定义 类定义语法格式如下: class ClassName: <statement
-
VC++中图像处理类CBitmap的用法
VC++中图像处理类CBitmap的用法 class CBitmap : public CGdiObject { DECLARE_DYNAMIC(CBitmap) public: static CBitmap* PASCAL FromHandle(HBITMAP hBitmap); // Constructors CBitmap(); BOOL LoadBitmap(LPCTSTR lpszResourceName); BOOL LoadBitmap(UINT nIDResource); BOO
随机推荐
- .NET中方法的注意事项总结
- jQuery插件FusionWidgets实现的AngularGauge图效果示例【附demo源码】
- AngularJS 所有版本下载地址
- Java窗体动态加载磁盘文件的实现方法
- js拼接html注意问题示例探讨
- javascript检测移动设备横竖屏
- 有关Ajax中get和post的使用问题
- 在C#中创建和读取XML文件的实现方法
- Drupal读取Excel并导入数据库实例
- JavaScript字符串对象fromCharCode方法入门实例(用于把Unicode值转换为字符串)
- JavaScript Undefined,Null类型和NaN值区别
- Android中asset文件夹与raw文件夹的区别深入解析
- Java中对List集合的常用操作详解
- C#处理datagridview虚拟模式的方法
- Android自定义键盘的实现(数字键盘和字母键盘)
- thinkPHP5.1框架中Request类四种调用方式示例
- vue实现todolist基本功能以及数据存储功能实例详解
- Android仿QQ分组实现二级菜单展示
- .NET Core系列之MemoryCache 初识
- Javascript 访问样式表实现代码