Академический Документы
Профессиональный Документы
Культура Документы
2. Qu es Paradigma de la Programacin?
Un paradigma de programacin es una propuesta tecnolgica adoptada por
una comunidad de programadores y desarrolladores cuyo ncleo central es
incuestionable en cuanto que nicamente trata de resolver uno o varios
problemas claramente delimitados
Lexico Smalltalk
Lisp SuperCollider
5.2. Desventajas
Cambio en la forma de pensar de la programacin tradicional a la
orientada a objetos.
La ejecucin de programas orientados a objetos es ms lenta.
La necesidad de utilizar bibliotecas de clases obliga a su
aprendizaje y entrenamiento.
6. Qu es PHP?
PHP, siglas en ingls de Personal Home Page (pgina personal), es
un lenguaje de programacin de propsito general de cdigo del lado del
servidor originalmente diseado para el desarrollo web de contenido
dinmico.
Fue uno de los primeros lenguajes de programacin del lado del servidor que
se podan incorporar directamente en el documento HTML en lugar de llamar
a un archivo externo que procese los datos.
7. Historia de PHP
Fue originalmente diseado en Perl, con base en la escritura de un grupo
de CGI binarios escritos en el lenguaje C por el programador dans-
canadiense Rasmus Lerdorf en el ao 1994 para mostrar su currculum
vtae y guardar ciertos datos, como la cantidad de trfico que su pgina web
reciba. El 8 de junio de 1995 fue publicado "Personal Home Page Tools"
despus de que Lerdorf lo combinara con su propio Form Interpreter para
crear PHP/FI.
En mayo del 2000, PHP 4 se lanz bajo el poder del motor Zend 1.0. El 13
de julio del 2007 se anunci la suspensin del soporte y desarrollo de la
versin 4 de PHP, y, a pesar de lo anunciado, se ha liberado una nueva
versin con mejoras de seguridad, la 4.4.8, publicada el 13 de enero del 2008,
y posteriormente la versin 4.4.9, publicada el 7 de agosto del 2008.
Segn esta noticia, se le dio soporte a fallos crticos hasta el 9 de agosto del
2008.
El 13 de julio del 2004, se lanz PHP 5, utilizando el motor Zend Engine 2.0
(o Zend Engine 2).
8.2. Desventajas.
Como es un lenguaje que se interpreta en ejecucin, para ciertos usos
puede resultar un inconveniente que el cdigo fuente no pueda ser
ocultado. La ofuscacin es una tcnica que puede dificultar la lectura del
cdigo pero no necesariamente impide que el cdigo sea examinado.
<? php
class Coche {
public $marca;
public $modelo;
public $velocidad = 0;
public function poner_en_marcha($nueva_velocidad)
{
$this->velocidad = $nueva_velocidad;
}
public function leer_velocidad()
{
return $this->velocidad;
}
}
?>
<? php
// Definimos la clase
class Coche {
// Atributos
public $color;
public $modelo = "BMW Generico";
public $velocidad;
//Mtodos
public function getColor () {
// Con el operador $this le decimos que busque el
atributo color en esta clase
return $this->color;
}
public function setColor($color) {
$this->color = $color;
}
Hemos definido la clase coche con sus atributos y sus mtodos que modifican
los valores de los atributos, ahora vamos a utilizar esta clase para crear un
coche:
<? php
function saludar($nombre) {
echo "Hola $nombre";
}
saludar('Fernando');
?>
Esto devolver por pantalla:
Hola Fernando
unset
unset nos sirve para eliminar una propiedad de la clase y se llama cuando
ejecutamos:
Esto eliminar del array de $propeties la variable que se le enva en este caso
el nombre:
Esto hace que cuando se llame al objeto como si fuera un string, como por
ejemplo usando echo, el objeto devolver lo que se defina en __toString().
5. sleep() y wakeup()
El mtodo serialize() es una forma de guardar una representacin de un
objeto. Por ejemplo, si guardamos un objeto en la base de datos, primero
tendramos que serializarlo, guardarlo, y despus si lo quisiramos de vuelta
tendramos que usar unserialize().
El mtodo ___sleep()_ permite definir qu propiedades del objeto deberan
serializarse ya que probablemente no quieras serializar cualquier objeto externo
que no sea relevante en el momento de usar unserialize().
Por ejemplo, creamos un nuevo objeto en el que necesitamos determinar una
conexin a una base de datos:
6. call() y callStatic()
El mtodo ___call()_ se activa cuando se intenta llamar a un mtodo que no es
accesible pblicamente. Si tenemos un array de datos en el objeto que queremos
mutar antes de devolver:
Para crear una copia del objeto independiente una de otra se usa clone:
Para solucionar este problema podemos usar el mtodo ___clone() para clonar
tambin cualquier objeto inyectado cuando se use la clonacin con clone_:
8. __invoke()
El mtodo mgico ___invoke()_ permite usar un objeto como si fuera una
funcin.
Ahora podremos usar un objeto Tweet como callable:
19.1. Constructores
Un mtodo constructor de una clase es un mtodo especial que tiene el
mismo nombre que la clase y no tiene tipo de retorno.
Ejemplo:
class Producto{
private int clave;
private double precio;
public Producto( int c, double p){
clave = c;
precio = p;
}
public double daPrecio( ){
return precio;
}
}
19.2. Destructores
En contraposicin al constructor, el destructor elimina el vnculo y libera
el espacio de memoria de un objeto, para que pueda ser ocupado
nuevamente.
La sintaxis para declarar un destructor es:
[atributos] ~ <identificador> ()
{
// Cuerpo del destructor.
<?php
class MyDestructableClass {
function __construct() {
print "En el constructor\n";
$this->name = "MyDestructableClass";
}
function __destruct() {
print "Destruyendo " . $this->name . "\n";
}
}
$obj = new MyDestructableClass();
?>
class padre{
public function saluda () {
echo "Hola Mundo";
}
}
Y luego la extendemos a otra:
Podramos usar todos los mtodos y propiedades de la clase padre, pues han
sido heredados por la hija
Estos mdulos que se puedan compilar por separado, pero que tienen
conexiones con otros mdulos. Al igual que la encapsulacin, los lenguajes
soportan la Modularidad de diversas formas. El modularidad debe seguir los
conceptos de acoplamiento y cohesin.
<? php
namespace EspacioDeNombreUno;
function prueba () {
echo "Espacio Uno";
}
?>
<? php
namespace EspacioDeNombreDos;
function prueba () {
echo "Espacio Dos";
}
?>