¿Debo evitar crear un menú que obtenga títulos y valores de URL (href) de una base de datos?

Me gustaría crear una tabla que tenga una columna como título, objetivo y enumeraría todos los elementos en la parte superior de la página como enlaces. ¿Existe un gran inconveniente en hacer esto?

preguntado el 08 de noviembre de 11 a las 15:11

no, no hay nada de malo en eso. -

Para nada. Es bastante común, aunque puede considerar almacenar en caché datos que rara vez cambian por motivos de eficiencia. -

3 Respuestas

Potencialmente, sí. Cada elemento sería una solicitud http individual ... ¡Sin mencionar que no podría utilizar el almacenamiento en caché con esa configuración!

A menos que, por supuesto, los cargara a través de ajax, que luego los envía todos a la página como, por ejemplo, un objeto JSON.

Sin embargo, nunca he conocido la necesidad de un menú construido de esta manera. Si tuviera tantas opciones diferentes para que un usuario elija entre un grado de optimización, sería necesario realizarlo.

Sin embargo, a menos que esté malinterpretando sus objetivos :)

respondido 08 nov., 11:19

Es posible que desee considerar un almacenamiento de archivos planos para este tipo de configuración. He trabajado en proyectos en los que optamos por almacenar los menús de navegación del cliente en archivos .yml, para poder cargar rápidamente menús de navegación personalizados para clientes específicos. También agregamos una capa de almacenamiento en caché para que verifiquemos el caché primero antes de recuperarlo del archivo plano.

Para el analizador yaml que usamos sfYaml, que es un analizador yaml independiente y ha funcionado bien en varios usos.

respondido 08 nov., 11:20

Si está creando un menú para sus propias páginas, podría ser una mala idea.

Si almacena todas sus páginas con algún ID en la base de datos, puede hacer una referencia a ellas en el menú.

Pero si planea poder hacer enlaces a otras páginas, no veo ningún problema en almacenar URL en la base de datos.

respondido 21 nov., 11:16

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.