Cita: por ejemplo en el ejemplo 1, se que esta mal hecho pero ni idea porque.
¿En .net no existen los argumentos o cómo estabas acostumbrado a pasar contexto?
Código PHP:
Ver original// MAL (contexto global)
$a = 1;
$b = 2;
function sum() {
// acá dentro NO EXISTEN las variables $a y $b
// a eso se le conoce como contexto, y aquí el contexto global es inaccesible
return $a + $b;
}
echo sum(); // Error: ...
Vamos, que es común que las funciones reciban argumentos:
Código PHP:
Ver original// BIEN (contexto global)
$a = 1;
$b = 2;
function sum($x, $y) {
// acá $x y $y representan los valores de entrada, es decir, contexto local
// por lo tanto $x apunta hacia $a y $y apunta hacia $b
// así es como se pasan argumentos del exterior
return $x + $y;
}
// aquí pasamos las variables del contexto actual (global) hacia la función
// y sólo así quedarán accesibles dichos valores de manera interna
echo sum($a, $b); // 3
¿Y aún así no tienes ni la menor idea de tu error?