Hola que tal, hoy vamos a ver sobre las clases en PHP. En la parte de abajo estara el ejemplo el cual podan descargar….
Que es una Clase en PHP?
Una clase en programación es un esquema/modelo o plantilla para crear variables (objetos) basados en ella, básicamente es un conjunto de variables e instrucciones con un fin especifico, eso nos ayuda a tener una programación bastante ordenada, además que tiene otras opciones como la posibilidad de heredar sus propiedad y funciones a clases hijas para que estas las reutilicen o las redefinan. Es una colección de variables y funciones que trabajan con estas variables. Las variables se definen utilizando var y las funciones utilizando function.
De esta forma podemos accesar a sus variables y funciones:
<?php
class Student{
public $nombre; //Se puede accesar desde el Objeto
public $notas = array(); //Se puede Accesar desde el Objeto
private $promedio; //solo es usado dentro de la clase y no es heredable (protected si es heredable)
public function __construct($arg_nombre=»»,$arg_notas=array()) //funcion que se autoejecuta cuando defines un objeto, le puedes poner argumentos de inicialización, por defecto todo es vacio
{
$this->nombre=$arg_nombre; //ponemos el argumento pasado cuando defines el objeto
$this->notas=$arg_notas;
}
public function promedio() //funcion que calcula el promedio, lo devuelve
{
$total=0;
foreach ($this->notas as $nota)
{
$total+=$nota; //acumulo las nota actual
}
$this->promedio=$total/4; //grabo el promedio de las 4 notas en la variable promedio, recuerde que las variables dentro de una clase se accesan con $this->
return $this->promedio; //retornamos el promedio
}
public function imprimir_notas() //imprime las notas en pantalla
{
$i=0;
foreach ($this->notas as $nota)
{
$i++;
echo «Nota $i es: $nota <br />»;
}
}
}
?>
Este seria el codigo en mi index.php, la clase se llama class_estudiante.php y se encuentra dentro de la carpeta /includes/
<?php
include(«./includes/class_estudiante.php»); //llamamos al archivo que contiene la clase
$miestudiante = new Student(«Wilsson»,array(10,15,16,20)); //Declaramos el Objeto con parametros que serán procesados por el construccior
$miestudiante->notas[3]=18; //la variable notas en la clase es publica, as que podemos manipularla directamente
$miestudiante->imprimir_notas(); //llamamos a la funcion que imprime las notas
echo «El promedio del estudiante <strong>» .$miestudiante->nombre. «</strong> es: «; //imprimos un mensaje con el nombre del estudiante
echo $miestudiante->promedio(); //llamamos a la funcion que imprime las notas una por una
?>
Debe imprimir lo siguiente:
Nota 1 es: 10
Nota 2 es: 15
Nota 3 es: 16
Nota 4 es: 18
El promedio del estudiante Wilsson es: 14.75
Como pueden ver, si la variable es publica se puede manipular, ademas que si definimos un constructor se puede instanciar las variables en la llama, de no existir el constructor de la clase el codigo seria de la siguiente manera:
<?php
include(«./includes/class_estudiante.php»); //llamamos al archivo que contiene la clase
$miestudiante = new Student; //Declaramos el Objeto del tipo Student
$miestudiante->notas[0]=10;
$miestudiante->notas[1]=15;
$miestudiante->notas[2]=16;
$miestudiante->notas[3]=18; //la variable notas en la clase es publica, as que podemos manipularla directamente
$miestudiante->imprimir_notas(); //llamamos a la funcion que imprime las notas
echo «El promedio del estudiante <strong>» .$miestudiante->nombre. «</strong> es: «; //imprimos un mensaje con el nombre del estudiante
echo $miestudiante->promedio(); //llamamos a la funcion que imprime las notas una por una
?>