Tag Archive for: clases

Profesor Pirata Bit torrent

Categories: Otros, videotutorial - Tags: ,

Si estás interesado en aprender más sobre el funciona de BitTorrent, la terminología, instalación y configuración de utorrent entre otras cosas puedes darle una ojeada a este sitio:

http://www.profesorpirata.com/

Allí encontrarás clases magistrales, videos, capturas de pantalla, sonido ecualizado y normalizado para escucharlo nítidamente, apuntes en formato PDF

Templates PHP parte 2

Categories: PHP - Tags: , , ,

En el post anterior hablé sobre los sistemas de templates y en especial de Smarty, la idea general es que no hace falta aprender un nuevo lenguaje de programación intermedio para las plantillas sino que con PHP puro es suficiente.

Yo considero que lo más importante es ser ordenado y de esta forma podemos separar la lógica de la programación del diseño.

Usando Savant 3

Lo que me gusta de este sistema de templates es que tiene las ventajas de Smarty sin sus problemas, en primer lugar nos ofrece las ventajas del uso de cache y sobre todo no exige que aprendamos un nuevo lenguaje de programación sino que usa nuestro PHP de siempre para mantener el esquema de programación MVC, lo pueden bajar AQUI

Uso de clases

Como dije antes ser ordenado permite separar la lógica de la programación del diseño, esto sumado al uso de clases y web modular. Veamos un ejemplo primero de lo que NO debemos hacer:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
$link = mysql_connect("localhost", "nobody"odigo">$link = mysql_connect("localhost", "nobody");
mysql_select_db("
mydb", $link);
$result = mysql_query("
SELECT nombre, email FROM agenda", $link);
echo "
<table border = '1'> \n";
echo "
<tr> \n";
echo "
<td><b>Nombre</b></td> \n";
echo "
<td><b>E-Mail</b></td> \n";
echo "
</tr> \n";
while ($row = mysql_fetch_row($result)){
echo "
<tr> \n";
echo "
<td>$row[0]</td> \n";
echo "
<td>$row[1]</td> \n";
echo "
</tr> \n";
}
echo "
</table> \n";
?>

Ese desastre esta bien como ejemplo o cuando recién empezamos con PHP, esa ensalada de código no le sirve de nada al diseñador, veamos como sería eso mismo pero separando la lógica del diseño:

1
2
3
4
5
6
7
8
9
10
11
12
<?php query_posts($query_string); ?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<div class="post">
<h2><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></h2>
<div class="entry">
   <?php the_content(); ?>
</div>
<p class="postmetadata">Posted in <?php the_category(', '); ?></p>
</div>
<?php endwhile; else: ?>
<p>Sorry, no posts matched your criteria.</p>
<?php endif; ?>

En este caso copiado de WordPress, que para mi es uno de los mejores en lo que refiere al uso de MVC, si abrimos el archivo usando Dreamweaver, el diseñador podrá editarlo sin problemas basta que respete la ubicacion de las condiciones if y el bucle while (tal como ocurriría con Smarty pero sin sus complicaciones).

La conexión de base de datos se coloca en un archivo config.inc.php por ejemplo, y el manejo de la conexión en si se hace mediante una clase destinada a dicho fin, también es posible mediante clases separarlo en una cabecera PHP con la creación del objeto y luego el código html:

1
2
3
4
5
6
7
8
9
10
11
12
<?php
///// no tocar /////
$noticia = new noticia();
if ($noticia->cuantos<=0) {
///// no tocar /////
?>
   <p><b>No se encontraron noticias</b></p>
<?php } else { for ($i=0; $i<$noticia->cuantos; $i++) { ?>
   <h2><?=$noticia->titulo?></h2>
   <p><span class="fecha"><?=$noticia->fecha?></span></p>
   <p><?=$noticia->texto?></p>
<?php } ?>

Con dejarle algunas indicaciones al diseñador que no debe tocar ciertas líneas, además de usar nombres muy claros para nuestra variables (titulo, fecha, texto, etc) le damos suficiente ayuda para que sepa que parte tocar y como organizarlo.

Clase PHP manejo base de datos

Categories: PHP - Tags: , ,

Cuando programamos en php, hay cosas que siempre hacemos una y otra vez, una de ellas es la conexión a la base de datos para eso es mejor usar clases que encarguen de esas tareas repetitivas y ademas permiten hacer un codigo estandar con una sola conexion.

Primero necesitamos un archivo para configurar la conexión de toda nuestra aplicación php
config.inc.php

1
2
3
4
5
6
<?php
define("_host", "localhost");
define("_user", "root");
define("_password", "");
define("_database", "mibasededatos");
?>

Luego en nuestros archivos incluimos la configuración y la conexion de base de datos:

1
2
3
4
<?php
include("config.inc.php");
include("mysql.class.php");
?>

Finalmente para usar la clase seria:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
/// Creamos el nuevo objeto de base de datos
$db = new MySQL();
/// Abrimos la conexión
$db->open();
/// Ejecutamos la consulta
$consulta = $db->consulta("SELECT * FROM news ORDER BY new_id DESC");
/// Finalmente un bucle para mostar datos
if ($row = $db->fetch_array($consulta)) {
do {
echo
$row['new_title'];
}while($row = $db->fetch_array($consulta));
}
?>

Puedes descargar la clase aqui