Php

[Manual - Codeigniter] Programando php en MVC con CodeIgniter [Parte 1]

Antes de empezar con este post, quiero ofrecer disculpas ya que no he sido constante en el blog, sin embargo cuando estén casados y esperando un bebe sabrán que hay cosas que son mas importantes jaja.
También déjenme comentarles que estoy planeando un cambio de diseño en el blog, algo que no modifique mucho la estructura pero que se vea elegante, esos son los planes a futuro, bueno ahora si pasemos al post.

A mi siempre me ha gusto programar directamente sin usar algún tipo de Framework
o algo similar (a excepción del Blog que uso WordPress), sin embargo ahora que estoy viendo como programar el proyecto empecé a buscar opciones que aligerarán mi carga de trabajo, pero a la vez que fuera muy flexible para meter código donde fuera necesario (claro de una manera ordenada).

Entonces empecé a buscar algún Framework que me satisficiera, pensé en Zend, en Smarty, Phpbb, Xtemplate, etc, sin embargo esta dudoso, como que una parte me decía que si y otra que no, entonces conocí a CodeIgniter, un Framework que si bien no es tan conocido como Zend o Symphony, si es muy potente y muy simple de usar y puede llegar a ser tan potente como los dos anteriores.

Ahora bien, me puse a investigar como instalar y como hacer mi !Hello Word!, así que aquí les pongo como le hice y como quedo.

[PASO:1]

Requisitos:

  • Tener php 4 o superior instalado
  • Base de datos MySQL(soporta otras)

[PASO:2]

  • Obtenemos CodeIgniter de la siguiente URL  http://codeigniter.com/download.php
  • Lo copiamos dentro de nuestra carpeta raíz de htdocs (en Apache)
  • Hay dos carpetas una se llama system y otra user_guide, además de otros archivos

[PASO:3]

  • Ahora procederemos a configurar nuestro CodeIgniter
  • Primero abrimos el siguiente archivo system/application/config/config.php y buscamos la línea $config['base_url'] = “http://localhost/CodeIgniter/”; en donde pondremos la ruta de nuestra carpeta que acabamos de descomprimir
  • Para conectar la base de datos hay que editar el archivo system/application/config/database.php en donde dice
  • $db['default']['hostname'] = “localhost”;

    $db['default']['username'] = “”;

    $db['default']['password'] = “”;

    $db['default']['database'] = “”;

    y Ahi colocamos los valores que usamos para conectarnos a nuestra base de datos.

[PASO:4] Ahora debes de entrar a la url que pusiste y te debe de aparecer el siguiente mensaje.

[PASO:5]
Ahora si entras a system/application veras muchas carpetas, las que nos interesan son las siguientes config, controlles, views y models.
Abrimos el archivo system/application/config/routes.php en donde buscaremos lo siguiente $route['default_controller'] = “welcome”; (esta en la línea 43 aproximadamente) esta la vamos a cambiar por el nombre de nuestro controlador que vamos a usar, su sintaxis es muy simple, debe de ser el nombre del archivo donde haremos el controlador, por ejemplo si nuestro archivo controlador se llamara test.php quedara así $route['default_controller'] = “test”; si el controlador se llamara delfines.php quedaría $route['default_controller'] = “delfines”;
Nota: Es muy importante lo anterior ya que toda la sintaxis que usa CodeIgniter sigue esta estructura
Ya que lo editamos cerramos ya abrimos el controlador, por default esta el controlador welcome, el cual recordemos que estaba por default dentro de routes.php, ahora creamos nuestro controlador con el nombre que deseemos, por ejemplo biblioteca.php, (recuerden cambiar en routes.php $route['default_controller'] = “welcome”; a $route['default_controller'] = “biblioteca”; )
Abrimos nuestro controlador y escribimos lo siguiente.


class Welcome extends Controller {

function Welcome()
{

parent::Controller();

}
function index()
{
echo "Hola Mundo";
}
}

Lo que tenemos en muy simple, creamos una clase la cual extiende de Controller con lo cual obtiene todos los métodos y propiedades de un controlador genérico de CodeIgniter, vemos el método Welcome, el cual es necesario ya que tu constructor local anularia al constructor de la clase padre Controller, por lo tanto necesitamos llamarlo manualmente. en el caso de php5 podemos optar por usar.


function __construct()
{
parent::Controller();
}

Es lo mismo.

Luego tenemos el método index, el cual se ejecuta cuando entremos al index.php(después del método constructor) y le decimos que escriba “Hola mundo”, si bien esto no tiene nada de MVC, es para ver que esta funcionando deberemos entrar a

http://localhost/codeigniter/biblioteca/

Y nos deberá arrojar “Hola Mundo”

Queda pendiente el ejemplo MVC completo, cualquier duda pueden preguntar, recuerden pueden empezar a probar para que vean como funciona.

Leer más

[Servicios] Servicio freelance de Programación en php

Como les había comentado anteriormente a veces es difícil conseguir un buen programador ya que muchos creen que por saber hacer un hola mundo ya conocen todo php y eso desafortunadamente no es así ya que php, si bien es un lenguaje muy flexible y fácil de aprender también es muy extenso y complejo.

Servicios de Programación Freelance

Servicios de Programación Freelance

Precisamente es ahí donde destaca Estudio dos, que se dedica ha ofrecer los siguientes servicios.

  • Programador PHP
  • Programación de gestores de contenido (CMS).
  • Modificaciones o mejoras en aplicaciones o webs en PHP.
  • Maquetación XHTML/CSS de un PSD o imagen con el diseño de su web a precio económico (desde 89 euros).

Si bien cualquier persona también nos puede ofrecer lo mismo, algo que es importante destacar es que también ofrece servicios de PSD o PNG a XHTML/CSS, lo cual son pocos los que ofrecen el mismo.

Claro los precios a mi me parecieron muy accesibles, también cuenta con mas de 4 años de experiencia algo que debemos recalcar, ya que con esa experiencia se pueden hacer muchas cosas.

En su pagina podemos ver un amplio portafolios con lo que les comento, por lo cual creo que es una buena opción de a considerar si de programación y/o maquetación se trata.

Pueden buscar mas información en : Estudio dos, Servicios de Programación y maquetación freelance

Leer más

[Aplicaciones Web] AjaXplorer, el manipulador de archivos con Php

Pues así es resulta que en Webintenta, me encontré con  una interesante aplicación web la cual es un completo gestor de archivos Open source, escrito en PHP.

Es bastante rápido, y bastante practico, a continuación listo las características platicadas en Webintenta.

  • Podemos realizar tanto sobre carpetas como archivos las siguientes acciones: renombrar, copiar, mover, eliminar, descargar.
  • Carga de archivos múltiples con barra de progreso.
  • Posibilidad de editar archivos de texto (con resaltado de sintaxis para JS, PHP, HTML, Java, SQL y PERL).
  • Las imágenes se pueden ver de antemano y en un pase de diapositivas.
  • Los archivos MP3 se pueden escuchar sin descargarlos.
  • Los vídeos de Flash también se pueden ver sin necesidad de descargarlos.
  • Los archivos ZIP pueden ser navegados y extraídos desde el propio gestor de archivos.
  • Sistema de favoritos para llegar a los archivos que uno desea de un modo más fácil.
  • Multilenguaje, con soporte para el español.
  • Búsqueda recursiva.
  • Entorno multi-usuario. El administrador puede crear nuevos usuarios y permite asignar los directorios y derechos a los usuarios.
  • Drag’n Drop, Atajos de teclado, Capacidad para seleccionar múltiples archivos / carpetas.

Lo que me gusto mucho fue sin duda el resaltado de sintaxis, el cual es rapido y bastante bueno ademas de que obviamente se puede descargar y usar libremente.

AjaXplorer Web based file browser

AjaXplorer Web based file browser

Me entere via | AjaXplorer: Gestor de archivos gratuito en PHP

Y la aplicación la puedne encontrar en  | Ajaxplorer

Leer más

[Twitter] Como postear en twitter con Php sin complicaciones

Se que casi no hablo de twitter pero me parece una herramienta bastante útil, sobre todo para los blogs.

Ahora propuse un proyecto en mi trabajo, en donde cada que alguien publique un anuncio clasificado, se envié dicho mensaje a Twitter, dada su potencialidad y su fama.

Pensé enviar los datos mediante curl, con su api, pero me encontré con un buen código por al red, con el cual podemos postear en Twitter sin necesidad de usar CURL, que es lo mas lógico, lo mas chido de este código es que es muy fácil de implementar y muy simple.

A continuación les pongo el código que me encontré como verán es muy simple.

/*---- créditos:http://www.ohmybug.com/ ----*/
$message = "Testeando cómo postear en twitter sin curl";
$url = "http://twitter.com/statuses/update.xml?";
$username = 'user';//usuario
$password = 'pass';//password
$params = "status=". rawurlencode($message);
$result = file_get_contents($url.$params , false, stream_context_create(array(
"http" => array(
"method" => "POST",
"header" => "Authorization: Basic ". base64_encode($username. ":". $password)
)
)));

Si se dan cuenta todo esto es posible gracias al uso del parámetro stream_context_create, de la función file_get_contents, en donde enviamos un array llamado en este caso http, usando el método post y un header con los datos de acceso.

Cabe destacar lo probé y funciona bastante bien, solo haría falta meterlo en una función o algo así, pero eso es extra.

Código encontrado en | Postear en twitter usando PHP

Leer más

[Php] Descarga y manual de Cake PHP 1.2

Haber si continuamos con el blog y para empezar a romper el hielo les platico esta entrada publicada en el blog de carlos leopoldo.

Se trata de el aviso que CakePHP 1.2 ha sido liberado y tal como comenta, este sistema se trata de un framework, con el cual podemos hacer maravillas sin tener que rompernos la cabeza con php.

CakePHP

CakePHP

Esta claro que para poder usarlo es necesario tener conocimientos en Php, html, Javascript, Css entre otros, pero solo nos centraremos en usar los componentes que estáne ya programados y listos para ello, por ejemplo con este framework podemos crear todo un sistema de publicación para un blog, claro que sin la potencia de Wordpres :-) pero es solo un ejemplo.

Lo interesante también es que hay un manual completamente en español, y esta muy fácil de seguir, yo personalmente no le he dado oportunidad a este framework(ni a smarty), por que siento el que código manual es mejor y muy potente, pero por si alguno de ustedes le interesa, aquí les dejo los datos de dicho framework.

Descarga de CakePHP 1.2 Aqui
Manual en español Aqui.
Pagina oficial CakePHP.

Via | Manual de CakePHP 1.2 y descarga versión final

Leer más

[Recursos] FlickrSearch, el buscador de imagenes en flickr

Leyendo un post en viciao2k3, me vengo enterando de este recurso, bastante importante para muchos, ya que aunque soy un explorador de sitios web, y tengo mi cuenta en flickr, aun no me he puesto ha usarlo al 100%, pero vamos a probar esto igual y me animo.

El buscador ha sido programado con Php, y usa el modelo smarty (separar vista y la lógica), usa también Jquery, ademas de usar obviamente la API  de Flickr.

Flickr Search

Flickr Search

Su instalación es bastante simple y sencilla.

  1. Descomprimir el fichero flickr-search.zip
  2. Subir la carpeta flickr-search a tu servidor
  3. Dar permisos 777 a la carpeta templates_c
  4. Poner tu API key de flickr

Para descargar el script, lo pueden bajar desde aquí: Flicksearch

Para mas información de este script, visiten la url del autor |Buscador completo de imagenes en flickr en php

Leer más

[Php] Cargando clases en Php 5 !!sin dolores de cabeza!!

Hasta hoy creo que voy a escribir algo sobre Php, una categoría que tenia algo de olvidada por este blog, y se trata de algo muy simple digamos que es un tip, es una forma de cargar clases en Php 5 sin hacer un relajo.

Les cuento a que viene el caso o la situación, estoy creando una clase en Php, para manejar unas cosas, sin embargo son 3 cosas diferentes, vamos, tendré que usar 3 clases diferentes, ya que se trata de cosas distintas, ahora bien, para usar una clase el php se haría de la siguiente forma.

< ?php
include ("clases/calcula.inc.php");
$calcula=new Calcula();
?>

El problema surge cuando deseamos utilizar varias clases, las cuales a veces por facilidad y por costumbre las almacenamos en archivos diferentes, el ejemplo se vería mas o menos de esta forma

< ?php
include ("clases/cacula.inc.php");
include ("clases/suma.inc.php");
include ("clases/resta.inc.php");
include ("clases/raiz.inc.php");
$calc=new Calcula();

$sum=new Suma();

$rest=new Resta();
?>

Esto DESAFORTUNADAMENTE se tendrá que hacer si tenemos php 4 en nuestro server, ya que si tenemos Php 5 podemos usar autoload, una función nativa de php5, como lo indica la documentacion de Php.

Puede definir una función __autoload la cual es llamada automáticamente en caso de que intente usar una clase que no ha sido definida aún. Al llamar esta función la ejecución del script da una última oportunidad de cargar la clase antes de que PHP falle con un error.

Aqui les pongo un ejemplo de como quedaría nuestro código anterior

< ?php

function __autoload($nombre_de_clase) {
require_once $nombre_de_clase . '.php';
}

$calc=new Calcula();

$sum=new Suma();

............
?>

Como vemos es muy simple, espero que les ayude, ya que a mi no me ayudara mucho, por que en uno de los servers donde haré esto usa php 4 :-( pues ya que, si a ti te sirvió coméntanos, como la usaste.

Mas información | Auto carga de Objetos

Leer más

Historico de entradas

febrero 2012
L M X J V S D
« ene    
 12345
6789101112
13141516171819
20212223242526
272829  

Ajaxman

Mi nombre es Javier, soy desarrollador web con especialización en PHP (avanzado), HTML, CSS y Javascript(Medio).

Me considero evangelizador de Kohana Framework, Mozilla Firefox y GNU/Linux Debian.

Estoy casado, y tengo dos hermosos hijos.

Todos los contenidos a menos que se exprese lo contrario estan bajo licencia Creative Commons.

Enlazanos!!

hit counters online counter