d0c4b3c503
feat(test): add multi-engine integration matrix
2026-09-05 16:15:28 -03:00
48d3ed6b3f
docs(makefile): document develop/master publish workflow
2026-09-05 14:17:14 -03:00
d9ac4c3f14
build: add Makefile with test and publish targets
2026-09-05 14:09:40 -03:00
d594aa3ec1
test(unit): Add Neuron and Validator regression tests
2026-09-05 13:43:35 -03:00
bf03e10b54
test(bootstrap): add smoke test for autoload and test DB
2026-09-05 13:25:47 -03:00
f1bda46723
test(factories): add abstract Factory base class
2026-09-05 12:37:41 -03:00
dbbde42fe7
test: add base TestCase and bootstrap for in-memory SQLite
2026-09-05 12:33:20 -03:00
7494ec5fda
chore: add PHPUnit configuration and unit tests directory
2026-09-05 12:11:08 -03:00
c0e5cf79d0
build: Add composer setup with phpunit and faker
2026-09-05 12:02:34 -03:00
a4fcd21492
chore: add .gitignore for PHP project
2026-09-05 11:50:27 -03:00
a4611e8718
chore(src): rename .keep files to .gitkeep
...
Use the conventional `.gitkeep` filename so Git tooling recognizes
these placeholder files by default.
2026-09-05 11:35:04 -03:00
9027f36748
refactor(model): use reflection for search field discovery
2026-09-05 00:39:16 -03:00
2ae9ef39f3
feat(request): negotiate error response frmat based on Accept header
2026-09-03 18:23:42 -03:00
ee0db0307e
docs(Validator): Expand documentation with complete rules reference
2026-09-03 18:22:52 -03:00
44cbe6bbdc
feat(validator): add file upload validation rules
2026-09-03 18:07:54 -03:00
31728af351
docs: Clarify phpdoc
2026-09-03 16:12:54 -03:00
4845d14ef5
chore(validator): suppress PHPCS rule for non-camel-case method
2026-09-03 15:59:48 -03:00
aca4e732ed
feat(validation): Add human-readable validation error messages
2026-09-03 15:59:36 -03:00
f475c9125f
feat(Validator): Add confirmed, required_with, and required_if rules
2026-09-03 15:03:28 -03:00
4fe7314389
feat(Validator): Add regex and date validation methods
2026-09-03 14:42:15 -03:00
1f366830bc
feat(validation): add type and size-based validation methods
...
Add string, array, min, max, between, and size validators to the
Validator class. A private measure helper centralizes size semantics
for numbers (value), strings (length), and arrays (element count).
2026-09-03 14:35:02 -03:00
15df7c8d96
refactor(Validator): improve rule argument parsing
2026-09-03 14:20:02 -03:00
b8dd1fd0f6
refactor(model): remove default 'id' from dbIgnoreSave list
2026-06-19 16:08:29 -03:00
83c80bd4ab
fix(model): prevent overwriting primary key on save
2026-06-19 15:34:47 -03:00
b13c07d3c4
fix(model): Remove the NULL check in the attribute loop
2026-06-19 15:29:51 -03:00
b95747bfe0
feat(model): add type casting for DateTime
2026-06-19 15:14:25 -03:00
01c5eceeb4
refactor(model): Use match expression for PDO type detection
2026-06-19 14:52:25 -03:00
ee9c109ed9
fix(model): improve PDO parameter binding and update logic
2026-06-19 14:47:01 -03:00
7eed69725d
refactor(model): extract type casting logic into helper methods
2026-06-19 14:46:30 -03:00
e37035eed8
fix(model): support both backed and unit enums
2026-06-13 16:48:07 -03:00
5312e5060e
fix(model): reset dbQueryVariables before update and insert
...
Clear the static $dbQueryVariables array before performing update
and insert operations to prevent data leakage between queries.
2026-06-13 15:30:45 -03:00
3c9db3ac53
refactor(neuron): remove return type hint from __get method
2026-06-05 13:28:19 -03:00
2b5d19ecd5
fix(synapsis): Skip variadic parameters in argument resolution
2026-04-15 16:35:32 -03:00
53e862d126
feat(exception): Register global exception handler
...
This handler catches uncaught exceptions and prints their message
and stack trace.
2026-03-16 06:38:26 -03:00
b6baeef32f
style(Synapsis): Wrap long exception message for readability
2026-03-16 06:25:09 -03:00
159da01d5c
fix(synapsis): Include parameter name in untyped parameter error
2026-03-16 06:24:16 -03:00
3770dd6d9b
refactor(model): Track model persistence state
2026-03-11 18:48:32 -03:00
76a69e5ef8
refactor(Model): Standarize property names
2026-03-11 18:22:16 -03:00
c5a4967ae4
refactor: Extract autoloader to dedicated file
2026-02-10 14:09:13 -03:00
c0b9f3851a
chore(router): Remove redundant middleware count check
2026-02-02 10:23:48 -03:00
78e199e300
feat(router): Introduce withMiddleware() for scoped middlewares
2026-02-01 08:25:54 -03:00
8cd5e114dd
refactor(router): Align type hint for optional parameter in docblock
2026-02-01 07:47:04 -03:00
ce03bdb27d
fix(model): Fix postgresql search.
2025-10-27 15:16:54 -03:00
b24598b118
fix(sqlite): Correct base table for RIGHT JOIN conversion
2025-10-27 15:15:45 -03:00
5019b89cc0
docs(readme): Update PostgreSQL compatibility status
2025-10-27 10:27:18 -03:00
d030e8d30e
refactor(model)!: Allow groupBy to accept multiple args instead an array
2025-10-27 10:26:12 -03:00
b2672ad92f
fix(model): Remove ON clause from cross join
2025-10-27 10:24:25 -03:00
4c57770b43
refactor(model): Remove backticks from column names
2025-10-27 10:23:55 -03:00
8e84450f95
fix(query): Adjust LIMIT OFFSET clause syntax
2025-10-27 10:23:31 -03:00
ece32b9bbe
docs(readme): Update supported where clauses
2025-10-27 06:50:13 -03:00