Simplify some paragraphs and fix some typo errors.

This commit is contained in:
KJ 2024-06-03 15:33:59 -04:00
parent b002afe5d4
commit 3be9d23fc0
1 changed files with 14 additions and 14 deletions

View File

@ -5,15 +5,15 @@
* Introducción
[[https://git.kj2.me/kj/duckbrain][Duckbrain]] es un conjunto de librerías creadas especialmente pensando en hacer algo simple, que cualquiera pueda deshacer y rearmar fácilmente. Gracias a esa versatilidad, puedes usarlo cualquier proyecto, peo por ello debes tener en cuenta que mientras más grande sea el proyecto, mayor será el nivel de ingeniería que se requerirá de tu parte para acondicionar esta herramienta a los requerimientos.
[[https://git.kj2.me/kj/duckbrain][Duckbrain]] es un conjunto de librerías creadas especialmente pensando en hacer algo simple, que cualquiera pueda deshacer y rearmar fácilmente.
Gracias a esa versatilidad, puedes usarlo cualquier proyecto, pero por ello debes tener en cuenta que mientras más grande sea el proyecto, mayor será el nivel de ingeniería que se requerirá de tu parte para acondicionar esta herramienta a los requerimientos.
Otro punto fuerte que puedo dar de esta herramienta, es que te puede ser tremendamente útil si estás comenzando, ya que al ser tan pequeño y modificable, es más sencillo que lo comprendas y esto más adelante te ayudará a comprender cosas más grandes.
Ducho eso, vamos a comenzar...
** Estructura de archivos de Duckbrain
Al entrar a la carpeta de Duckbrain encontraras esta estructura de archivos (ignoramos el readme.org porque no es necesario).
Al entrar a la carpeta de Duckbrain encontrarás esta estructura de archivos (ignoramos el readme.org porque no es necesario).
#+begin_src ditaa
.
@ -50,17 +50,15 @@ Si sabes de estructuras de diseño, el nombre de estas carpetas ya te debe queda
Si no sabes que es un Model, un Middleware, Controller, etc. entonces requieres buscar ahora mismo lo que es una arquitectura de diseño de software y leerte al menos en qué consiste la arquitectura de MVC, ya que es una arquitectura simple y la que usaremos más adelante en este manual.
Al igual que con la carpeta =src=, todo lo puedes cambiar y colocar otra estructura de carpetas y las únicas que requerirían algún tipo de edición de archivos serían las carpetas =Views= y =Router= que se editarían en el archivo =src/Libs/View.php= y el archivo =index.php= respectivamente. Las demás carpetas las puedes borrar cuando quieras y usar otra estructura, pero por lo pronto no lo hagas al menos hasta que hayas pasado la sección [[Mi primera aplicación]] que es cuando ya habrías leído y, con algo de suerte y pericia, asimilado los conocimientos necesarios para hacer lo que te de la gana con este ser de librería al punto de que ya le podrás colocar las tuyas propias, le borrarás alguna de las que viene por defecto porque no la necesites o incluso crees una versión extendida de las que viene por defecto para poder añadirle alguna mejora que necesites.
Al igual que con la carpeta =src=, todo lo puedes cambiar y colocar otra estructura de carpetas y las únicas que requerirían algún tipo de edición de archivos serían las carpetas =Views= y =Router= que se editarían en el archivo =src/Libs/View.php= y el archivo =index.php= respectivamente. Las demás carpetas las puedes borrar cuando quieras y usar otra estructura, pero por lo pronto no lo hagas al menos hasta que hayas pasado la sección [[Mi primera aplicación][Mi primera aplicación]] que es cuando ya habrías leído y, con algo de suerte y pericia, asimilado los conocimientos necesarios para hacer lo que te de la gana con este ser de librería al punto de que ya le podrás colocar las tuyas propias, le borrarás alguna de las que viene por defecto porque no la necesites o incluso crees una versión extendida de las que viene por defecto para poder añadirle alguna mejora que necesites.
Desde luego, si eres un ansias y sabes lo que son las arquitecturas de diseño, ya has programado en alguna arquitectura de diseño como DDD, MVC, TDD, EDD, etc. antes y sabes PHP, con que te leas el código del archivo =index.php= (son solo 20 líneas de código) y tengas el nivel de PHP para entenderlo y programar en la arquitectura de diseño que desees, entonces con ver esas 20 líneas te deberá bastar y puedes saltarte el resto del este manual y guiarte de ahora en adelante con la documentación API de las librerías o directamente con el LSP de tu editor de código para poco que queda.
Para el resto de mortales y gente con menos arrogancia, pueden seguir un ratito más por aquí :P.
Desde luego, si eres un ansias y ya has programado antes en alguna arquitectura de diseño como DDD, MVC, TDD, EDD, etc. y manejas decentemente PHP, con que te leas el código del archivo =index.php= (son solo 20 líneas de código) te deberá bastar y puedes saltarte el resto del este manual y guiarte de ahora en adelante con la documentación API de las librerías.
*** Los archivos en la raíz
El =.htaccess= es un archivo que te será útil si usas apache o algún otro servidor web que use estos archivos y lo que lleva es una configuración especial para que funcionen las *rutas virtuales*, o sea, para que podamos crear una ruta tipo =mitsitio.com/mi-ruta-virtual/= y podamos decir que allí muestre un mensaje de ~Hola mundo~, a pesar de que la carpeta =mi-ruta-virtual= no exista, ni haya dentro ningún archivo index que tenga el texto ~Hola mundo~. Si esta aún no lo entendiste, no exasperes que ya lo vas a entender en un momento y ahí podrás volver a repasar esta parte.
El =.htaccess= es un archivo que te será útil si usas apache o algún otro servidor web que use estos archivos. Contiene una configuración especial para que funcionen las *rutas virtuales*, o sea, para que podamos crear una ruta tipo =mitsitio.com/mi-ruta-virtual/= a pesar de que la carpeta =mi-ruta-virtual= no exista.
En caso de que uses nginx, debes configurar el webserver con la regla equivalente al contenido del archivo =.htacess= que sería más o menos esto:
En caso de que uses nginx, debes configurar el webserver con la regla equivalente al contenido del archivo =.htaccess= que sería más o menos esto:
#+begin_src nginx
location / {
@ -68,7 +66,7 @@ location / {
}
#+end_src
El archivo =index.php= es el punto de entrada de nuestra aplicación, aquí sucederá toda la magia inicial y sólo requiere de 20 míseras lineas para hacer ese gran trabajo y soportar sistemas tan grandes sin despeinarse ante frameworks más complejos como laravel o que son usados por cientos de miles de usuarios en cientos de instalaciones. Esto lo menciono no por creer que ttps://git.kj2.me/kj/duckbrain][Duckbrain podría soportarlo, sino porque es algo que ya sucede, o sea, dichos sistemas ya existen: Los he hecho yo o he estado involucrado en parte del proyecto al punto de poder elegir [https://git.kj2.me/kj/duckbrain][Duckbrain]] como base para el mismo.
El archivo =index.php= es el punto de entrada de nuestra aplicación, aquí sucederá toda la magia inicial y sólo requiere de 20 míseras lineas para hacer ese gran trabajo y soportar sistemas tan grandes sin despeinarse ante frameworks más complejos como laravel o que son usados por cientos de miles de usuarios en cientos de instalaciones. Esto lo menciono no por creer que ttps://git.kj2.me/kj/duckbrain][Duckbrain podría soportarlo, sino porque es algo que ya sucede, o sea, dichos sistemas ya existen: Los he hecho yo o he estado involucrado en parte del proyecto al punto de poder elegir [[https://git.kj2.me/kj/duckbrain][Duckbrain]] como base para el mismo.
El archivo =config.php=, como su nombre indica, es el archivo para colocar las configuraciones.
@ -80,11 +78,13 @@ Son básicamente librerías, cada una tiene como nombre lo que hace, no tiene mu
Como la intención de este manual es que comprendas [[https://git.kj2.me/kj/duckbrain][Duckbrain]] y no solo seas un robot que copia y pega de la documentación, vamos a calentar comprendiendo el código que lo arranca.
Como ya mencionamos antes, el archivo =.htaccess= se encarga de hacer funcionar las rutas virtuales, pero eso como programador que eres te debería hacer saltar una pregunta "¿Cómo es que hace eso?" y la respuesta es simple y puede que ya lo entiendas gracias al código de configuración de nginx que coloqué antes:
Como ya mencionamos antes, el archivo =.htaccess= se encarga de hacer funcionar las rutas virtuales, pero eso como programador que eres te debería hacer saltar una pregunta "¿Cómo es que hace eso?" y la respuesta es bastante simple:
Supongamos que entramos en la ruta =/hola= (o sea, =misitio.com/hola=), lo que hará el =.htacess= o la configuración nginx será lo siguiente:
Supongamos que entramos en la ruta =/hola= (o sea, =misitio.com/hola=), lo que hará el =.htaccess= será lo siguiente:
Primero intenta comprobar si el fichero "hola" existe en la ruta a la que se desea acceder, si no es el caso prueba si existe una carpeta "hola" y si tampoco sucede eso, reenvía todo a =index.php= y le pide que él se encargue de ahí en adelante. Si llega hasta la tercera opción decimos que es una *ruta virtual* (lo que mencionamos en [[Los archivos en la raíz][Los archivos en la raiz]]), porque devolveremos algo desde el PHP simulando un archivo o una carpeta, a pesar de que esa ruta realmente no existe ni como fichero ni como carpeta.
Primero intenta comprobar si el fichero "hola" existe en la ruta a la que se desea acceder, si no es el caso prueba si existe una carpeta "hola" y si tampoco sucede eso, reenvía todo a =index.php= y le pide que él se encargue de ahí en adelante.
Si llega hasta la tercera opción decimos que es una *ruta virtual* (lo que mencionamos en [[Los archivos en la raíz][Los archivos en la raiz]]), porque devolveremos algo desde el PHP simulando un archivo o una carpeta, a pesar de que esa ruta realmente no existe ni como fichero ni como carpeta.
Ahora veamos que hace =index.php=, en la primera línea nos dice esto: