Asp.net的多层架构主要是为了解决数据层,逻辑层,表示层等之间的关系。我的做法是这样的:首先建立一个DataCore的基类。基类里面封装了一些低层的数据库的基本操作,比如说数据库联接,调用存储过程等等。在这里面有一个地方值得注意,通过对一个函数的重载可以实现调用不同功能的存储过程。以下代码示例:
protected int RunProcedure(string storedProcName, IDataParameter[] parameters, out int rowsAffected )
{
int result;
Connection.Open();
SqlCommand command = BuildIntCommand( storedProcName, parameters );
rowsAffected = command.ExecuteNonQuery();
result = (int)command.Parameters[&...
先看下面的代码:
$var1 = "#####";
$var2 = "&&&&&";
function global_references($use_globals) {
global $var1, $var2;
if (!$use_globals) {
$var2 =&$var1; //1
} else {
$GLOBALS["var2"] =&$var1; //2
}
}
global_references(false);
echo "var2 is set to '$var2'";
global_references(true);
echo "var2 is set to '$var2'";
?>
输出的结果如下:
var2 is set to '&&&&&'
var2 is set to '#####'
可见,上面的代码中:
$var2 =&$var1; //1
只对函数内部可见。
而$GLOBALS["...
之前一个朋友的帖子提到过这方面的疑问,这里简单整理一下,希望能让更多新学php的朋友得到帮助。php的引用(就是在变量或者函数、对象等前面加上&符号)是个高级话题,新手多注意,正确的理解php的引用很重要,对性能有较大影响,而且理解错误可能导致程序错误!很多人误解php中的引用跟C当中的指针一样,事实上并非如此,而且很大差别。C语言中的指针除了在数组传递过程中不用显式申明外,其他都需要使用*进行定义,而php中对于地址的指向(类似指针)功能不是由用户自己来实现的,是由Zend核心实现的,php中引用采用的是“写时拷贝”的原理,就是除非发生写操作,指向同一个地址的变量或者对象是不会被拷贝的,比如下面的代码:$a = ar...
this关键字总是指向调用该方法的对象,this作为对象的默认引用有两种情形: 1:构造其中引用该构造器执行初始化的对象; 2:在方法中引用调用该方法的对象; this关键字最大的作用就是让类中一个方法,访问该类的另一个方法或属性。 对于static修饰的方法可以直接调用该方法,如果在static修饰的方法中使用this,则这个this无法指向合法的对象。顾static修饰方法中不能使用this引用。由于static修饰的方法不能使用this引用,所以static修饰的方法不能访问不使用static修饰的普通成员。 Java允许局部变量和成员变量通明,如果方法里的局部变量和成员变量通明,局部变量会覆盖成员变量,如果需要在这个方法里引用被覆盖的成员变量,则可使用this(...