Comunidad PHPeros
Lenguajes => PHP => Mensaje iniciado por: Raken en 24 de Octubre de 2006, 18:45:20 pm
-
Hasta ahora en el foro habíamos explicado algunas funciones que vienen predeterminadas con el PHP, pero... desde la función FUNCTION() podemos crear nuestras propias funciones.
Sintaxis
function NombreDeLaFuncion($variable) {
proceso
}
Es posible que no necesites ninguna variable, es posible que necesites una o que necesites más de una; todo depende de lo que quieras conseguir.
Ejemplo de uso
Como ya he dicho, esto sirve para crear nuestras propias funciones. Esto significa un gran abanico de posibilidades... podría poner un ejemplo de....uhm....¿matemáticas?
//Con esta funcion estoy sumandole 5 y restándole 3
function SumaryRestar($valor) {
$valor = $valor + 5;
$valor = $valor - 3;
}
Ya hemos creado la función. Para utilizarla sería así:
$numero = SumaryRestar(5); //Devolvería 7 (suma 5 y resta 3...)
echo $numero; // 7.
$numero = SumaryRestar(10); //Devolvería 12 (suma 5 y resta 3...)
echo $numero; //12.
¿Sencillo, no?
¿Sólo podemos usar números? ... Pues no. Hagamos un ejemplo construyendo frases:
Ejemplo 2
function Frase($palabra) {
echo "Hola, me llamo $palabra... bueno, en realidad no me llamo $palabra, pero mi nick es $palabra";
}
Uso de esta función:
$texto = Frase(Raken);
echo $texto; //Mostrará: Hola, me llamo Raken...bueno, en realidad, no me llamo Raken, pero mi nick es Raken.
Ejemplo multivariable
Se puede incluir más de una variable, separadas por comas:
function Frase($nombre, $color) {
echo "Hola, me llamo $nombre y mi color favorito es el $color";
}
Uso de esta función:
$texto = Frase(Raken, azul);
echo $texto; //Mostrará: Hola, me llamo Raken y mi color favorito es el azul.
;) Espero que os de ideas y os ayude a la hora de crear vuestros códigos.
-
Oye, disculpa mi ignorancia pero no lo entiendo xDD
¿Para qué serviría eso exactamente?
Saludos
-
Échale imaginación ;D
Sirve para poder hacer todo el proceso pero de una forma mucho más resumida y automatizada, solo cambiando variables.
Pretendía dar una idea de lo que puede hacer esto, pero usaré ejemplos algo más prácticos:
Ejemplo 3
Para conectar a una base de datos hay que poner nombre de usuario, contraseña, nombre de la BBDD, servidor... y usar la función mysql_connect();
En vez de poner el código entero cada vez que queramos conectar:
//Base de datos
$dbnombre= "BBDD";
$dbusuario = "usuario";
$dbcontra = "contraseña";
$dbhost = "localhost";
//Conexión mysql
$conexion = mysql_connect("$dbhost","$dbusuario","$dbcontra");
//comprobaciones
mysql_select_db($dbnombre, $conexion) or
die(mysql_error());
...Podríamos hacer una función:
function Conectar {
//Base de datos
$dbnombre= "BBDD";
$dbusuario = "usuario";
$dbcontra = "contraseña";
$dbhost = "localhost";
//Conexión mysql
$conexion = mysql_connect("$dbhost","$dbusuario","$dbcontra");
//comprobaciones
mysql_select_db($dbnombre, $conexion) or
die(mysql_error());
}
Y conectaríamos a la base de datos con un simple...
$conectar = Conectar();
-
Ejemplo 4
Continuando con las bases de datos, podríamos poner otro ejemplo, más práctico aún. Para coger datos de la base de datos hacemos una consulta:
$consulta = "SELECT * from TABLA limit 10"; //Este es el numero limite de datos a coger
$resultado = mysql_db_query ($dbnombre, $consulta, $ruta);
while ($row = mysql_fetch_array ($resultado)) {
blablabla...
}
Podríamos hacer una función de esto:
function Mostrardatos($tabla, $cuantos) {
$consulta = "SELECT * from $tabla limit $cuantos"; //Aquí el número lo elegimos en la función
$resultado = mysql_db_query ($dbnombre, $consulta, $ruta);
while ($row = mysql_fetch_array ($resultado)) {
blablabla...
}
Y enseñar los datos así:
Mostrardatos(noticias, 10);
Como ves, lo hace mucho más flexible. Solo cambiando el contenido del paréntesis y ya no tienes que repetir el código anterior ;)
-
Es muy útil. Gracias Raken ! :D
-
disculpa!!! xD pero tienes errores de sintaxis grabes en tus ejemplos
te falta la funcion "return" para retorna el resultado y en la que usas "echo" en la funcion tambien la usas como si retornara el resultado pero no lo hace... porfavor verifica..
Suerte :D
-
Este tema es viejo y no deberías continuarlo... En futuras ocasiones, crea un tema nuevo haciendo referencia a este ;)