`
huanlong78
  • 浏览: 33071 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

PHP 类的重构思路

    博客分类:
  • PHP
阅读更多

引申:

    http://fengxiaohua1.bokee.com/viewdiary.13001675.html

 

    在上文中看到 Come on!  的关于类的重建问题的解决办法,很受启发,因为之前没自己写过类,就那上面的东西小测试了下.

 

<?php
class ValidateNumber{  
...... 
...... 
function ValidateNumber(){ 
    $name="ValidateNumber".func_num_args(); 
    $this->$name(); 
} 
function ValidateNumber0(){} 
function ValidateNumber2($para1,$para2){ 
...... 
......         
 }    
...... 
...... 
}
?>

   

    结果发现, Come on! 的方法中, 第七行代码 就是 可变函数 的调用会出现 参数丢失的警告.

    Come on!  的思路很牛X  怕自己以后忘掉,于是 把小 Bug 修复如下:

   

<?php
Class test
{
	var $info;
	function test()
	{
		$num = func_num_args();
		$name="test" . $num ;
		if( $num  )
			return $this->$name( func_get_args() );
		return $this->$name();
	}
	function test0()
	{
		$this->info="args:0";
		return $this;
	}
	function test1( $args )
	{
		$this->info = $args[0] ;
		return $this;
	}
	function show()
	{
		echo "this->info = ".$this->info;
	}
}
?>

 

 

分享到:
评论

相关推荐

    计算机毕业设计-图书管理系统

    重构的模型和数据库类 配置文件可分离 重写的自动验证和完成 简化扩展机制 API支持完善 改进的Log类 命令行访问支持 REST支持 引导文件支持 方便的自动生成定义 真正惰性加载 分布式环境支持 更多的社交类库 ...

    基于Python的wiki系统mdwiki-Python.zip

    软件设计思路参考 dokuwiki(一款 PHP 开发的强大 wiki 系统)。功能特性:首先它的定位是一款 wiki 系统,旨在作为个人或小团队的知识库管理系统。markdown编辑器支持图片粘贴与拖拽上传,支持实时预览。wiki检索...

    FuelPHP v1.8.0.zip

    *数据库类已经被重构。 `Database_Query`现在正确地扩展和`DBUtil`模式操作已经以支持多个数据库平台上被抽象。 *新的驱动程序已经添加了“DBLIB”(MS-SQL /的Sybase),“SQLSRV”(在Windows MS-SQL)和“SQLite...

    mro:本科毕设,一个ERP后台管理系统

    重构的模型和数据库类 配置文件可分离 重写的自动验证和完成 简化扩展机制 API支持完善 改进的Log类 命令行访问支持 REST支持 引导文件支持 方便的自动生成定义 真正惰性加载 分布式环境支持 更多的社交类库 ...

    tp5_rest:使用tp5写RESTful标准的API

    其主要特性包括:基于命名空间和众多PHP新特性核心功能组件化强化路由功能更灵活的控制器重构的模型和数据库类配置文件可分离重写的自动验证和完成简化扩展机制API支持完善改进的Log类命令行访问支持REST支持引导...

    loanDataPlatform:贷款数据平台

    重构的模型和数据库类 配置文件可分离 重写的自动验证和完成 简化扩展机制 API支持完善 改进的Log类 命令行访问支持 REST支持 引导文件支持 方便的自动生成定义 真正惰性加载 分布式环境支持 更多的社交类库 ...

    resturant-web:后勤食堂管理系统,萌芽杯项目实战代码(web站系统端)

    重构的模型和数据库类 配置文件可分离 重写的自动验证和完成 简化扩展机制 API支持完善 改进的Log类 命令行访问支持 REST支持 引导文件支持 方便的自动生成定义 真正惰性加载 分布式环境支持 更多的社交类库 ...

    shop:thinkphp5.0商城

    其主要特性包括:基于命名空间和众多PHP新特性核心功能组件化强化路由功能更灵活的控制器重构的模型和数据库类配置文件可分离重写的自动验证和完成简化扩展机制API支持完善改进的Log类命令行访问支持REST支持引导...

    communit:这是一个达成共识的项目

    重构的模型和数据库类 配置文件可分离 重写的自动验证和完成 简化扩展机制 API支持完善 改进的Log类 命令行访问支持 REST支持 引导文件支持 方便的自动生成定义 真正惰性加载 分布式环境支持 更多的社交类库 ...

    ybyh:西安一笔一画官网

    其主要特性包括:基于命名空间和众多PHP新特性核心功能组件化强化路由功能更灵活的控制器重构的模型和数据库类配置文件可分离重写的自动验证和完成简化扩展机制API支持完善改进的Log类命令行访问支持REST支持引导...

    Swan个人内容管理系统v0.9alpha2

    大家可以发现后台的变化还是很大的,其中用户界面和操作的思路很大一部分来自于国外某个博客程序,同时我对起原思路进行了一些修正,给用户更好的体验一直都是Swan的目标。 修正与改进: 对前一版本发现的已知bug进行...

    messageboard

    在现实生活中,重构代码将是一个好主意。 总体思路 访客可以阅读帖子,但只有登录的用户可以写帖子 页面结构/功能 入口点将是/ public中的index.php。 访客会在那看到什么? 也许是3个的清单? 5? 10个? 最近的...

    客客出品专业威客系统KPPW v2.5 GBK.zip

    前端网页重新包装设计风格更加扁平化,并采用响应式网页设计思路,支持多个浏览器设备的完美访问效果。网页制作上采用了优秀的开源前端框架Bootstrap,使前端模版制作的灵活性大幅度提高,使用起来更简单,凡是会...

    冇问题.zip

    博聆网和暴走漫画的很多思路也是从这份代码中延续过来的。比如SuperCache的概念便是其中之一。 目前这份代码已经经过我的清理,可以运行在Ruby 1.8.7和JRuby以及Rubinius的1.8模式,亦可运行于Windows平台下。 起源 ...

    客客出品专业威客系统KPPW源码 v2.5

    前端网页重新包装设计风格更加扁平化,并采用响应式网页设计思路,支持多个浏览器设备的完美访问效果。网页制作上采用了优秀的开源前端框架Bootstrap,使前端模版制作的灵活性大幅度提高,使用起来更简单,凡是会...

    JAVA上百实例源码以及开源项目

     Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...

    JAVA上百实例源码以及开源项目源代码

     Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...

    ExtAspNet v2.2.1 (2009-4-1) 值得一看

    -为TreeNode增加AutoPostBack属性,增加事件数据类TreeCheckEventArgs,为Tree增加事件NodeCheck。 -示例在:http://extasp.net/data/tree_run.aspx -Grid增加GetNoSelectionAlertInParentReference函数,用来...

    ExtAspNet_v2.3.2_dll

    -为TreeNode增加AutoPostBack属性,增加事件数据类TreeCheckEventArgs,为Tree增加事件NodeCheck。 -示例在:http://extasp.net/data/tree_run.aspx -Grid增加GetNoSelectionAlertInParentReference函数,用来...

Global site tag (gtag.js) - Google Analytics