FRANCISCO MUNOZ
CATEDRATICO Ing. Juan Espinoza
EJEMPLOS DE COMANDOS
INSERT
INSERT INTO clientes(nombre, direccion, ciudad, telefono, codempresa) VALUES ('Carlos Rios', 'Caseros 2417', 'Buenos Aires', '48485825', 23)
UPDATE
UPDATE clientes SET nombre= 'Carlos Rios' WHERE nombre= 'Carlos Rioso'
DELETE
DELETE FROM clientes WHERE ciudad= 'Mar del Plata'
SELECT
SELECT "nombre_columna" FROM "nombre_tabla";
miércoles, 18 de diciembre de 2013
lunes, 16 de diciembre de 2013
DEBER 25
FRANCISCO MUNOZ
CATEDRATICO Ing Juan Es pinoza.
QUE ES SQL?
SQL es un lenguaje creado para realizar consultas estructuradas a bases de datos. SQL son las siglas de Structured Query Language (Lenguaje estructurado de consultas).
No es exclusivo para paginas web, Aplicaciones de escritorio tambien lo utilizan ya que permite que las consultas a las tablas de alguna base de datos sea mas rapida y segura.
El lenguaje se divide en dos partes:
-El lenguaje de definicion de datos (DDL): son los comandos que nos permiten la creacion y modificacion de los objetos de la base de datos. Son 4 los comandos: CREATE, ALTER, DROP y TRUNCATE.
* CREATE: Nos permite crear un objeto (una tabla, un procedimiento almacenado, un indice, etc.)
* ALTER: Con este comando podemos modificar la estructura de algun objeto: una columna de una tabla, modificar tipos de campo, anchos, keys de los indices, etc...
* DROP: Este nos va a borrar algun objeto (una columna, un procedimiento, etc)
* TRUNCATE: Este es cuando kieres borrar de plano los datos de alguna tabla y solo te dejara la estructura.
- Y el lenguaje de manipulacion de datos(DML): Este ya es para trabajo de manejo de datos directo, los comandos son: INSERT, UPDATE, DELETE y SELECT.
* INSERT: Este nos permite introducir datos a una tabla.
* UPDATE: Sirve para actualizar datos ya existentes dentro de la tabla.
* DELETE: Con este eliminamos datos desde una tabla.
* SELECT: Este sirve para seleccionar datos de una tabla.
BIBLIOGRAFIA
http://answers.yahoo.com/question/index?qid=20080919180523AAg7GGC
EVENTOS
mysql_select_db()Selecciona la base de datos por defecto para realizar las consultas, en la conexión activa.
mysql_query()
envía una única consulta (múltiples consultas no están soportadas) a la base de datos actualmente activa en el servidor asociado con el identificador de enlace especificado por
link_identifier
.mysql_close
Normalmente no es necesario usar a mysql_close(), ya que los enlaces abiertos no persistentes son automáticamente cerrados al final de la ejecución del script. Véase también liberar recursos.
mysql_connect
Abre o reutiliza una conexión a un servidor MySQL.
BIBLIOGRAFIA
VARIABLES
$result
El resultado resource que está siendo evaluado. Este resultado proviene de una llamada a mysql_query().
ejemplo
<?php
$enlace = mysql_connect('anfitrión_mysql', 'usuario_mysql', 'contraseña_mysql');
if (!$enlace) {
die('No se pudo conectar: ' . mysql_error());
}
if (!mysql_select_db('nombre_base_datos')) {
die('No se pudo seleccionar la base de datos: ' . mysql_error());
}$resultado = mysql_query('SELECT name FROM work.employee');
if (!$resultado) {
die('No se pudo consultar:' . mysql_error());
}
echo mysql_result($resultado, 2); // imprime el nombre del tercer empleado
mysql_close($enlace);?>
$enlace = mysql_connect('anfitrión_mysql', 'usuario_mysql', 'contraseña_mysql');
if (!$enlace) {
die('No se pudo conectar: ' . mysql_error());
}
if (!mysql_select_db('nombre_base_datos')) {
die('No se pudo seleccionar la base de datos: ' . mysql_error());
}$resultado = mysql_query('SELECT name FROM work.employee');
if (!$resultado) {
die('No se pudo consultar:' . mysql_error());
}
echo mysql_result($resultado, 2); // imprime el nombre del tercer empleado
mysql_close($enlace);?>
$print
Mostrar una cadena
BIBLIOGRAFIA
miércoles, 11 de diciembre de 2013
DEBER 24
FRANCISCO MUNOZ
CATEDRATICO Ing Juan Espinoza.
<?php
echo "<html>
<head><title>Suma</title>
<style type='text/css'>
[required]{
border-color:red;
box-shadow:0px 0px 5px black;
}
</style>
</head>
<body bgcolor='IVORY' text='BLACK'>
<>
<h1> Escoja la opcion que desee </h1>
<h3>1 2 3<h3>
<table border=2>
<form action='operaciones.php' method='POST'>
<tr><td>Ingrese la opcion : </td>
<td><input name='opcion' required></td>
</tr>
<tr><td>Ingrese el correo : </td>
<td><input name='cor' required></td>
</tr>
<tr><td>Ingrese el nombre : </td>
<td><input name='nom' required></td>
</tr>
<tr><td>Ingrese la clave : </td>
<td><input type='password' name='cla' required></td>
</tr>
<tr>
<tr><td><H3><input type='submit' value='Procesar' name='pro'></H3>
</tr>
</table>
</form>
</center>
</body>
</html>
?>
<?php
session_start();
$_SESSION['nombre']=$_REQUEST['nom'];
$_SESSION['clave']=$_REQUEST['cla'];
$_SESSION['correo']=$_REQUEST['cor'];
if ($_SESSION['nombre']=="admin" && $_SESSION['correo']=="admin@admin.com" && $_SESSION['clave']=="admin")
{
$op = $_POST['opcion'];
echo "<head><body bgcolor='ivory' text='black'><center><h1>Prueba</h1>";
class Operacion {
var $Nombre;
var $Clave;
var $Correo;
function iniciar($nombre,$clave,$correo){
echo "<br> Inicializar <br>";
$this->Nombre=$nombre;
$this->Clave=$clave;
$this->Correo=$correo;
echo "<br> a inicializado : ".$this->Nombre." con la clave ".$this->Clave." y el correo ".$this->Correo;
}
function registrar($nombre,$clave,$correo){
echo "<br> Registrar <br>";
$this->Nombre=$nombre;
$this->Clave=$clave;
$this->Correo=$correo;
echo "<br> a registrado : ".$this->Nombre." su clave es ".$this->Clave." y su correo ".$this->Correo;
}
function cerrar($nombre,$clave,$correo){
echo "<br> Cerrar <br>";
$this->Nombre=$nombre;
$this->Clave=$clave;
$this->Correo=$correo;
echo "<br> Cerro : ".$this->Nombre." con la clave ".$this->Clave." y el correo ".$this->Correo;
}
}
$operacion= new Operacion(" Opciones de Session <br>");
switch($op)
{
case 1:
$op1=$operacion->Iniciar($_SESSION['nombre'],$_SESSION['clave'],$_SESSION['correo']);
break;
case 2:
$op2=$operacion->registrar($_SESSION['nombre'],$_SESSION['clave'],$_SESSION['correo']);
break;
case 3:
$op3=$operacion->Cerrar($_SESSION['nombre'],$_SESSION['clave'],$_SESSION['correo']);
break;
}
echo "<br>
<br>
<a href='opcion.php'>Ir al principio</a>";
}
else
{
echo "<br>
<br>
<a href='siguiente.php'>Lo sentimos su correo, clave y contrasenia son incorrectos...</a>";
}
?>
<html>
<?php
session_start();
class Operacion {
var $Fecha;
var $Numero;
function iniciar($fecha,$numero){
echo "<br> Registrar <br>";
$this->Fecha=$fecha;
$this->Numero=$numero;
echo "<br> la fecha es : ".$this->Fecha." el umero de veces es ".$this->Numero;
}
}
$operacion= new Operacion(" Registrar <br>");
switch($opc)
{
case 1:
$op1=$operacion->iniciar(time(),$_SESSION['c']);
break;
}
?>
<html>
<head>
<title>Variables de sesion</title>
<meta http-equiv="Content-Type" Content="text/html; charset=UTF-8">
</head>
<body>
<?php
echo "Nombre de usuario :".$_SESSION['nombre'];
echo "<br><br>";
echo "La fecha :".date("c");
echo "<br><br>";
echo "Numero de intentos :".$_SESSION['c'];
if (isset($_SESSION["c"])) {
$_SESSION["c"]++;
}
else {
$_SESSION["c"]=1;
}
$contar=$_SESSION["c"];
echo "<br>
<br>
<a href='opcion.php'>Regresar al principio</a>";
?>
CATEDRATICO Ing Juan Espinoza.
MENU PRINCIPAL.
<?php
echo "<html>
<head><title>Suma</title>
<style type='text/css'>
[required]{
border-color:red;
box-shadow:0px 0px 5px black;
}
</style>
</head>
<body bgcolor='IVORY' text='BLACK'>
<>
<h1> Escoja la opcion que desee </h1>
<h3>1 2 3<h3>
<table border=2>
<form action='operaciones.php' method='POST'>
<tr><td>Ingrese la opcion : </td>
<td><input name='opcion' required></td>
</tr>
<tr><td>Ingrese el correo : </td>
<td><input name='cor' required></td>
</tr>
<tr><td>Ingrese el nombre : </td>
<td><input name='nom' required></td>
</tr>
<tr><td>Ingrese la clave : </td>
<td><input type='password' name='cla' required></td>
</tr>
<tr>
<tr><td><H3><input type='submit' value='Procesar' name='pro'></H3>
</tr>
</table>
</form>
</center>
</body>
</html>
?>
SI INICIA SESION CON SUS DATOS CORRECTOS MUESTRA ESTO.
<?php
session_start();
$_SESSION['nombre']=$_REQUEST['nom'];
$_SESSION['clave']=$_REQUEST['cla'];
$_SESSION['correo']=$_REQUEST['cor'];
if ($_SESSION['nombre']=="admin" && $_SESSION['correo']=="admin@admin.com" && $_SESSION['clave']=="admin")
{
$op = $_POST['opcion'];
echo "<head><body bgcolor='ivory' text='black'><center><h1>Prueba</h1>";
class Operacion {
var $Nombre;
var $Clave;
var $Correo;
function iniciar($nombre,$clave,$correo){
echo "<br> Inicializar <br>";
$this->Nombre=$nombre;
$this->Clave=$clave;
$this->Correo=$correo;
echo "<br> a inicializado : ".$this->Nombre." con la clave ".$this->Clave." y el correo ".$this->Correo;
}
function registrar($nombre,$clave,$correo){
echo "<br> Registrar <br>";
$this->Nombre=$nombre;
$this->Clave=$clave;
$this->Correo=$correo;
echo "<br> a registrado : ".$this->Nombre." su clave es ".$this->Clave." y su correo ".$this->Correo;
}
function cerrar($nombre,$clave,$correo){
echo "<br> Cerrar <br>";
$this->Nombre=$nombre;
$this->Clave=$clave;
$this->Correo=$correo;
echo "<br> Cerro : ".$this->Nombre." con la clave ".$this->Clave." y el correo ".$this->Correo;
}
}
$operacion= new Operacion(" Opciones de Session <br>");
switch($op)
{
case 1:
$op1=$operacion->Iniciar($_SESSION['nombre'],$_SESSION['clave'],$_SESSION['correo']);
break;
case 2:
$op2=$operacion->registrar($_SESSION['nombre'],$_SESSION['clave'],$_SESSION['correo']);
break;
case 3:
$op3=$operacion->Cerrar($_SESSION['nombre'],$_SESSION['clave'],$_SESSION['correo']);
break;
}
echo "<br>
<br>
<a href='opcion.php'>Ir al principio</a>";
}
else
{
echo "<br>
<br>
<a href='siguiente.php'>Lo sentimos su correo, clave y contrasenia son incorrectos...</a>";
}
?>
Y SINO INICIA INCORRECTO MUESTRA ESTO
<html>
<?php
session_start();
class Operacion {
var $Fecha;
var $Numero;
function iniciar($fecha,$numero){
echo "<br> Registrar <br>";
$this->Fecha=$fecha;
$this->Numero=$numero;
echo "<br> la fecha es : ".$this->Fecha." el umero de veces es ".$this->Numero;
}
}
$operacion= new Operacion(" Registrar <br>");
switch($opc)
{
case 1:
$op1=$operacion->iniciar(time(),$_SESSION['c']);
break;
}
?>
<html>
<head>
<title>Variables de sesion</title>
<meta http-equiv="Content-Type" Content="text/html; charset=UTF-8">
</head>
<body>
<?php
echo "Nombre de usuario :".$_SESSION['nombre'];
echo "<br><br>";
echo "La fecha :".date("c");
echo "<br><br>";
echo "Numero de intentos :".$_SESSION['c'];
if (isset($_SESSION["c"])) {
$_SESSION["c"]++;
}
else {
$_SESSION["c"]=1;
}
$contar=$_SESSION["c"];
echo "<br>
<br>
<a href='opcion.php'>Regresar al principio</a>";
?>
DEBER 23
FRANCISCO MUNOZ
CATEDRATICO Ing Juan Espinoza.
<?php
echo "<FORM ACTION='OPERACION.php' method='POST'>";
ECHO "<H1>MENU</H1>";
echo "<H3>1)<input type='submit' value='suma' name='suma'></H3>";
echo "<H3>2)<input type='submit' value='resta' name='resta'></H3>";
echo "<h3>3)<input type='submit' value='multiplicacion' name='multi'></H3>";
echo "<H3>4)<input type='submit' value='divicion' name='divi'></H3>";
echo "</form>";
if( isset($_POST['suma']))
{
echo "<FORM ACTION='OPERACION.php' method='POST'>";
echo "<H3><input type='submit' value='sumar' name='sum'></H3>";
echo "</form>";
}
if( isset($_POST['resta']))
{
echo "<FORM ACTION='OPERACION.php' method='POST'>";
echo "<H3><input type='submit' value='restar' name='res'></H3>";
}
if( isset($_POST['multi']))
{
echo "<FORM ACTION='OPERACION.php' method='POST'>";
echo "<H3><input type='submit' value='multiplicar' name='mul'></H3>";
}
if( isset($_POST['divi']))
{
echo "<FORM ACTION='OPERACION.php' method='POST'>";
echo "<H3><input type='submit' value='dividir' name='div'></H3>";
}
?>
</html>
class calcula {
var $operacion;
var $numero1;
var $numero2;
var $resultado;
function sumar($xxnumero1,$xxnumero2) {
$this->resultado = $xxnumero1+$xxnumero2;
return $this->resultado;
}
function restar($xxnumero1,$xxnumero2) {
$this->resultado = $xxnumero1-$xxnumero2;
return $this->resultado;
}
function mult($xxnumero1,$xxnumero2) {
$this->resultado = $xxnumero1*$xxnumero2;
return $this->resultado;
}
function dividir($xxnumero1,$xxnumero2) {
$this->resultado = $xxnumero1/$xxnumero2;
return $this->resultado;
}
}
?>
<?php
include('MENU.php');
?>
<form name="form1" method="post" action="">
<p>
<label>
<input type="text" name="numero1" id="MENU.php">
</label>
<BR>
<label>
<select name="operacion" id="operacion">
<option value="x">X</option>
<option value="/">/</option>
<option value="-">-</option>
<option value="+">+</option>
</select>
</label>
<p>
<label>
<input type="text" name="numero2" id="numero2">
</label>
</p>
<p>
<label>
<input type="submit" name="ok" id="ok" value="Calcular">
</label>
</p>
</form>
if(isset($_POST['ok'])) {
$num1 = $_POST['numero1'];
$num2 = $_POST['numero2'];
$varcalcu = new calcula();
if(is_numeric($num1) && is_numeric($num2)) {
switch ($_POST['operacion']) { /
case "+":
$varcalcu->sumar($num1,$num2);
break;
case "-":
$varcalcu->restar($num1,$num2);
break;
case "x":
$varcalcu->mult($num1,$num2);
break;
case "/":
$varcalcu->dividir($num1,$num2);
break;
}
echo $varcalcu->resultado;
} else {
echo"Los valores de los numeros deben ser númericos!";
}
}
?>
CATEDRATICO Ing Juan Espinoza.
SUMAR, RESTAR, MULTIPLICAR, DIVIDIR CON CLASES
MENU.PHP
<html><?php
echo "<FORM ACTION='OPERACION.php' method='POST'>";
ECHO "<H1>MENU</H1>";
echo "<H3>1)<input type='submit' value='suma' name='suma'></H3>";
echo "<H3>2)<input type='submit' value='resta' name='resta'></H3>";
echo "<h3>3)<input type='submit' value='multiplicacion' name='multi'></H3>";
echo "<H3>4)<input type='submit' value='divicion' name='divi'></H3>";
echo "</form>";
if( isset($_POST['suma']))
{
echo "<FORM ACTION='OPERACION.php' method='POST'>";
echo "<H3><input type='submit' value='sumar' name='sum'></H3>";
echo "</form>";
}
if( isset($_POST['resta']))
{
echo "<FORM ACTION='OPERACION.php' method='POST'>";
echo "<H3><input type='submit' value='restar' name='res'></H3>";
}
if( isset($_POST['multi']))
{
echo "<FORM ACTION='OPERACION.php' method='POST'>";
echo "<H3><input type='submit' value='multiplicar' name='mul'></H3>";
}
if( isset($_POST['divi']))
{
echo "<FORM ACTION='OPERACION.php' method='POST'>";
echo "<H3><input type='submit' value='dividir' name='div'></H3>";
}
?>
</html>
CLASE PRINCIPAL CALCULAR
OPERACION.PHP
<?phpclass calcula {
var $operacion;
var $numero1;
var $numero2;
var $resultado;
function sumar($xxnumero1,$xxnumero2) {
$this->resultado = $xxnumero1+$xxnumero2;
return $this->resultado;
}
function restar($xxnumero1,$xxnumero2) {
$this->resultado = $xxnumero1-$xxnumero2;
return $this->resultado;
}
function mult($xxnumero1,$xxnumero2) {
$this->resultado = $xxnumero1*$xxnumero2;
return $this->resultado;
}
function dividir($xxnumero1,$xxnumero2) {
$this->resultado = $xxnumero1/$xxnumero2;
return $this->resultado;
}
}
?>
<?php
include('MENU.php');
?>
<form name="form1" method="post" action="">
<p>
<label>
<input type="text" name="numero1" id="MENU.php">
</label>
<BR>
<label>
<select name="operacion" id="operacion">
<option value="x">X</option>
<option value="/">/</option>
<option value="-">-</option>
<option value="+">+</option>
</select>
</label>
<p>
<label>
<input type="text" name="numero2" id="numero2">
</label>
</p>
<p>
<label>
<input type="submit" name="ok" id="ok" value="Calcular">
</label>
</p>
</form>
AQUI LE VALIDO ANTES DE QUE REALIZE OPERACION
<?phpif(isset($_POST['ok'])) {
$num1 = $_POST['numero1'];
$num2 = $_POST['numero2'];
$varcalcu = new calcula();
if(is_numeric($num1) && is_numeric($num2)) {
switch ($_POST['operacion']) { /
case "+":
$varcalcu->sumar($num1,$num2);
break;
case "-":
$varcalcu->restar($num1,$num2);
break;
case "x":
$varcalcu->mult($num1,$num2);
break;
case "/":
$varcalcu->dividir($num1,$num2);
break;
}
echo $varcalcu->resultado;
} else {
echo"Los valores de los numeros deben ser númericos!";
}
}
?>
DEBER 22
FRANCISCO MUNOZ
CATEDRATICO Ing. Juan Espinoza
<head>
<title>TRANSPORTE</title>
</head>
<body bgcolor="black" text="orange">
<h1>
<?php
class TRANSPORTE
{
var $tipo;
var $modelo;
var $marca;
$this->modelo=$Modelo;
$this->marca=$Marca;
echo "A comenzado a moverse";
echo"<br>";
echo "Su auto modelo:"." ".$this->modelo;
echo"<br>";
echo "Su marca es:"." ".$this->marca;
}
function frenar($Modelo,$Marca){
$this->modelo=$Modelo;
$this->marca=$Marca;
echo"<br>";
echo "Su auto modelo:"." ".$this->modelo;
echo"<br>";
echo "Es de marca:"." ".$this->marca;
echo"<br>";
echo " Y se a detenido";
}
function transporte($tipo){
$this->Tipo=$tipo;
echo"Su tipo de transporte es :". $this->Tipo;
}
}
var $otrotrans;
function otroMedio($Otrotrans){
$this->otromedio=$Otrotrans;
echo "Otro tipo de trasnporte es :". $this->otromedio;
}
}
$transporte=new Transporte('AUTO');
echo"<br>";
$auto= $transporte->acelerar('2002','MAZDA');
echo"<br>";
$auto= $transporte->frenar('2002','MAZDA');
echo "<br>";
$otrotrans=new otroTpt();
ECHO"<BR>";
$caballo=$otrotrans->otromedio('CABALLO');
ECHO"<BR>";
//$caballo=$otrotrans;
?>
</body>
</html>
CATEDRATICO Ing. Juan Espinoza
CLASE TRANSPORTE
<html><head>
<title>TRANSPORTE</title>
</head>
<body bgcolor="black" text="orange">
<h1>
<?php
class TRANSPORTE
{
var $tipo;
var $modelo;
var $marca;
//METODOS=FUNCTION
function acelerar($Modelo, $Marca){$this->modelo=$Modelo;
$this->marca=$Marca;
echo "A comenzado a moverse";
echo"<br>";
echo "Su auto modelo:"." ".$this->modelo;
echo"<br>";
echo "Su marca es:"." ".$this->marca;
}
function frenar($Modelo,$Marca){
$this->modelo=$Modelo;
$this->marca=$Marca;
echo"<br>";
echo "Su auto modelo:"." ".$this->modelo;
echo"<br>";
echo "Es de marca:"." ".$this->marca;
echo"<br>";
echo " Y se a detenido";
}
function transporte($tipo){
$this->Tipo=$tipo;
echo"Su tipo de transporte es :". $this->Tipo;
}
}
//SUBCLASE otrotpt
class otrotpt extends TRANSPORTE{var $otrotrans;
function otroMedio($Otrotrans){
$this->otromedio=$Otrotrans;
echo "Otro tipo de trasnporte es :". $this->otromedio;
}
}
$transporte=new Transporte('AUTO');
echo"<br>";
$auto= $transporte->acelerar('2002','MAZDA');
echo"<br>";
$auto= $transporte->frenar('2002','MAZDA');
echo "<br>";
$otrotrans=new otroTpt();
ECHO"<BR>";
$caballo=$otrotrans->otromedio('CABALLO');
ECHO"<BR>";
//$caballo=$otrotrans;
?>
</body>
</html>
jueves, 5 de diciembre de 2013
DEBER 21
FRANCISCO MUNOZ
CATEDRATICO Ing Juan Espinoza
HERENCIAS (EXTENDS)
<html>
<head>
<title>TRANSPORTE</title>
</head>
<body bgcolor="black" text="orange">
<h1>
<?php
class TRANSPORTE
{
var $tipo;
var $modelo;
var $marca;
function acelerar($Modelo, $Marca){
$this->modelo=$Modelo;
$this->marca=$Marca;
echo "A comenzado a moverse";
echo"<br>";
echo "Su auto modelo:"." ".$this->modelo;
echo"<br>";
echo "Su marca es:"." ".$this->marca;
}
function frenar($Modelo,$Marca){
$this->modelo=$Modelo;
$this->marca=$Marca;
echo"<br>";
echo "Su auto modelo:"." ".$this->modelo;
echo"<br>";
echo "Es de marca:"." ".$this->marca;
echo"<br>";
echo " Y se a detenido";
}
function transporte($tipo){
$this->Tipo=$tipo;
echo"Su tipo de transporte es :". $this->Tipo;
}
}
class otrotpt extends TRANSPORTE{
var $otrotrans;
function otroMedio($Otrotrans){
$this->otromedio=$Otrotrans;
echo "Otro tipo de trasnporte es :". $this->otromedio;
}
}
$transporte=new Transporte('AUTO');
echo"<br>";
$auto= $transporte->acelerar('2002','MAZDA');
echo"<br>";
$auto= $transporte->frenar('2002','MAZDA');
echo "<br>";
$otrotrans=new otroTpt();
ECHO"<BR>";
$caballo=$otrotrans->otromedio('CABALLO');
ECHO"<BR>";
//$caballo=$otrotrans;
?>
</body>
</html>
miércoles, 4 de diciembre de 2013
DEBER 20
FRANCISCO MUNOZ
CATEDRATICO Ing.Juan Espinoza
CATEDRATICO Ing.Juan Espinoza
EJEMPLO DE CLASES Y OBJETOS
<?php
class ANIMAL
{
var $tipo;
var $habitat;
var $alimento;
function nacer(){
echo "A comenzado a nacer";
}
function crecer(){
echo "A crecido";
}
function reproducir(){
echo"Se ha reproducido";
}
function morir(){
echo"A muerto";
}
function animal($tipo){
$this->TIPO=$tipo;
echo"Su tipo es :". $this->TIPO;
}
function animal1($habitat){
$this->HABITAT=$habitat;
echo"Su habitat :". $this->HABITAT;
}
function animal2($alimento){
$this->ALIMENTO=$alimento;
echo"Su alimento es :". $this->alimento;
}
}
$animal=new Animal('MAMIFERO');
echo"<br>";
$animal1=new Animal('EN CAUTIVERIO');
echo"<br>";
$animal2=new Animal('CARNE CRUDA');
echo"<br>";
$gato= $animal->nacer();
echo"<br>";
$gato= $animal->crecer();
echo"<br>";
$gato= $animal->reproducir();
echo"<br>";
$gato= $animal->morir();
?>
DEBER 19
FRANCISCO MUNOZ
CATEDRATICO. Ing. Juan Espinoza
....
... definición de variables y/o propiedades....
....
.. constructor (opcional)...
....
.. destructor (opcional)...
....
.. definición de métodos o funciones ...
....}
La palabra reservada class es obligatoria y ha de ir seguida de un nombre mediante el que será identificada la clase. La definición de la clase comienza con un llave de apertura ({) y acaba con una llave de cierre (}). Entre ambas llaves podemos incluir sus variables o propiedades y también sus métodos o funciones.
CATEDRATICO. Ing. Juan Espinoza
QUE SON CLASES
Una clase no es otra cosa que una especie de plantilla dentro de la cual se pueden definir una serie de variables llamadaspropiedades –que pueden contener valores predefinidos– y un conjunto de funciones denominadas métodos que pueden ser invocadasdesde cualquier parte del documento por un objeto o instancia de esa clase.
La sintaxis que permite definir una clase es siguiente:
class nombre {....
... definición de variables y/o propiedades....
....
.. constructor (opcional)...
....
.. destructor (opcional)...
....
.. definición de métodos o funciones ...
....}
La palabra reservada class es obligatoria y ha de ir seguida de un nombre mediante el que será identificada la clase. La definición de la clase comienza con un llave de apertura ({) y acaba con una llave de cierre (}). Entre ambas llaves podemos incluir sus variables o propiedades y también sus métodos o funciones.
A las variables o propiedades pueden serles asignados valores, aunque no es imprescindible hacerlo. Los métodos o funcionestienen una sintaxis muy similar a la utilizada en la programación estructurada.
Entre los métodos o funciones susceptibles de ser incluidos en una clase existen dos bastante especiales. Son los llamadosconstructor y destructor. Ninguno de ellos tiene carácter obligatorio. Su peculiaridad estriba en que se ejecutan de forma automática en determinadas circunstancias. Hablaremos de ellas un poco más adelante.
DEFINICION DE LAS PROPIEDADES
Para definir una variable o propiedad en una clase es obligatorio anteponer a su nombre una de estas tres palabras reservadas:public, private o protected. Por compabilidad con versiones anteriores de PHP si se usa la palabra var será interpretada como un alias depublic. El nombre de la variable utiliza la sintaxis habitual de PHP y en el caso de que tratemos de asignarle un valor, bastará con poner detrás del nombre el signo = seguido de ese valor que en el caso de ser una cadena tienen que ir entre comillas.
A modo de ejemplo podemos decir que public $pepe="Jose" es una sintaxis válida, pero que $pepe="Jose" no lo es dado que le falta la palabra reservada (opción de visibilidad) que obligatoriamente debe llevar delante de su nombre y que de no ser incluida provocaría un error.
Lo que se conoce como encapsulamiento es uno de los pilares básicos de la Programación Orientada a Objetos. Permite establecer las condiciones y/o restricciones de visibilidad de los diferentes elementos (propiedades y métodos) de una clase. Cuando al definir una variable o propiedad anteponemos a su nombre la palabra public estamos estableciendo ese carácter público de visibilidad que significa que sus valores pueden ser vistos e incluso modificados desde cualquier parte del script en que sean invocadas.
Por el contrario, si establecemos la visibilidad como private (privada) estamos encapsulando la información de forma que sus valores sólo son accesibles a través de métodos o propiedades incluidos en la propia clase. La tercera de las posibilidades, protected (protegida), flexibiliza un poco la condición private al permitir que el método o propiedad sea ser visible desde la propia clase y desde sus clases extendidas (las trataremos un poco más adelante cuando nos refiramos a la herencia).
FUNCIONES O METODOS DE UNA CLASE
Los métodos o funciones definidas en las clases que tienen una sintaxis casi idéntica al resto de las funciones PHP
function nombre( ){
... instrucciones....
....}
... instrucciones....
....}
Las diferencias más sustanciales respecto a las funciones de la programación estructurada son:
- – Los métodos siguen los mismos criterios de encapsulamiento que hemos comentado al hablar de las propiedades. Se establecen anteponiendo a la palabra function una de las tres palabras public, private o protected aunque en este caso si se omite no se genera error sino que el método es considerado como public.
- – Siempre que desde un método se invoque una variable o propiedad definida en la misma clase ha de hacerse mediante la sintaxis: $this ->propiedad.
- – Los métodos de la propia clase se invocan de esta forma: $this->nombre_de_la_funcion(). Como es lógico dentro del paréntesis pueden incluirse los parámetros o argumentos que sean necesarios.
Prestemos mucha atención. El $ va siempre delante de la palabra this y solo se escribe una vez y en esa posición. El nombre de la variable (que va siempre después de -> no lleva el $.
Este es un ejemplo de una clase muy sencilla. Como ves el nombre de la clase es MiClase. Como es lógico, si tratas de ejecutar el ejemplo no obtendrás ningún resultado. Será necesario que un objeto utilice esta clase.
<?php class MiClase{ public $factor1=7; // esta es pública private $factor2=8; // variable privada protected $factor3=3; // variable protegida function calcula($a=3,$b=5){ // al no indicar visibilidad será public return $this->factor1-$b^2+$this->factor2*$a-$this->factor3; } } ?>
QUE SON LOS OBJETOS
Las clases son solo plantillas y sus métodos no serán ejecutados en tanto no exista un objeto que requiera su aplicación. Dicho en forma coloquial, una clase es como una sartén. En tanto no tengamos algo que freir carece de utilidad alguna. Su razón de ser son los objetos susceptibles de se cocinados por ella. Lo mismo ocurre con las clases cuya auténtica razón de ser es servir para la creación y manejo de sus objetos.
CREACION Y DESTRUCCION DE OBJETOS
Para crear un nuevo objeto (instancia de la clase) que utilice una clase determinada debemos usar la siguiente sintaxis:$objeto = new clasedonde objeto es una palabra cualquiera con la que identificar el objeto (como si se tratara de una variable), new es una palabra reservada obligatoria y clase es el nombre de una clase que puede estar escrita en el mismo documento o en un fichero externo. Si la clase está escrita en un documento distinto del que contiene el script que crea el objeto habremos de utilizar include o require para incluirla.¡Cuidado! Fíjate que por el momento no hemos puesto los () requeridos para invocar las funcionesdetrás del nombre de la clase.Cuando se trata de eliminar un objeto (liberar el área de memoria que contiene toda la información relativa a este) podemos utilizar la siguiente sintaxis:$objeto = null o unset(objeto )si bien es cierto que se destruyen de forma automática una vez termina la ejecución del script que los crea y utiliza.
UTILIZACION DE LOS OBJETOS
Una vez creado un objeto ya se podrán utilizar (si su visibilidad lo permite) y modificar sus propiedades y también las funciones o métodos de su clase. Los métodos se invocan mediante la siguiente sintaxis:
$objeto->funcion()
o
$objeto->funcion(p,q)
o
$objeto->funcion(p)
o
$objeto->funcion(p,q)
o
$objeto->funcion(p)
dónde $objeto es el objeto creado en la instrucción anterior, el -> es obligatorio, funcion es el nombre de uno de los métodos o funciones definidos en la clase invocada y donde los () son obligatorios y además –como ocurría en las demás funciones PHP– puede contener valores, variables, etcétera separadas por comas.
Las propiedades (siempre que su visibilidad lo permita) son accesibles mediante:
$objeto->propiedad
o
$objeto->propiedad=valor
o
$objeto->propiedad=valor
En el primer caso estaríamos leyendo el valor de esa propiedad y en el segundo le estaríamos asignando el incluido después del signo igual.
EJEMPLO
<?php /* incluimos el fichero que contiene la clase que pretendemos utilizar */ include('ejemplo299.php'); /* creamos un objeto utilizando el nombre exacto de la clase*/ $MiObjeto1=new MiClase; //no lleva paréntesis /* leeremos los valores de las propiedades */ print "<br />Valor por defecto de la propiedad factor1: "; /* solo podremos leer desde aquí la propiedad publica factor1 Las propiedades privadas y protegidas solo son accesibles desde la propia clase y aquí estamos haciendo desde uno objeto que la instancia */ print $MiObjeto1->factor1; print "<br />Aplicación del método calcula "; print "<br />No pasamos argumentos. Por tanto calcula con 'a'=3 y 'b'=5: "; print $MiObjeto1->calcula(); print "<br />Pasamos 15 como argumento por tanto calcula con 'a'=15 y 'b'=5: "; print $MiObjeto1->calcula(15); print "<br />Pasamos 125 y -98 como argumentos por tanto calcula con 'a'=125 y 'b'=98: "; print $MiObjeto1->calcula(125,-98); /* solo podemos modificar desde aquí la propiedad factor1. Las otras dos por su carácter privado y restringido solo podrían ser modificadas desde dentro de la propia clase o de una clase extendida */ print "<br />Modificamos el valor de la propiedad factor1: "; $MiObjeto1->factor1=196; print$MiObjeto1->factor1; print "<br />Cálculo con los nuevos valores por defecto: "; print $MiObjeto1->calcula(); print "<br />Cálculo con nuevos valores por defecto pero asignando a 'a' el valor 25: "; print $MiObjeto1->calcula(25); print "<br />Cálculo con nuevos valores por defecto con 'a'=15 y 'b'=-8: "; print$MiObjeto1->calcula(15,-8); /* creamos un nuevo objeto y comprobamos que la modificación de la propiedad factor1 no afectará al nuevo objeto (la modificación se hizo en el objeto anterior no en la clase) */ $MiObjeto2=new MiClase; print "<br />Cálculo con valores por defecto del nuevo objeto: "; print $MiObjeto2->calcula(); print "<br />Cálculo con valores por defecto del objeto anterior: "; print $MiObjeto1->calcula(); /* destruimos el primero de los objetos aunque no sea necesario hacerlo. Al finalizar el script se destruiría de forma automática */ $MiObjeto1=null; ?>
BIBLIOGRAFIA
http://www.rinconastur.com/php/php87.php
Suscribirse a:
Entradas (Atom)
link_identifier
no se especifica, se usará el último enlace abierto.