Duckbrain

Este conjunto de librerías (microframework, si así lo prefieres) tiene el objetivo de presentar una herramienta de trabajo sencilla y potente que sea válida especialmente para proyectos pequeños o simples, sin limitar, ni depender de cosas que agranden innecesariamente dichos proyectos.

Tuve la idea de hacer esta herramienta luego de ver como proyectos relativamente pequeños eran hechos con frameworks demasiado grandes para la envergadura de dichos proyectos. No es bueno matar moscas a cañonazos.

Del mismo modo revisé algunos microframeworks y si bien me parecen una buena opción, aún me quedaba la espinita de que seguían siendo muy complejos para que un programador novato pudiera leer su código, entenderlo y modificarlo, así que intenté hacer algo más simple

Lo que busco es mantener un código sencillo, lo suficiente como para que cualquier novato que sepa POO y PHP pueda leer su código rápidamente, entenderlo y modificarlo a gusto. Por este motivo también he decidido desligarlo en lo posible de composer o cualquier cosa similar, ya que no pocos programadores en etapa de aprendizaje al encontrarse con frameworks más complicados o con herramientas como composer, terminan trabajando con cosas que no comprenden ni pueden arreglar por si mismos en caso de fallo, llevándolos a la dependencia total de dichas herramientas.

Uso / Documentación

Actualmente existe un manual de inicio que puedes leerlo desde aquí o desde aquí.

Si quieres leer el manual de inicio en su formato original (necesitas un editor/lector que soporte org-mode) puedes descargarla desde aquí.

Para el resto de la documentación, el código usa phpdoc, por lo que puedes tener toda la documentación API desde tu IDE o Editor de texto preferido siempre que soporte dicha característica. O si lo prefieres, puedes generarla en unbonito htm local usando la herramienta phpDocumentor.

Soporte de gestores de bases de datos

En la siguiente tabla se encuentra la lista de estados de los gestores de bases de datos que he probado o que planeo probar para asegurarme de que sean realmente compatibles.

Entiéndase:

  • ok como que ha sido probado y funciona.
  • En blanco como que no ha sido probado aún.
  • error como que fue probado, no funciona y no ha sido aún arreglado.
  • not supported como no soportado por el gestor de bases de datos.
  • fixed para aquello que no existe en el gestor de BD, pero la librería lo traduce a un equivalente.
method MySQL/MariaDB sqlite3 postgreSQL
db ok ok ok
query ok ok ok
resetQuery ok ok ok
buildQuery ok ok ok
getInstance ok ok ok
getVars ok ok ok
className ok ok pk
table ok ok ok
update ok ok ok
beginTransaction ok ok ok
rollBack ok ok ok
commit ok ok ok
add ok ok ok
save ok ok ok
delete ok ok ok
select ok ok ok
from ok ok ok
where ok ok ok
whereIn ok ok ok
whereNotIn ok ok ok
whereNull ok ok ok
whereNotNull ok ok ok
whereExists ok ok ok
whereNotExists ok ok ok
leftJoin ok ok ok
rightJoin ok fixed ok
innerJoin ok ok ok
crossJoin ok ok ok
and ok ok ok
or ok ok ok
groupBy ok ok ok
limit ok ok ok
orderBy ok ok ok
count ok ok ok
getById ok ok ok
search ok ok error
get ok ok ok
getFirst ok ok ok
all ok ok ok
setNull ok ok ok

Contacto

Puedes encontrame en telegram como @keyjay o contactarme mi correo: webmaster@outcontrol.net

Description
No description provided
Readme 1.1 MiB
Languages
PHP 100%