Título: Mis Funciones en PHP, by Diabliyo Publicado por: Diabliyo en 19 Julio 2008, 03:01 am Que tal, pues dedicare este post para platicarles y mostrarles el codigo que utilizo en la mayoria de mis aplicaciones web en php, estas aplicaciones podran ser utilizadas en cual quier aplicacion personal ya que estan pensadas con la finalidad de ahorrar codigo y hacer un software mas rapido.
En este primer post mencionare unicamente el indice, he ire agregandole los sub-temas (segun el nombre de la funcion) al indice, para evitar hacer todo en un mismo POST. Por otra parte, sientanse libres de criticar, aportar, modificar mis funciones en este mismo hilo, ya que mediante el indice podran dirigirse a cada uno de los temas (segun el nombre de la funcion) y poder enriquecer este posting con sus comentarios. INDICE
Continuara.... Título: Re: Mis Funciones en PHP, by Diabliyo Publicado por: Diabliyo en 19 Julio 2008, 03:23 am FUNCIONES PARA BASES DE DATOS.
Una Base de Datos es una herramienta que permite almacenar informacion y gestionar dicha informacion mediante algun gestor de base de datos, alguna aplicacion o directamente mediante funciones especificas de algun lenguaje de programacion. Las bases de datos estan conformadas por tablas, estas a su vez contienen campos los cuales guardan informacion en cada campo segun el tipo de campo, existen diversion tipos de campos, algunos podrian se: Cierto numero de caracteres (varchar), texto (text), numeros cortos (int), numeros grandes (bigint), etc, etc.. Estos valores pueden ser insertados, actualizados o eliminados, de igual forma se pueden realizar busquedas extensas o cortas mediante algun campoa que coincida con una muestra o una determinada palabra. INTRODUCCION. Las funciones que se mostraran a continuacion presentan principalmente varios valores establecidos por defecto, los cuales son Variables Definidas, estas variables podran ser utilizadas en cualquier parte del codigo fuente que realizemos y pueden ser utilizadas con toda confianza, ya que estas variables estaran solo a disposicion de nuestro interprete PHP y jamas para el usuario que esta realizando consultas, busquedas o bien navegando en nuestro sitio web. Tambien es importante saber cual es la configuracion que posee nuestro servicio php (php.ini), ya que estas funciones trabajan en la siguiente configuracion de php: Código: register_globals= off Las Variables Definidas que utilizaremos son: variable_username, variable_password, variable_base y variable_hosting, estas variables sirven para conectarse (username, password) a una base de datos del host (hosting) y utilizar una Base de Datos (base) en especifico. Conexion a la Base de Datos. Esta funcion nos permite conectarnos a una base de datos (ya establecida) utilizando 4 variables definidas que son:
Una vez realizada la llamada a esta funcion, realizara la conexion al hosting, seleccionara la base de datos y retornara el enlace de conexion ($link) para manipular nuestra base de datos. Por lo general muchos programadores optan por hacer la llamada directamente cada vez antes que quieran manipular la base de datos, pero en este caso (en mis funciones), no se realizaran llamadas a conectar() directamente por nosotros, sino que nos dedicaremos unicamente a realizar la llamada a la funcion de manipulacion a la base de datos (insertar, actualizar, eliminar, listar, etc...) y que esta misma funcion realize la llamada a conectar() para ahorrar codigo ;). Código
Inserciones. Ya que conocimos la funcion de conectar(), nos centraremos en la funcion de insertar. Esta funcion nos servira para insertar datos a una tabla de la base de datos, utiliza dos argumentos los cuales son:
Para llamar eficasmente a esta funcion, es necesario primero generar un arreglo con los campos y valores que contendra cada campo, despues realizar la llamada pasandole como argumento el nombre de la base de datos y el arreglo, en caso de error retorna un 0 . Código
Este es un ejemplo de implementacion en codigo: Código
Actualizaciones. Esta funcion nos permitira actualizar datos de una tabla de la base de datos, utiliza dos argumentos los cuales son:
Para llamar eficasmente a esta funcion, es necesario primero generar un arreglo con los campos y valores que contendra cada campo, despues realizar la llamada pasandole como argumento el nombre de la base de datos y el arreglo, en caso de error retorna un 0 . Tambien es importante tomar muy en cuenta el primer valor del arreglo, ya que este valor no sera actualizado, sino que se utilizara como valor para identificar el campo de la tabla que se actualizara. Código
Este es un ejemplo de implementacion en codigo: Código
Eliminacion. Esta funcion nos permitira eliminar datos de una tabla de la base de datos, utiliza dos argumentos los cuales son:
Para llamar eficasmente a esta funcion, es necesario primero generar un arreglo con los campos y valores que contendra cada campo, despues realizar la llamada pasandole como argumento el nombre de la base de datos y el arreglo, en caso de error retorna un 0 . Tambien es importante tomar muy en cuenta que solo es necesario un valor para eliminar de la base de datos, y para tener una mayor eficacia, se recomienda siempre utilizar valores unicos que ningun usuario pueda repetir, esto son valores de identificacion (ID). Código
Este es un ejemplo de implementacion en codigo: Código
Título: Re: Mis Funciones en PHP, by Diabliyo Publicado por: Hans el Topo en 19 Julio 2008, 11:25 am antes que nada decir que existe un post con chincheta para estos "truquillos/funciones"
http://foro.elhacker.net/php/pequenos_trucos_en_php-t152467.0.html para conectar deberías de dejar la opción de enviar parámetros Código: function conectar($server=SERVER, $user=BASE_USR, $pass=BASE_PASS,$bd=BASE) y para la insert ya que haces una función insert al menos valida los datos ... por cierto existe un post Título: Re: Mis Funciones en PHP, by Diabliyo Publicado por: Diabliyo en 19 Julio 2008, 19:02 pm antes que nada decir que existe un post con chincheta para estos "truquillos/funciones" http://foro.elhacker.net/php/pequenos_trucos_en_php-t152467.0.html para conectar deberías de dejar la opción de enviar parámetros Código: function conectar($server=SERVER, $user=BASE_USR, $pass=BASE_PASS,$bd=BASE) y para la insert ya que haces una función insert al menos valida los datos ... por cierto existe un post En aplicaciones extensas es incomodo ese tipo de funcion con argumentos, ya que en el ejemplo que yo pongo, utilizo variables definidas ya que todas las variables definidas las tendremos en un archivo aparte (ej: config.php), de este modo es mas facil redefinir los datos. Por otro lado, si lo utilizamos asi como variables normales, en muchos servidores existira problemas para transportar las variables ($user, $pass, $base, etc..) debido a la configuracion que tienen todos los servidores actualmente (register_globals=off)... Es mas, no vayamos muy lejos, trata de investigar como maneja las variables principales este foro, y veras que las variables principales (username_base, pass_base, host, base) estan definidas como variables definidas.... Las Variables definidas pueden ser portadas a cualquier variable y traerkas contigo como si fuesen globales, solo que en este caso el usuario jamas las pincharia !! Por ultimo, no es que ya exista tema "parecido", sino que siempre es bueno tener una forma distinta a las que comunmente sabemos.... Por ejemplo tu manera de realizar la conexion, para mi no es eficiente y es un desperdicion de generacion de variables !!... Por cierto, los trucos que se mencionan ahi no son muchos y si los comparamos, son muy pocos para los que mencionare aqui ;) Título: Re: Mis Funciones en PHP, by Diabliyo Publicado por: Diabliyo en 19 Julio 2008, 19:30 pm Consultas.
Bueno, he realizado un post a parte, porque esto de las consultas al principio se ve que con una sola o un par de funciones se puede hacer todo tipo de consultas, pero no es asi :D, es necesario minimo definir unas 4 funciones que conforme su experiencia y avance en algun proyecto de software veran la necesidad de crear mas funciones xD, aqui les hablare de varias funciones las cuales nos ayudaran a realizar cualquier cosa, vaya si emprendemos algun proyecto de software grande, estas funciones nos sacaran de muchos apuros. Consultas Simple Esta consulta sirve para realizar consultas comunes, simples y clasicas ;), utiiza dos argumentos que son:
El parametro $valores es importante saberlo manipular, este puede ser manejado de dos formas: si solo se pasa un * (asterisco), entonces se asume que al consultarse en la tabla especificada, se tomaran todos los campos de la tabla. En cambio si solo y unicamente nos interesa saber los ID y NOMBRES de una tabla, entonces solo seteamos la variable $valores asi: ID:NOMBRE. Código
Este es un ejemplo de implementacion en codigo: Código
Título: Re: Mis Funciones en PHP, by Diabliyo Publicado por: Hans el Topo en 20 Julio 2008, 13:36 pm En aplicaciones extensas es incomodo ese tipo de funcion con argumentos, ya que en el ejemplo que yo pongo, utilizo variables definidas ya que todas las variables definidas las tendremos en un archivo aparte (ej: config.php), de este modo es mas facil redefinir los datos. es incómodo para ti, para el resto de mortales no ya que otorga mayor usabilidad Citar Por otro lado, si lo utilizamos asi como variables normales, en muchos servidores existira problemas para transportar las variables ($user, $pass, $base, etc..) debido a la configuracion que tienen todos los servidores actualmente (register_globals=off)... si te fijas bien y conoces lo que son parámetros opcionales, verás que el código da la opción (opcional) de utilizar otros parámetros de conexión, si no pones parámetros toma los valores por defecto que justamente son las variables globales del archivo conf... y como estamos hablando de funciones genéricas tu manera de hacerlo es menos eficiente Citar Es mas, no vayamos muy lejos, trata de investigar como maneja las variables principales este foro, y veras que las variables principales (username_base, pass_base, host, base) estan definidas como variables definidas.... Las Variables definidas pueden ser portadas a cualquier variable y traerkas contigo como si fuesen globales, solo que en este caso el usuario jamas las pincharia !! yo las llamo variables globales ... el segundo párrafo que has puesto soy incapaz de comprenderlo Citar Por ultimo, no es que ya exista tema "parecido", sino que siempre es bueno tener una forma distinta a las que comunmente sabemos.... Por ejemplo tu manera de realizar la conexion, para mi no es eficiente y es un desperdicion de generacion de variables !!... Por cierto, los trucos que se mencionan ahi no son muchos y si los comparamos, son muy pocos para los que mencionare aqui ;) de hecho yo tampoco comparto la manera en la que realizas la conexión :X para gustos los colores y si existe un post para estas cosas, digo yo que por mucho que tengas estará mejor ahí :¬¬ |