Escolar Documentos
Profissional Documentos
Cultura Documentos
PHP NIVEL 4
OBJETO
objeto.
diferente al objeto persona con cedula 1234. Para este caso el identificador
de un objeto normalmente está oculta a los usuarios del mismo. Los datos
del objeto están disponibles solo para ser manipulados por los propios
CLASE
conjunto de objetos. Siempre que se realiza una instancia de una clase estamos
Debemos crear una clase antes de poder crear objetos (instancias) de esa
clase. Al crear un objeto de una clase, se dice que se crea una instancia de la
class <nombreClase> {
<Conjunto atributos>
<Conjunto métodos>
}
una clase. Las clases son una especie de molde de fábrica, en base al
valor dado sólo que para los objetos se hace a través de un método
llamado Constructor.
ATRIBUTO
un valor. Cada atributo está asociado a un tipo de dato, que puede ser
public
protected.
METODO
convención.
<?php
// DEFINICION DE LA CLASE
class Producto {
//DEFINICION DE LOS ATRIBUTOS
private $titulo;
private $precio;
//DEFINICION DE LOS METODOS
public function verTitulo(){
return $this->titulo;
}
public function verPrecio(){
return $this->precio;
}
}
?>
<?php
class Producto {
private $titulo;
private $precio;
/*constructor con los parámetros correspondiente a los
atributos que posee la clase */
function __construct($titulo, $precio) {
$this->titulo= $titulo;
$this->precio = $precio;
}
public function verTitulo(){
return $this->titulo;
}
public function verPrecio(){
return $this->precio;
}
}
?>
anteriormente. Es muy importante que esto quede claro, por lo tanto cada
siguiente código vamos a ver un ejemplo de esto, para ello tomamos como
$a = new NombreClase("Primero");
$b = new NombreClase("Segundo");
class NombreClase {
$atributo;
function metodo($param) {
$this->atributo = $param; // definiendo atributos
}
}
de la siguiente forma:
atributos de un objeto.
Para este ejercicio, vamos a definir una clase que se llama producto,
de la misma
siempre es Público.
HERENCIA
método heredado puede ser sustituido por uno propio si ambos tienen el
mismo nombre.
podremos ver como creamos una clase llamada SubClaseA que heredará
ClaseA.
Class ClaseA {
var $atributo1;
function operacion1(){ }
}
$x = new SubClaseA();
$x->operacion1();
$x->atributo1 = 100;
$x->operacion2();
$x->atributo2 = 200;
ni metodo2 ();
Para este ejercicio se hará uso del concepto de herencia es por ello
que se creara dos clases diferentes. Una clase padre, y una clase hija la
propiedad protected, utilizada cuando existe herencia para que las únicas
<?php
class Persona {
protected $nombre;
protected $apellido;
protected $cedula;
function __construct($nom, $ape) {
$this->nombre= $nom;
$this->apellido = $ape;
}
public function verNombre() {
return $this->nombre . " " . $this->apellido;
}
}
?>
<?php
include 'persona.php';
class Vendedor extends Persona{
protected $codVendedor;
protected $sueldo;
function __construct($nom,$ape,$cod, $suel) {
//se construye el constructor de la clase padre
parent::__construct($nom, $ape);
//atributos de la clase hija
$this->codVendedor= $cod;
$this->sueldo = $suel;
}
public function verCodigo() {
return $this->codVendedor;
}
public function resumen(){
$resumen = "el nombre es ".$this->nombre." ".$this->apellido;
$resumen .=" su codigo es ".$this->codVendedor." y su sueldo es
".$this->sueldo;
return $resumen;
}
}
/*se instancia la clase, esto se pudiera hacer
en un archivo diferente */
$v = new Vendedor("maria","ruiz","123","v001","10000");
echo $v->resumen();
?>
EXCEPCIONES
información.
del programa que provoca que este no pueda continuar con normalidad.
siguientes:
Dentro del bloque try se insertará el código que puede provocar una
try {
// Codigo que puede lanzar excepciones
}
catch ( Exception $excepcion )
{
// Código para controlar la excepcion
}
echo "esto sí que se ejecuta";
mysqli_connect("servidor","usuario","clave","baseDatos")
conexión con la base de datos, después clave para ese usuario y por
Para este ejercicio se debe crear una base de datos con una tabla
que se desea realizar y para este caso será una selección de datos usando
el SELECT.
conexion.php
<?php
class conexion{
public $server; //IP del servidor
public $base ; //Nombre de la base de datos
public $usuario;//usuario mysql
public $password;//password de usuario mysql
public $link;
function __construct(){
$this->server = "localhost";
$this->usuario = "root";
$this->password = "";
$this->base = "php4";
$this->link=mysqli_connect($this->server,$this->usuario,$this-
>password,$this->base); }
public function ejecutar($sql){
$x =mysqli_query($this->link,$sql);
return $x;
}
}
?>
ser incluido para poder instanciar la clase, y así hacer uso de los métodos
de la misma.
<?php
include 'conexion.php';
/*se instancia la clase*/
$conex = new conexion();
$sql = "select * from animal";
$x= $conex->ejecutar($sql);
while ($vec = mysqli_fetch_array($x)){
print "nombre ". $vec[0].$vec[1]. "<br>" ;
}
?>
en el servidor, de esta forma vamos a poder hacer uso de todas sus clases
<?php
require_once ('jpgraph/src/jpgraph.php');
require_once ('jpgraph/src/jpgraph_bar.php');
// Se define el array de datos
$datosy=array(25,16,24,5,8,31);
// Creamos el grafico tamaño ancho y alto
$grafico = new Graph(900,250);
$grafico->SetScale('textlin');
// Ajustamos los margenes del grafico----- (left,right,top,bottom)
$grafico->SetMargin(40,30,30,40);
// Creamos barras de datos a partir del array de datos
$bplot = new BarPlot($datosy);
// Configuramos color de las barras
$bplot->SetFillColor('#479CC9');
// Queremos mostrar el valor numerico de la barra
$bplot->value->Show();
//Añadimos barra de datos al grafico
$grafico->Add($bplot);
// Configuracion de los titulos
$grafico->title->Set('Mi primer grafico de barras');
$grafico->xaxis->title->Set('Titulo eje X');
$grafico->yaxis->title->Set('Titulo eje Y');
$grafico->title->SetFont(FF_FONT1,FS_BOLD);
$grafico->yaxis->title->SetFont(FF_FONT1,FS_BOLD);
$grafico->xaxis->title->SetFont(FF_FONT1,FS_BOLD);
// Se muestra el grafico
$grafico->Stroke();
?>
<?php
require_once ("jpgraph/src/jpgraph.php");
require_once ("jpgraph/src/jpgraph_pie.php");
// Se define el array de valores y el array de la leyenda
$datos = array(40,60,21,33);
$leyenda = array("chocolate","vainilla","fresa","mantecado");
//Definimos el titulo
$grafico->title->Set("Mi primer grafico de torta");
$grafico->title->SetFont(FF_FONT1,FS_BOLD);
REPORTE PDF
<?php
require('../fpdf.php');
class PDF extends FPDF{
function Header()//Cabecera de página
{
$this->Image('logo_pb.png',10,8,33);//Logo
$this->SetFont('Arial','B',15);//Arial bold 15
$this->Cell(80);//Movernos a la derecha
$this->Cell(30,10,'Title',1,0,'C');//Título
$this->Ln(20);//Salto de línea
}
function Footer()//Pie de página
{
$this->SetY(-15);//Posición: a 1,5 cm del final
$this->SetFont('Arial','I',8);//Arial italic 8
//Número de página
$this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'C');
}
}
$pdf=new PDF();//Creación del objeto de la clase heredada
$pdf->AliasNbPages();
$pdf->AddPage();
$pdf->SetFont('Times','',12);
for($i=1;$i<=40;$i++)
$pdf->Cell(0,10,'Imprimiendo línea número '.$i,0,1);
$pdf->Output();
?>