Apariencia
Referencia pública
Este índice reúne las claves de configuración, variables de entorno, helpers globales, entradas CLI, contratos y familias de clases que aparecen en el checkout del 2026-10-24. Las referencias describen código y configuración fuente; no prueban que una dependencia Composer se haya instalado en una aplicación consumidora ni que un proveedor externo o una base de datos responda.
Carga y disponibilidad
El manifiesto raíz declara el prefijo PSR-4 Boctulus\Simplerest\Core\ hacia src/framework/. Composer excluye src/framework/Templates/ del classmap. En el bootstrap de la aplicación, app.php carga Composer y después incluye los directorios src/framework/Helpers/ y app/Helpers/ listados por config/autoload.php. Por eso los helpers del core pertenecen al bootstrap de aplicación existente; el autoload PSR-4 de Composer, por sí solo, no carga esas funciones.
El manifiesto que declara ese prefijo es composer.json.
Los helpers psr7_*() y setLang()/trans() pertenecen a paquetes opcionales cuyos manifiestos declaran autoload.files. Sólo están disponibles cuando Composer carga el paquete correspondiente. Algunas funciones del core también están condicionadas por function_exists() o actúan como polyfill. Véanse los adaptadores PSR-7, localización y configuración y entorno.
Claves de configuración
La fuente de las claves del runtime es config/config.php. Esta tabla conserva los nombres exactos, incluidos los que contienen errores ortográficos históricos.
| Área | Claves | Valor por defecto o condición visible en el código |
|---|---|---|
| Identidad | app_url, app_name, app_env, namespace, base_url | Las tres primeras se leen del entorno sin fallback explícito; namespace Boctulus\Simplerest; base_url vacío. |
| Entrada y routing | web_router, console_router, front_controller, front_behaviors, remove_api_slug, default_controller, template | Routers y front controller habilitados; seis handlers predeterminados; conserva /api; controlador HomeController; plantilla templates/tpl.php. |
| HTTP y proceso | https, ssl_cert, DateTimeZone, tmp_dir, method_override | HTTPS y certificado null por defecto; el comentario de fuente indica que ssl_cert = false desactiva verificación; zona Asia/Manila; temporal del sistema; override por URL y header habilitado. |
| Errores y trazas | error_handling, debug, error_log, log_file, log_sql, log_errors, log_stack_trace, var_dump_separators | Manejo de errores y SQL debug desactivados; APP_DEBUG y LOG_SQL usan false como fallback; error log y log de errores habilitados; log.txt; stack trace desactivado; separadores configurables. |
| API y datos | users_table, include_enity_name, nest_sub_resources, paginator, pretty, restrict_by_ip, restrict_by_user_agent, restrict_by_tenant, acl_file | Tabla users; las dos opciones de representación y los tres límites de acceso están desactivados; paginador con máximo 50, default 10, parámetros size y page; ACL cache bajo SECURITY_PATH. El código escribe include_enity_name así. |
| Tokens y roles | access_token, refresh_token, email_token, auto_approval_roles, default_role, pre_activated | Secretos leídos del entorno, expiraciones de 3600, 1209600 y 3600 segundos, algoritmo HS256; roles admin, usuario, supervisor, superadmin; rol default null; usuarios preactivados. No se muestran valores de secretos. |
| Correo | email | Remitente y datos SMTP se leen del entorno; mailer default google. |
| Servicios | sleep_time, translate, providers, cache_driver, use_composer | Pausa API Client de 0.15; gettext desactivado; DBCache; Composer habilitado. El array providers de esta aplicación contiene FineGrained ACL, LLM Providers y el módulo Security; son selecciones de este checkout, no defaults universales. |
| Integraciones | openai_api_key, claude_api_key, google_console_api_key, google_maps_api_key, sendinblue_api_key, google_auth, facebook_auth | Credenciales y callbacks se leen del entorno, sin valores secretos en esta referencia. |
config/databases.php define estas claves:
| Clave | Alcance observado |
|---|---|
db_connections | Perfiles declarados: main, relmotor, laravelshopify, edu, az, test_sqlite y pg_test. Algunos perfiles adicionales están comentados y no forman parte del array activo. Los campos de conexión incluyen host, port, driver, db_name, user, pass, charset, schema, engine, pdo_options y tb_prefix, según el perfil. |
db_connection_default | Identificador default main. |
tentant_groups | Nombre literal de la clave en este checkout; conserva la grafía histórica tentant. |
config/commands.php define paths, packages, framework_paths, overrides y cross_aliases. Actualmente habilita el paquete boctulus/simplerest-scaffolding y declara el alias cruzado make acl → acl make. El catálogo CLI completo y los efectos por comando están en php com.
Variables de entorno
Los nombres siguientes se extraen de las lecturas activas en config/, src/framework/, app/ y packages/boctulus/. Un nombre presente en el código no implica que esté definido en este equipo. No se incluyen valores de credenciales.
| Uso | Variables referenciadas | Condición o fallback fuente |
|---|---|---|
| Identidad y diagnóstico | APP_URL, APP_NAME, APP_ENV, APP_DEBUG, LOG_SQL | APP_DEBUG y LOG_SQL usan fallback false; el resto se lee sin fallback explícito. APP_ENV también participa en la condición de seguridad TLS del adaptador Google Drive. |
| Base de datos | DB_HOST, DB_PORT, DB_CONNECTION, DB_NAME, DB_USERNAME, DB_PASSWORD; los grupos equivalentes DB_HOST_RELMOTOR, DB_PORT_RELMOTOR, DB_CONNECTION_RELMOTOR, DB_NAME_RELMOTOR, DB_USERNAME_RELMOTOR, DB_PASSWORD_RELMOTOR, DB_CHARSET_RELMOTOR; y DB_HOST_EDU, DB_PORT_EDU, DB_CONNECTION_EDU, DB_NAME_EDU, DB_USERNAME_EDU, DB_PASSWORD_EDU | DB_HOST, DB_HOST_RELMOTOR y DB_HOST_EDU tienen fallback 127.0.0.1; DB_CHARSET_RELMOTOR tiene fallback utf8. Los perfiles laravelshopify y az reutilizan las seis variables sin sufijo. |
| Tokens | TOKENS_ACCSS_SECRET_KEY, TOKENS_REFSH_SECRET_KEY, TOKENS_EMAIL_SECRET_KEY | Nombres exactos del código; ACCSS y REFSH conservan errores ortográficos. No se imprime ningún secreto. |
| Correo | MAIL_DEFAULT_FROM_ADDR, MAIL_DEFAULT_FROM_NAME, MAIL_HOST, MAIL_PORT, MAIL_USERNAME, MAIL_PASSWORD, MAIL_ENCRYPTION, MAIL_AUTH | Consumidas por la configuración SMTP del core; el envío real corresponde al paquete opcional de correo. |
| OAuth y servicios del core | OPENAI_API_KEY, CLAUDE_API_KEY, GOOGLE_CONSOLE_API_KEY, GOOGLE_MAPS_API_KEY, SENDINBLUE_API_KEY, OAUTH_GOOGLE_CLIENT_ID, OAUTH_GOOGLE_CLIENT_SECRET, OAUTH_GOOGLE_CALLBACK, OAUTH_FACEBOOK_CLIENT_ID, OAUTH_FACEBOOK_CLIENT_SECRET, OAUTH_FACEBOOK_CALLBACK | Configuración fuente del core; que exista una clave no demuestra una llamada autenticada. |
| Paquetes opcionales | LLM_DEFAULT_PROVIDER, XAI_API_KEY, DEGUG | LLM_DEFAULT_PROVIDER usa openai como fallback. DEGUG está mal escrito en el código y Google Drive lo consulta como una de varias condiciones para desactivar validación TLS; véase API Clients. |
| Aplicación de ejemplo y herramientas | AMELIA_API_URL, AMELIA_API_KEY, SENDGRID_API_KEY, EXCHANGERATE_API_KEY, ROBOT_PATH, PYTHON_BINARY, PHP_BINARY, PATH, HOME, USERPROFILE | Usadas por controladores, ejemplos, utilidades de sistema o comandos de la aplicación anfitriona; no son configuración general del core. |
DB_*_WOO3, DB_*_PARTS, DB_*_2, DB_*_MPO_DOCKER, DB_*_MPP y DB_*_REMOTE aparecen en bloques comentados; esta referencia no los clasifica como perfiles activos. El paquete i18n escribe LANG, LANGUAGE y LC_ALL al seleccionar el locale: en ese flujo son efectos de proceso y no entradas de configuración de SimpleRest.
Fuentes de las filas anteriores: config/config.php, config/databases.php, simplerest-llm-providers/config/config.php, GoogleDrive, WPAmelia, ExchangeRate, RobotController, System y SkillDeleteCommand.
Helpers globales
Las funciones del core se agrupan por los archivos que app.php incluye. Su presencia en una aplicación Composer independiente no está garantizada sin ese bootstrap.
| Área | Funciones declaradas en src/framework/Helpers/ |
|---|---|
| Configuración, entorno y opciones | config, get_cfg, set_cfg, env, get_option, set_option |
| Cache | set_transient, get_transient, delete_transient, set_cache_driver |
| Fecha y hora | datetime, at, now |
| Modelo, esquema y base de datos | withDefaultConnection, migrate, get_model_defs, get_defs, table, get_users_table, get_model_name, get_user_model_name, get_schema_path, get_schema_name, get_schema, inSchema, get_primary_key, get_id_name, get_rel_type, is_mul_rel, get_pivot, get_default_connection, get_default_connection_id, tb_prefix, get_model_namespace, get_model_instance, get_model_instance_by_table, get_api_name, sql_formatter, process_sql_file, enqueue_data, deque_data, log_queries |
| Factories y respuestas | tag, acl, auth, request, response, error |
| HTTP y URLs | cors, route, httpProtocol, redirect, get_api_key_from_request, apache_request_headers, is_ajax, namespace_url, base_url, site_url, consume_api |
| Vistas y assets | get_meta_tag, get_js_tag, get_css_tag, base, include_no_render, get_view_src, get_view, view, render, set_template, shortcode_asset, asset, section, get_metas, get_js, get_css, head, footer, js_file, js, css_file, css, var_encode, umodel |
| Diagnóstico y logging | show_debug_trace, hide_debug_trace, show_debug_response, hide_debug_response, dd, ln, here, print_array, boom, puff, logger, dump, log_error, log_sql, dd_log, dd_error_log, kill_logs |
| HTML, paquetes y sistema | pre, p, br, gdrive_file_updated_at, get_packages, get_packages_from_all_sources, package_scan_base, find_package_by_name, find_package_by_full_name, bg_com, is_cli, is_unix, set_server_limits, get_server_limits, long_run, nap, apply_filters, array_key_first |
Implementaciones del core: cache.php, config.php, date.php, db.php, debug.php, env.php, etc.php, factories.php, gdrive.php, html.php, http.php, loggers.php, options.php, package.php, polyfill.php, system.php, url.php, view.php y wp_dummies.php.
Los paquetes añaden sus propias funciones globales cuando Composer carga sus archivos declarados:
simplerest-psr7:psr7_request,psr7_response,psr7_stream,psr7_uri,psr7_json,psr7_redirect,psr7_html,psr7_text.simplerest-i18n:setLang,trans.
La declaración de array_key_first() es un polyfill condicional. Varios wrappers de compatibilidad del core se declaran sólo cuando la función PHP o del host no existe.
Entradas de comandos
La entrada php com construye el catálogo CommandRegistry desde app/Commands/, las rutas configuradas y los paquetes habilitados; la configuración vigente habilita scaffolding. Formas de ayuda que sólo consultan el catálogo:
text
php com help
php com help <grupo>
php com <grupo> helpEn la ayuda global observada en este checkout aparecen los grupos acl, doc, file, make, migrations, module, mysql, pack, roles, router, skill, sql, system, todo y users. El catálogo puede cambiar con la aplicación, rutas y paquetes habilitados. Consulta la referencia CLI para comandos y límites de efectos.
CliRouter es otra entrada: registra rutas CLI de aplicación y su resolución es independiente del grupo php com. Cuando CommandRegistry no reconoce un grupo, com puede continuar por CliRouter y luego por FrontController según la configuración; pack tiene una rama especial. Esta auditoría consultó pantallas de ayuda y no ejecutó subcomandos operativos ni rutas de CliRouter.
Fuentes de dispatch: com, CommandRegistry.php, BaseCommand.php, CliRouter.php, FrontController.php y config/commands.php.
Interfaces y traits
| Familia | Contratos o traits | Guía |
|---|---|---|
| ACL y autorización | IAcl, IAclBuilder, IAclPolicy, IAclRuntime, AclEngineInterface, AuthorizationPolicyInterface, AuthorizationServiceInterface | Motor de autorización |
| API y autenticación | IApi, IAuth, ITransformer | Controladores API, autenticación |
| Cache y ejecución | ICache, IMemoization, ICountable, IProcessable | Cache, catálogo de referencia |
| Datos y esquema | IDbAccess, IMigration, IMyArrayAccess, ISchema, ISubResources, IUpdateBatch, Arrayable | Conexiones, relaciones, esquemas, migraciones |
| CLI y lifecycle | ICommand, IServiceProvider | CLI, providers |
| Eventos, validación y webhooks | IObserver, ISubject, IValidator, IWebhookTransport | EventBus, validación, webhooks |
| Traits del core | CommandTrait, ErrorReporting, EventBusTrait, ExceptionHandler, InsertWithSubResourcesTrait, PagesTrait, QueryBuilderTrait, RelationshipTrait, SubResourceHandler, TimeExecutionTrait, Uuids | CLI, errores, EventBus, relaciones, paginación y rendimiento, según su responsabilidad. |
| Paquetes | IMail, LLMProviderInterface, ShopifyWooCommerceAdaptorTrait | Correo, LLM Providers, Shopify |
UnitTestCaseRunAllTrait y UnitTestCaseSQLTrait son soporte de pruebas interno. src/framework/Templates/Interface.php y Trait.php son plantillas de generación con el nombre NAME__, no contratos runtime del core.
Contratos del core: Arrayable, IAcl, IAclBuilder, IAclPolicy, IAclRuntime, IApi, IAuth, ICache, ICommand, ICountable, IDbAccess, IMemoization, IMigration, IMyArrayAccess, IObserver, IProcessable, ISchema, IServiceProvider, ISubject, ISubResources, ITransformer, IUpdateBatch, IValidator y IWebhookTransport. Los contratos del motor ACL son AclEngineInterface, AuthorizationPolicyInterface y AuthorizationServiceInterface. Los contratos de paquetes son IMail y LLMProviderInterface.
Traits del core: CommandTrait, ErrorReporting, EventBusTrait, ExceptionHandler, InsertWithSubResourcesTrait, PagesTrait, QueryBuilderTrait, RelationshipTrait, SubResourceHandler, TimeExecutionTrait y Uuids. El adaptador de Shopify declara ShopifyWooCommerceAdaptorTrait.
Familias de clases
| Dominio | Clases principales | Guías dueñas |
|---|---|---|
| Entrada HTTP, routing y servicios | FrontController, Request, Response, WebRouter, Middleware, Container, ServiceProvider, View | Ciclo HTTP, routing, Request/Response, middleware, Container, providers, vistas |
| Controllers, handlers y errores | Controller, WebController, ConsoleController; RequestHandler, ApiHandler, AuthHandler, OutputHandler, MiddlewareHandler, ErrorHandler; familias de excepciones | Handlers, manejo de errores |
| CLI | CliRouter, CommandRegistry, BaseCommand, Cli, StdOut | Comandos, routing CLI |
| API | ApiController, ResourceController, Collections, MySelf, Download, Files, TrashCan | Controladores, Collections, archivos, TrashCan, autenticación |
| Datos | Model, ModelRecord, DB, DBRels, Schema, Migration, Paginator | Model, Query Builder, relaciones, esquemas, migraciones, paginación |
| Seguridad | Acl, AclEngine, AclSnapshot, EffectivePermissionCompiler, TbPermissionBits, RoleHierarchyService, PermissionExplanation | ACL, motor de autorización |
| Runtime y soporte | Config, Env, Factory, Cache, DBCache, FileCache, InMemoryCache, EventBus, Logger, Validator, ValidationRules, CorsHandler | Configuración, cache, EventBus, logging, validación, CORS |
| Red, archivos y contenido | ApiClient, Curl, Files, FileUploader, Base64Uploader, ZipManager, HTML, XML, Image, JsonLd, MediaType | ApiClient, filesystem, uploads, archivos comprimidos, conversión |
| Webhooks | WebhookPublisher, WebhookEvent, WebhookDeliveryDispatcher, WebhookEndpointPolicy, WebhookHttpTransport, WebhookSubscriptionMatcher | Webhooks |
| Paquetes opcionales | Clientes API; seeder AZ; ACL; builders HTML/CSS; imagen/PDF; GeoLite2/Maps; i18n; jobs; JWT; proveedores LLM; helpers legacy de host/strings; mail; PSR-7/SSE; scaffolding; Shopify; inspección web | Catálogo de paquetes enlaza cada familia con su guía por contrato. |
Puntos de entrada de las familias opcionales: GoogleDrive, AZSeederService, implementaciones Basic ACL y Fine-Grained ACL, Bt5Form, CSS, HtmlMinifier, HtmlBuilder, PdfBase, Imaginator, GeoLite2, GoogleMaps, Translate, BackgroundService, AuthController, LLMFactory, Hardware, Mail, ResponseAdapter, SSE, BaseMakeCommand, Shopify, Scanner y SimpleCrypt.
Implementaciones principales del core: FrontController, Request, Response, WebRouter, Middleware, Container, ServiceProvider, View, CliRouter, CommandRegistry, ApiController, ResourceController, Collections, MySelf, Download, Files, TrashCan, Model, ModelRecord, DB, DBRels, Schema, Migration, Paginator, Acl, AclEngine, AclSnapshot, EffectivePermissionCompiler, TbPermissionBits, RoleHierarchyService, PermissionExplanation, Config, Env, EventBus, Logger, Validator, ApiClient, Files utility, FileUploader, Base64Uploader, ZipManager, HTML, XML, Image, JsonLd, MediaType y las seis clases Webhook* de src/framework/Libs/.
Los controladores y handlers principales están implementados en Controller, WebController, ConsoleController, RequestHandler, ApiHandler, AuthHandler, OutputHandler, MiddlewareHandler, ErrorHandler y BaseException.
Las clases de apoyo restantes quedan asignadas en el mapa interno de la auditoría: contiene una fila única por cada uno de los 212 PHP de src/framework y 133 PHP bajo packages/boctulus, además de las 24 carpetas de paquetes; cada fila tiene guía dueña y clasificación. Distingue código público, contratos, soporte interno, pruebas, plantillas, polyfills, compatibilidad y paquetes legacy; el bundle simplerest-integrations queda clasificado como legacy sin PHP ni manifiesto Composer, y los tests PHP no se presentan como APIs instalables.
Límite de esta referencia
La referencia y el mapa son un índice de nombres y contratos fuente. Las guías enlazadas conservan por separado lo que sólo se inspeccionó, lo que se reprodujo y los límites de configuración, red, base de datos, instalación y despliegue. No infieras disponibilidad de una función o clase en runtime únicamente porque aparezca aquí.