Foros del Web » Programando para Internet » PHP »

CodeIgniter Proyecto PHP

Estas en el tema de Proyecto PHP en el foro de PHP en Foros del Web. Hola foro. Se que es descarado de mi parte hacer una pregunta apenas me registro, pero me caería bien un poco de ayuda. No les ...
  #1 (permalink)  
Antiguo 27/05/2011, 15:02
 
Fecha de Ingreso: mayo-2011
Mensajes: 6
Antigüedad: 12 años, 10 meses
Puntos: 0
Pregunta Proyecto PHP

Hola foro.
Se que es descarado de mi parte hacer una pregunta apenas me registro, pero me caería bien un poco de ayuda.
No les pediré que hagan mi tarea (no soy tan desvergonzado ); lo que quisiera es que me sugirieran diferentes consejos, métodos y enfoques para realizar este proyecto.
A pesar de llevar un buen tiempo en la programación, soy algo nuevo en la programación Web, por lo que agradecería su ayuda y opiniones.
Describiré lo que tengo que hacer:

El programa:
Realizar un pequeño programa que emule un componente de una aplicación. Este
componente debe tener un administrador con control de acceso. La parte visual del componente deberá llamar a un URL según se indicara en la administración. El usuario deberá poder navegar por las diferentes pestañas del componente según utilice el mismo. La información a presentar al usuario se debe almacenar en una tabla de MySql.

Cada pestaña del componente trata un tema principal y dentro de cada tema se mostrara un titulo de un tema relacionado, mismo que será un link a un URL.

La UI (User interface):
La aplicación deberá imitar el ambiente grafico mostrado en la imagen. Este ambiente debe ser creado con CSS y deberá ser activado y/o asignado en el área administrativa.


Tecnologías que debo utilizar:
- PHP
- CodeIgniter //nunca he utilizado este framework, pero el proyecto requiere que lo haga
- HTML
- JavaScript
- JSon //tampoco he utilizado JSon, aunque si soy conocedor de XML
- CSS
- MySql

Pautas a tomar en cuenta:
  • Crear la estructura de la base de datos que sustentará el programa.
  • Para entrar al área de administración el usuario debe ser autenticado.
  • La clave del usuario, debe ser almacenada en la tabla utilizando MD5.
  • El UI debe ser creado utilizando CSS.
  • El UI debe tener 2 CSS uno asignado (el que será mostrado por defecto) y otro no asignado (estará guardado en una tabla o archivo, hasta que sea asignado).
  • El área administrativa debe tener una función que pueda cambiar al ambiente gráfico mediante la utilización de uno de los 2 CSS existentes. El primer CSS debe ser idéntico a lo que se muestra en la imagen y el segundo queda a mi gusto.
  • En la parte visual (lo que ve el usuario) cada pestaña tendrá información diferente, en el caso de la gráfica se está mostrando la pestaña “Literatura” que contiene, bibliografía sobre Juan Pablo Duarte, Porfirio Rubirosa, etc. Pero la pestaña “Historia” tiene información diferente.
  • Esta información de las pestañas y su contenido deberá ser alimentado en el área administrativa.
  • Cada pestaña tiene una imagen diferente.
  • La grafica deberá ser asignada a la pestaña en el área administrativa.
  • Cada información dentro de cada una de las pestañas llevara a un URL que será indicado al momento de almacenar la información de la pestaña en el área administrativa, por ejemplo donde dice “Cuentos de Juan Bosh” puede llevar a la página http://www.google.com y así sucesivamente con los demás ítems.
  • La parte de navegación del componente donde dice, “ver todas, por usuarios, etc. “no debe ser tomada en cuenta para la prueba.
------------------------------------------------------------------------------------------------------------

Algunas de las cosas que ya sé (o al menos creo saber):
  • Las pestañas son del lado del cliente, por lo que tengo que usar javascript. Se que sería más fácil hacerlo con JQuery, pero aún no me decido si usarlo o no (JQuery), porque nunca lo he utilizado, y no me gustaría que al hacerlo hiciera todo esto más complejo para mí.
  • Hace algún tiempo hice un CMS simple en PHP, para practicar (aunque nunca utilicé clases y objetos), así que se lo básico de la parte del contenido y control de acceso.
  • Creo tener la estructura adecuada de la base de datos ya planeada, pero no me importaría que me dieran un par de consejos con respecto a esto.
  • Creo que puedo arreglármelas creando los CSS, pero como acabo de decir, tomaré con gusto cualquier sugerencia, consejo o ejemplo.

Algunas de las cosas que me gustaría saber:
  • Cuáles son las cosas que tengo que considerar cuando hago un "componente" en lugar de una "página web".
  • Si tengo que usar clases PHP para esto (ya que dice "componente PHP" y no se si con componente se refiere simplemente a un script, o implica el uso de clases y objetos). Aunque estoy muy familiarizado con la programación orientada a objetos (tengo mucha experiencia en C++, Java, and .Net, pero no en ambiente web), nunca la he utilizado en PHP (se que necesito aprender a hacerlo ).
  • Si debería usar ajax, o recargar la pagina para cada pestaña.
  • Si deberia utilizar solamente un archivo PHP.
  • Dónde y para qué debería usar JSon (supongo que para utilizar ajax).
  • Sus metodos, opiniones y enfoques sobre este proyecto. Cualquier consejo o pista que puedan darme, será realmente apreciada .
  • Nunca he utilizado codeigniter, pero es uno de los requisitos para realizar este proyecto, por lo que agradecería si pudieran mencionarme funciones de codeigniter que me sirvieran para este propósito.
  • Detalles específicos. En realidad, con este post solicito consejos y sugerencias generales, pero sería genial que pudieran hablarme de detalles específicos como por ejemplo, funciones que debería utilizar, sobre la estructura de la base de datos, estructura del HTML, la estructura de clases PHP, etc.
  • Cualquier cosa que quieran decir al respecto. Con gusto recibiré cualquier tipo de feedback.

Bueno, eso sería todo (espero no estar olvidando ningún detalle).

Como dije al comienzo, no pido que realicen el proyecto en mi lugar (aunque no los detendré si quieren hacerlo ). Me gustaría que me dieran consejos, ejemplos, y me sugieran diferentes métodos y recursos para realizarlo. Además, si tienen un proyecto similar y pueden mostrármelo para poder estudiarlo, se los agradecería infinitamente.

Gracias de antemano foro.
  #2 (permalink)  
Antiguo 27/05/2011, 15:45
Avatar de BloodShadow  
Fecha de Ingreso: marzo-2010
Ubicación: El Salvador
Mensajes: 393
Antigüedad: 14 años, 1 mes
Puntos: 52
Respuesta: Proyecto PHP

Si no tienes nada de experiencia en php y quieres hacer un sitio de contenido con administración no te compliques la vida y usa joomla mejor :D

En lo personal me gusta hacer todo de cero pero por que ya tengo mis herramientas/script personales así que no uso ningún sistema prefabricado :p en tu caso puedes hacer uso de ellos :)

Pero te diré mas o menos algunas cosas:

- Uso de jQuery: obvio que si
- Ajax: en algunos casos pero siempre con el framework de jquery es mas sencillo
- no recargues las hojas de contenido con AJAX... recarga la hoja completa... AJAX utilízalo en casos que hay que recargar una pequeña parte del sitio
- para maquetar no uses dreamweaber ni ninguna putada de esas que son un asco... lee un manualito sencillo de css y html para eso
- usar clases... lee manuales sobre la programación orientada a objetos
Cita:
Iniciado por Jokerguy Ver Mensaje
Si deberia utilizar solamente un archivo PHP.
- Espero que esta pregunta no fuera en serio... claro que no! trata de hacer todo en secciones y cada sección en los archivos que TU consideres necesarios.

Pues ya no se me ocurre nada mas... parece que te falta saber mucho mas de PHP así que estas son un par de cosas que por el momento se me ocurren... ando con dolor de cabeza y no puedo pensar mucho :s
  #3 (permalink)  
Antiguo 27/05/2011, 15:47
Avatar de scorpion3d  
Fecha de Ingreso: mayo-2011
Mensajes: 92
Antigüedad: 12 años, 11 meses
Puntos: 19
Respuesta: Proyecto PHP

Manual php:-----------> http://www.manualdephp.com/
Manual Codelgniter:--> http://techtastico.com/post/manual-codeigniter-castellano/
Manual HTML:----------> http://www.desarrolloweb.com/manuales/21/
Manual JavaScript:----> http://www.manualdejavascript.com/
Manual JSon:-----------> http://www.desarrolloweb.com/manuales/php-json.html
Manual CSS:------------> http://www.manualdecss.com/
Manual MySql:----------> http://www.webestilo.com/mysql/
__________________
www.elias.com.sv
  #4 (permalink)  
Antiguo 27/05/2011, 16:06
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Proyecto PHP

Sobre tus dudas:

1- La diferencia entre componente y "pagina web" es que el primero podria ser utilizado en forma independiente... es un modulo que puedes aplicar tambien en otros proyectos.

2- Es conveniente usar clases y objetos para dar mas flexibilidad a tu componente y cumplir con el primer punto.

3- Por lo del JSON, si, debes usar AJAX, pero respecto a JQuery, depende de si lo dominas bien o no, asi como de tus preferencias.

4- Es mala idea tener todo en un solo archivo PHP, revisa la documentacion de CodeIgniter y encontraras como debes programar y codificar correctamente.

5- Cierto, solo le veo utilidad para AJAX, ya que usar JSON en PHP directamente no tiene mucho sentido, para eso hay array y objetos.

6- Mas que sugerirte un enfoque, deberias contarnos lo que tienes planeado, para saber si podemos sugerir algo.

7- Lee la documentacion de CodeIgniter, con eso sabras que puedes utilizar en tu proyecto.

8 y 9 - Misma respuesta que el punto 6.
__________________
- León, Guanajuato
- GV-Foto
  #5 (permalink)  
Antiguo 27/05/2011, 23:07
 
Fecha de Ingreso: mayo-2011
Mensajes: 6
Antigüedad: 12 años, 10 meses
Puntos: 0
De acuerdo Respondiendo a BloodShadow

Gracias BloodShadow por tomarte tu tiempo para responder. Tus comentarios fueron muy utiles:

Cita:
Iniciado por BloodShadow
Si no tienes nada de experiencia en php y quieres hacer un sitio de contenido con administración no te compliques la vida y usa joomla mejor :D
Para este proyecto no puedo utilizar ni wordpress, ni drupal, ni joomla. Pero nunca había escuchado de joomla, así que te agradezco el consejo.

Cita:
Iniciado por BloodShadow
En lo personal me gusta hacer todo de cero pero por que ya tengo mis herramientas/script personales así que no uso ningún sistema prefabricado :p en tu caso puedes hacer uso de ellos :)
Ojalá pudiera hacer eso. En .net tenía mi propio framework ya creado cuando realizaba trabajos independientes, y lo fácil que era comenzar nuevos proyectos. Pero no puedo en PHP, por eso quiero aprender a aplicar la POO en PHP. Además estoy consiente de que mi código en PHP no es muy bueno, es decir, no conozco las mejor forma de hacer las cosas y las buenas practicas. Para esto me recomendaron leer el libro PHP in Action: Objects, Design, Agility. Si conoces el libro, te agradecería que me dijeras tu opinión sobre él o me recomendaras uno para este propósito.

Cita:
Iniciado por BloodShadow
- no recargues las hojas de contenido con AJAX... recarga la hoja completa... AJAX utilízalo en casos que hay que recargar una pequeña parte del sitio
¿Te refieres a que no utilice ajax? El problema es que al parecer es un requisito, ya que mencionan que debo utilizar JSon . Aunque no se si entendí esta sugerencia del todo.

Cita:
Iniciado por BloodShadow
- para maquetar no uses dreamweaber ni ninguna putada de esas que son un asco... lee un manualito sencillo de css y html para eso
Uso NetBeans y Notepad++. Utilizando CSS y HTML ya tengo el markup muy parecido al del ejemplo, así que este punto no es un problema. Me preocupa más el codigo javascript, al que no estoy muy acostumbrado, y a utilizar codeigniter el cual nunca he usado.

Cita:
Iniciado por BloodShadow
- usar clases... lee manuales sobre la programación orientada a objetos
Lo que necesito es leer sobre como aplicarla en PHP, pues estoy más que familiarizado con la POO.

Cita:
Iniciado por BloodShadow
- Espero que esta pregunta no fuera en serio... claro que no! trata de hacer todo en secciones y cada sección en los archivos que TU consideres necesarios.
En realidad, lo decía en serio. Se que puede sonar estúpido, pero como no sabia a que se referían con "Componente PHP" y como no conozco mucho de PHP, lo relacioné con un User Control en ASP.Net. Pensé que tal vez un "Componente" era un solo archivo en PHP, ahora sé que fui estúpido .

Cita:
Iniciado por BloodShadow
Pues ya no se me ocurre nada mas... parece que te falta saber mucho mas de PHP así que estas son un par de cosas que por el momento se me ocurren... ando con dolor de cabeza y no puedo pensar mucho :s
Jejeje. Espero que te mejores. De todos modos te agradezco mucho que hayas sacado tiempo para ayudarme .
  #6 (permalink)  
Antiguo 27/05/2011, 23:14
 
Fecha de Ingreso: mayo-2011
Mensajes: 6
Antigüedad: 12 años, 10 meses
Puntos: 0
De acuerdo Respuesta a scorpion3d

Cita:
Iniciado por scorpion3d Ver Mensaje
Manual php:-----------> http://www.manualdephp.com/
Manual Codelgniter:--> http://techtastico.com/post/manual-codeigniter-castellano/
Manual HTML:----------> http://www.desarrolloweb.com/manuales/21/
Manual JavaScript:----> http://www.manualdejavascript.com/
Manual JSon:-----------> http://www.desarrolloweb.com/manuales/php-json.html
Manual CSS:------------> http://www.manualdecss.com/
Manual MySql:----------> http://www.webestilo.com/mysql/
Muchas gracias por compilar y clasificar estos manuales. ¿Los has leído? No lo tomes a mal; lo pregunto porque no me gusta leerme cualquier manual sin tener buena referencia, y saber si es bueno. Antes de comprar un libro, entro a Amazon y leo practicamente todos los reviews, aunque parezca exagerado
Aunque generalmente prefiero estudiar de libros y tutoriales en inglés, si me dices que son buenos, con gusto los revisaré (Mientras, asumiré que me los diste porque sí son buenos ).
  #7 (permalink)  
Antiguo 27/05/2011, 23:35
 
Fecha de Ingreso: mayo-2011
Mensajes: 6
Antigüedad: 12 años, 10 meses
Puntos: 0
De acuerdo Respondiendo a Triby

Cita:
Iniciado por Triby
1- La diferencia entre componente y "pagina web" es que el primero podria ser utilizado en forma independiente... es un modulo que puedes aplicar tambien en otros proyectos.
Eso pensaba, aunque no sé como sería la estructura de uno en PHP, en comparación con una pagina web (Tengo la idea, pero no se si es correcta )

Cita:
Iniciado por Triby
2- Es conveniente usar clases y objetos para dar mas flexibilidad a tu componente y cumplir con el primer punto.
Adoro escribir código flexible, reutilizable y encapsulado, y a la vez fácil de mantener. Que pena que no tenga mucho conocimiento de como hacerlo en PHP. Pero se que algún día lo tendré, ya que pienso aprender PHP a fondo. Será dificil, pues no sólo soy nuevo en PHP, sino en la programación web en general, y todas las tecnologías y estándares involucrados (los cuales son muchos : ajax, css, soap, json, javascript, frameworks como jquery y codeigniter, CMSs PHP como drupal, wordpress, joomla, etc.)

Cita:
Iniciado por Triby
3- Por lo del JSON, si, debes usar AJAX, pero respecto a JQuery, depende de si lo dominas bien o no, asi como de tus preferencias.
La verdad es que no lo domino bien, y tengo miedo de utilizarlo tan mal que vuelva mi código mas complejo de lo necesario. Pero si sé que me facilitará la vida, no dudaré en usarlo.

Cita:
Iniciado por Triby
4- Es mala idea tener todo en un solo archivo PHP, revisa la documentacion de CodeIgniter y encontraras como debes programar y codificar correctamente.
Entiendo. Lo primero que hice fue trabajar con el diseño en CSS y HTML. Ya lo tengo prácticamente listo, por lo que ahora me veré tutoriales de codeigniter. Justo ahora leí que codeigniter usa el modelo MVC, lo cual me asustó un poco porque la poca experiencia que tengo programando en ambiente web ha sido con WebForms en ASP.Net y no MVC .

Cita:
Iniciado por Triby
5- Cierto, solo le veo utilidad para AJAX, ya que usar JSON en PHP directamente no tiene mucho sentido, para eso hay array y objetos.
Puede que tengas razón. La cuestión entonces es si puedo o no usar JQuery, ya que tal vez quieren que lo haga manualmente, la parte de AJAX.

Cita:
Iniciado por Triby
6- Mas que sugerirte un enfoque, deberias contarnos lo que tienes planeado, para saber si podemos sugerir algo.
Entiendo a lo que te refieres. Luego, poco a poco iré posteando mi progreso, y siéntanse libre de criticarlo todo lo que quieran. Aunque tengo que confesar que no es fácil para mi postear mi código, estando consiente de que no se mucho de todo esto. Es decir, se que soy malo en la programación web y php, y enseñándoles mi código me sentiría expuesto (como si me vieran desnudo, LOL); pero se que son necesarias las criticas y sugerencias de expertos, para que un novato como yo aprenda.

Muchas gracias por tu tiempo.
  #8 (permalink)  
Antiguo 28/05/2011, 00:43
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Proyecto PHP

Despues de leer estos ultimos comentarios, solo puedo recordarte que nadie nace aprendido y no hay pregunta tonta (aunque algunos se esfuerzan ), tonto es quedarse con la duda.

Solo por aclarar algunos puntos:

- JSON = JavaScript Object Notation. En PHP puedes crear y manipular estos objetos, al menos para mi, la unica utilidad es enviarlos mediante AJAX para que sean procesados en el navegador (javascript), ya sea por actualizar algunas zonas de la web, crear mensajes de alerta, cambiar propiedades de elementos, etc. Mas info de JSON en: www.json.org

- Para manejar AJAX necesitaras alguna libreria en javascript, puedes crear (adaptar) codigos pequeños o usar algun framework de javascript como JQuery, Prototype, etc., afortunadamente no tienes mucho de que preocuparte, porque CodeIgniter cuenta ya con utilerias para este tipo de cuestiones: http://codeigniter.com/wiki/AJAX_for_CodeIgniter/

- Si como dices, estas acostumbrado a programar codigo reutilizable, encontraras que usando el patron MVC puede ser un poco confuso al principio, pero conforme avances, se te facilitaran mucho las cosas porque siempre sabras que archivos editar para agregar nuevas caracteristicas, corregir errores, etc.

Se ve que tienes deseos de sacar adelante el proyecto y creeme que con eso ya vas por buen camino, solo comienza poco a poco, primero lee un manual de PHP para aprender sobre estructuras, operadores y funciones basicas, despues algo de PHP Orientado a objetos y, finalmente, CodeIgniter.

Supongo que si no sigues ese orden te costara mas trabajo comenzar a programar.

P.D. No temas mostrar tus ideas, muchos de nosotros hemos tenido la experiencia de exponer cada ridiculez y nadie se burla, por el contrario, hemos recibido excelentes comentarios para sacarnos del error.
__________________
- León, Guanajuato
- GV-Foto
  #9 (permalink)  
Antiguo 30/05/2011, 08:11
Avatar de BloodShadow  
Fecha de Ingreso: marzo-2010
Ubicación: El Salvador
Mensajes: 393
Antigüedad: 14 años, 1 mes
Puntos: 52
Respuesta: Proyecto PHP

cuando yo aprendí la mayor parte y la base de lo que se de la web... lo aprendí acá: http://www.illasaron.com/ son muy bueno vídeo tutoriales y excelentes maestros los que dan las clases y con muy buenos ejemplos.. ahí podes encontrar TODO! lo que necesites saber, lo único que necesitas mucho tiempo por que cada video dura casi una hora y el de PHP son como 50 vídeos mas o menos :p pero ahí aprendí mucho yo :D saludos

Etiquetas: ajax, cms, codeigniter, componente, css, json, mysql, pestaña, proyecto
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:02.