5022fdac75
refactor(router): remove exit statement from redirect method
2026-09-07 19:59:36 -03:00
70b1016194
refactor(autoload): remove global exception handler
2026-09-07 17:34:58 -03:00
86ab8b979a
test(router): verify custom exceptions reach exception callback
2026-09-07 17:34:14 -03:00
9ddb00e719
test(request): cover exception-based validation failures
2026-09-07 17:21:47 -03:00
a534613d26
refactor(request): propagate validation failures as exceptions
2026-09-07 17:20:19 -03:00
65380f37c6
test(Router): Add unit tests for defaultException and apply flows
2026-09-07 17:04:52 -03:00
5f3fc16735
feat(router): add error boundary with exception callback
2026-09-07 17:04:20 -03:00
146aed0db8
test(synapsis): cover named argument injection in resolve
2026-09-07 16:18:09 -03:00
9dbfd7da8e
feat: add named parameter injection to resolve()
2026-09-07 16:17:34 -03:00
3e7c367182
test(integration): cover query failure state cleanup
2026-09-05 16:47:39 -03:00
25db49f4bd
fix(model): reset query state when database query fails
2026-09-05 16:45:02 -03:00
9cb41d51d0
fix(model): use RANDOM() for non-MySQL databases in orderBy
2026-09-05 16:37:37 -03:00
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