Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - Alex_bro

#11
Buenas,

Siempre me ha ocurrido que he empezado un proyecto pequeño, y poco a poco le iba añadiendo funciones al mismo archivo... y construía archivos monstruosos. He buscado mucho sobre MVC y POO, pero estoy algo pillado, seguro que ustedes pueden darme el empujón que necesito. Les pongo un ejemplo:

Proyecto de Tienda con un "Modulo" de Productos, otro de Pedidos, otro de Loquesea.
index.php
-> carga un archivo moduloNombreModulo.php dependiendo de la petición.
moduloNombreModulo.php
-> Este se encarga de cargar una classModulo.php y a base de if y elseif recoge las variables introducidas por el usuario, las limpia, y llama a la funcíon correspondiente dentro de la clase.
Digamos que es mi particular controller, pero no es una clase.
classModulo.php
-> Aqui encontramos funciones como addProducto, editProducto... addCategoria, editCategoria... addProveedor, editProveedor..
Cada función dentro de esta clase, realiza las comprobaciones correspondientes a los datos que le pasa desde moduloNombreModulo.php y si esta todo correcto hace lo que deba a través de otra clase encargada de ejecutar consultas a la DB etc.

Después de todo esto, desde moduloNombreModulo.php se ejecuta una función para manejar plantillas, ya que el contenido de vistas esta separado en otra carpeta.

El primer problema que vi es que se va agrandando demasiado la clase, pensé en separar en otras clases mas pequeñas, pero por ejemplo al añadir un Producto, addProducto comprueba si existen las categorias, proveedores, etc. y se reutilizan así funciones compartidas, ya que estas comprobaciones aparecen en casi todas.

Pero ahora me encuentro otro problema más, y es que al crear un modulo de Pedidos (ejemplo), éste necesita de funciones de la clase del otro módulo, como verificar si existe un producto, categoría, añadir un producto en algunos casos desde ese módulo, etc.

Lo que no quiero es tener que incluir e instanciar 4 o 5 clases en cada función dentro de otra clase, no se si a lo mejor estoy yo equivocado y esa es la forma correcta.

Como pensais que debería hacerlo?
Gracias!
#12
PHP / Re: Caracteres especiales preg_replace
3 Abril 2015, 02:08 AM
Gracias por explicarlo de forma tan sencilla :D

He añadido el modificador 'u' y ya funciona a la perfección en mi aplicación, pero lo mas importante, es que gracias a ti he entendido lo que ocurría, y ya lo sé para la siguiente. Nunca me he llevado bien con las codificaciones.

Gracias de nuevo por dedicarle tanto tiempo a este tema, te debo una!
#13
PHP / Re: Caracteres especiales preg_replace
2 Abril 2015, 16:29 PM
Amigo gracias por dedicarle tiempo a testearlo y demás.

Tienes razón, el fallo debe estar en otro sitio, ya que como bien muestras la función parece que no tiene problemas. Al principio pensé que seria problema de MySQL por no soportar esos carácteres, y efectivamente lanza un error:
CitarWarning: #1366 Incorrect string value: '\xD0\xAF\xD1\x8F\xD0\x90...'

Pero luego los guarda como "????????" y no borra lo que le rodea.

Voy a seguir viendo que ocurre por cada función que utiliza esa cadena de entrada y os cuento si veo donde se tropieza.

Muchas gracias de nuevo :)

Edito:
El problema me surge cuando meto en la expresión regular los acentos y demás:
echo preg_replace('/[^a-zA-Z0-9ñÑáéíóúÁÉÍÓÚ]/i','','TextoЯяАИМСЗаимсзTexto');
Devuelve:
CitarTexto��Texto

Hay que hacer eso de otra forma?
PD: Siento no poner la etiqueta de PHP al código, si la pongo no se ven los carácteres.
#14
Buenas a todos :)

Vereis tengo un problemilla con un filtro que utiliza preg_replace. Hace años inserté como válidos unos caracteres un tanto estraños y como no me acuerdo de por qué lo hice, hoy los he borrado. El caso es que al borrarlos y no pasarlos como válidos, preg_replace devuelve una cadena vacía.

Los caracteres en cuestión son estos:
CitarЯяАИМСЗаимсз

Cuando están incluidos dentro de la variable a pasar por preg_replace, devuelve una cadena vacía, en lugar de solo borrarlos y devolver los permitidos, como quiero aquí:
Código (php) [Seleccionar]
$var = preg_replace("/[^a-zA-Z0-9]/i",'',$var);

Supongo que será alguna forma rara de escribir unas comillas o algo así.

Alguien sabe de que se trata?

Saludos!

Edito:
Buscando mucho por internet, veo que esos caracteres son las vocales acentuadas, que por el formato del archivo se guardarían así en su momento, pero aun no entiendo por qué si se pasan tal cual a la función preg_replace hace que no cumpla con la regla que tiene y devuelve un string vacío. He activado los errores por si decía algo, pero nada.
#15
Desarrollo Web / Re: Duda de Ajax
3 Agosto 2014, 15:48 PM
Cita de: blaknez root en  3 Agosto 2014, 05:01 AM
siempre se usa de mano con javascript?
Si la pregunta quiere decir si se necesita javascript para utilizar AJAX, Si:
AJAX, acrónimo de Asynchronous javascript And XML.

Y vale mucho la pena aprender a implementar AJAX.
Al final acabas creando un archivo minusculo con la función, que incluyes siempre y resulta super sencillo.

Eso si! Por favor, asegurense de que sus aplicaciones funcionan sin tener javascript activado igualmente! No cuesta nada hacer que un enlace funcione "normal" con su href, y luego tenga un OnClick que utilice Ajax y evite su funcion href original, por poner un ejemplo.

Saludos.
#16
Para mi sin duda BrontoBytes. He probado de todo... pero este ultimo es el que mejor me ha ido, y con mejor respuesta, incluido su soporte.

Lo encontre buscando un hosting que hospedara sus servidores en Europa para cumplir con la LOPD de España.

Probe un año y al siguiente me meti de cabeza en el plan de 3 años, y sin problemas por ahora...

Solo un incidente, contrate IP unica, y un dia me di cuenta en CPANEL que estaba utilizando una compartida... contacte con ellos y me dijeron que como no tenia configurado ningun certificado SSL y las IP eran escasas no podian mantenermela, pero que si algun dia queria configurar uno, les contactase.

No pongo mi link de afiliado para que no digan que es Spam, pero si alguno lo quiere que me lo pida por privado.

Saludos!
PD: Comentan Hostgator por arriba... a mi me iba muy lento, ping muy alto, y pedi la devolución.
#17
Buenas,

Tengo un misterio que no puedo resolver, y no encuentro nada buscando...
Anteriormente tenia configurado todo en el router que te dan con el ADSL de Vodafone, clave, canal... nada daba problemas. El otro dia me di cuenta de que utilizaba WPA en lugar de WPA2. Cambié esta opción, y aunque en muchos dispositivos tuvimos que volver a meter la clave de nuevo (engorroso, por su longitud) todo funciona estupendamente ahora, todo menos mi iMac de 2011.

Mi version de OS X es la 10.7.5 (prefiero no actualizar porque me va muy bien y fluido, y leyendo comentarios...).

La cuestion es que mi iMac se conecta sin problemas a la red wifi, y permanece un rato todo correcto, hasta que de pronto se cae la conexion. El sistema no alerta de nada, sigue conectado al router aparentemente tal como dice en la barra superior, pero para que vuelvan a funcionar las conexiones tengo que desactivar el wifi y volverlo a activar, y vuelve a funcionar por otro ratito.

He probado borrando la red por completo, hasta del llavero, y volver a configurarla desde cero, pero nada.

El resto de ordenadores con windows y moviles (Android e iOS) no muestran caidas y van bien.

Espero poder encontrar otra solucion que no sea volver a utilizar WPA en toda la red...

A alguien mas le ha pasado algo similar?

Muchas gracias amigos.
#18
Ante todo, gracias a los dos por interesarse y responder.

Cita de: El As del Club Paris en 21 Mayo 2012, 23:25 PM
Tendrias que, por lo menos, esplayar mas tu modelo o logica de datos. Pero si lo que queres es ir guardando un registro de cuotas mensuales podrias crear un tabla para las mismas. Usar un campo para el id de cliente, otro para el importe , otra para el mes, otro apra el año, y otro para el estado (pagado o impago). Yo use esta solucion. Lo bueno de este sistema es que por ejemplo todos los 1ro de mes as las 00:01AM podes correr un script (por medio de CRON) agregando a la tabla 'cuotas' los registros para cada cliente, correspondiente al mes que acaba de empezar. Y luego cuando registras un pago lo que en realidad haces es un UPDATE 'seteando' el estado de 'impago' (o false, o lo que sea xD) a pagado.

Otra cosa util de este sistema es que dia a dia te permite ir corriendo por emdio de CRON un script que calcule el interes (en caso de que apliques por demora de pago)

Espero que hayas entendido, sino te lo grafico mejor con imagenes y codigo ;)

Saludos

Algo asi es lo que tenia en mente. Además es lo que tengo hecho ahora mismo, pero sin el campo del año y sin la solucion de correr un CRON. No lo mencione en mi primer post porque creia que era un poco de "cazurro" y creia que la gente usaria un campo DATE o similar aunque el dato del dia fuera innecesario.

Vamos lo que yo tengo ahora es un campo que pone el mes, y cuando alguien viene a pagarme, le sumo las cuotas que me pagan a ese campo de la db desde el movil con una pequeña aplicación. El problema es que esa solución se romperia cuando alguien trate de pagar mas meses de lo que comprende este año (valor 12 del campo mes) porque pasaria a poner 13, 14...

Pero como ya veo que es lo mas lógico, añadiré como dices otro campo para el año y con PHP mediante condicionales aré que se sume solo el campo del mes o del año también dependiendo del caso.

Lo dicho, gracias a los dos, y en especial a unsigned, que en tantas veces me ha ayudado en este foro, espero algún dia poderle devolver el favor ;)
#19
PHP / Re: PHP se comenta solo...
18 Mayo 2012, 16:31 PM
El código de prob.php es una plantilla que luego procesa PrestaShop?
La verdad es que ese sistema no lo he utilizado, pero creo que si es asi, el problema es que el motor de plantillas no esta ejecutandote el codigo PHP, solo procesandolo como HTML, cambiando las variables que definas, y listo.

Un saludo.
#20
Bases de Datos / Campo para cuotas mensuales
18 Mayo 2012, 16:27 PM
Buenas chic@s!
Tengo una dudilla un poco tonta creo... estoy montando un sistema de gestion de clientes para un negocio familiar que necesita administrar mensualidades de clientes.

En principio pense en usar un campo DATE y luego con php rescatar solo el mes y año, pero no se si es un poco bruto hacerlo de esta forma.

Me gustaria saber que pensais! :)

Un saludo.