kj
5022fdac75
refactor(router): remove exit statement from redirect method
2026-09-07 19:59:36 -03:00
kj
70b1016194
refactor(autoload): remove global exception handler
2026-09-07 17:34:58 -03:00
kj
86ab8b979a
test(router): verify custom exceptions reach exception callback
2026-09-07 17:34:14 -03:00
kj
9ddb00e719
test(request): cover exception-based validation failures
2026-09-07 17:21:47 -03:00
kj
a534613d26
refactor(request): propagate validation failures as exceptions
2026-09-07 17:20:19 -03:00
kj
65380f37c6
test(Router): Add unit tests for defaultException and apply flows
2026-09-07 17:04:52 -03:00
kj
5f3fc16735
feat(router): add error boundary with exception callback
2026-09-07 17:04:20 -03:00
kj
146aed0db8
test(synapsis): cover named argument injection in resolve
2026-09-07 16:18:09 -03:00
kj
9dbfd7da8e
feat: add named parameter injection to resolve()
2026-09-07 16:17:34 -03:00
kj
3e7c367182
test(integration): cover query failure state cleanup
2026-09-05 16:47:39 -03:00
kj
25db49f4bd
fix(model): reset query state when database query fails
2026-09-05 16:45:02 -03:00
kj
9cb41d51d0
fix(model): use RANDOM() for non-MySQL databases in orderBy
2026-09-05 16:37:37 -03:00
kj
d0c4b3c503
feat(test): add multi-engine integration matrix
2026-09-05 16:15:28 -03:00
kj
48d3ed6b3f
docs(makefile): document develop/master publish workflow
2026-09-05 14:17:14 -03:00
kj
d9ac4c3f14
build: add Makefile with test and publish targets
2026-09-05 14:09:40 -03:00
kj
d594aa3ec1
test(unit): Add Neuron and Validator regression tests
2026-09-05 13:43:35 -03:00
kj
bf03e10b54
test(bootstrap): add smoke test for autoload and test DB
2026-09-05 13:25:47 -03:00
kj
f1bda46723
test(factories): add abstract Factory base class
2026-09-05 12:37:41 -03:00
kj
dbbde42fe7
test: add base TestCase and bootstrap for in-memory SQLite
2026-09-05 12:33:20 -03:00
kj
7494ec5fda
chore: add PHPUnit configuration and unit tests directory
2026-09-05 12:11:08 -03:00
kj
c0e5cf79d0
build: Add composer setup with phpunit and faker
2026-09-05 12:02:34 -03:00
kj
a4fcd21492
chore: add .gitignore for PHP project
2026-09-05 11:50:27 -03:00
kj
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
kj
9027f36748
refactor(model): use reflection for search field discovery
2026-09-05 00:39:16 -03:00
kj
2ae9ef39f3
feat(request): negotiate error response frmat based on Accept header
2026-09-03 18:23:42 -03:00
kj
ee0db0307e
docs(Validator): Expand documentation with complete rules reference
2026-09-03 18:22:52 -03:00
kj
44cbe6bbdc
feat(validator): add file upload validation rules
2026-09-03 18:07:54 -03:00
kj
31728af351
docs: Clarify phpdoc
2026-09-03 16:12:54 -03:00
kj
4845d14ef5
chore(validator): suppress PHPCS rule for non-camel-case method
2026-09-03 15:59:48 -03:00
kj
aca4e732ed
feat(validation): Add human-readable validation error messages
2026-09-03 15:59:36 -03:00
kj
f475c9125f
feat(Validator): Add confirmed, required_with, and required_if rules
2026-09-03 15:03:28 -03:00
kj
4fe7314389
feat(Validator): Add regex and date validation methods
2026-09-03 14:42:15 -03:00
kj
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
kj
15df7c8d96
refactor(Validator): improve rule argument parsing
2026-09-03 14:20:02 -03:00
kj
b8dd1fd0f6
refactor(model): remove default 'id' from dbIgnoreSave list
2026-06-19 16:08:29 -03:00
kj
83c80bd4ab
fix(model): prevent overwriting primary key on save
2026-06-19 15:34:47 -03:00
kj
b13c07d3c4
fix(model): Remove the NULL check in the attribute loop
2026-06-19 15:29:51 -03:00
kj
b95747bfe0
feat(model): add type casting for DateTime
2026-06-19 15:14:25 -03:00
kj
01c5eceeb4
refactor(model): Use match expression for PDO type detection
2026-06-19 14:52:25 -03:00
kj
ee9c109ed9
fix(model): improve PDO parameter binding and update logic
2026-06-19 14:47:01 -03:00
kj
7eed69725d
refactor(model): extract type casting logic into helper methods
2026-06-19 14:46:30 -03:00
kj
e37035eed8
fix(model): support both backed and unit enums
2026-06-13 16:48:07 -03:00
kj
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
kj
3c9db3ac53
refactor(neuron): remove return type hint from __get method
2026-06-05 13:28:19 -03:00
kj
c5a4967ae4
refactor: Extract autoloader to dedicated file
2026-02-10 14:09:13 -03:00
kj
c0b9f3851a
chore(router): Remove redundant middleware count check
2026-02-02 10:23:48 -03:00
kj
78e199e300
feat(router): Introduce withMiddleware() for scoped middlewares
2026-02-01 08:25:54 -03:00
kj
8cd5e114dd
refactor(router): Align type hint for optional parameter in docblock
2026-02-01 07:47:04 -03:00
kj
ce03bdb27d
fix(model): Fix postgresql search.
2025-10-27 15:16:54 -03:00
kj
b24598b118
fix(sqlite): Correct base table for RIGHT JOIN conversion
2025-10-27 15:15:45 -03:00
kj
5019b89cc0
docs(readme): Update PostgreSQL compatibility status
2025-10-27 10:27:18 -03:00
kj
d030e8d30e
refactor(model)!: Allow groupBy to accept multiple args instead an array
2025-10-27 10:26:12 -03:00
kj
b2672ad92f
fix(model): Remove ON clause from cross join
2025-10-27 10:24:25 -03:00
kj
4c57770b43
refactor(model): Remove backticks from column names
2025-10-27 10:23:55 -03:00
kj
8e84450f95
fix(query): Adjust LIMIT OFFSET clause syntax
2025-10-27 10:23:31 -03:00
kj
ece32b9bbe
docs(readme): Update supported where clauses
2025-10-27 06:50:13 -03:00
kj
a5cf9d239d
refactor(model): Fix typo on WHERE EXISTS/NOT EXISTS methods
2025-10-27 06:46:17 -03:00
kj
b9509c49ed
refactor(model): Add string type hint to select columns
2025-10-21 16:26:39 -03:00
kj
6e433b4d06
feat(query-builder): Implement advanced WHERE and new JOIN clauses
2025-10-17 13:13:01 -03:00
kj
892b3614ec
refactor(db): Detect DB type using PDO driver name
2025-10-17 13:12:02 -03:00
kj
a0b544eae5
refactor(Model): Rename bindValue to bind and make public
2025-10-17 11:55:37 -03:00
kj
20fd78ab53
docs(Request): Remove param comment
2025-10-16 20:51:52 -03:00
kj
f5411daaa5
Translate comments to English
2025-10-16 20:02:54 -03:00
kj
7e7ec68fd7
refactor(router): Use Neuron object for route parameters
2025-10-16 12:04:05 -03:00
kj
ac9a661bc0
fix(htaccess): Block direct access to vendor and src folders
2025-10-11 12:15:15 -03:00
kj
c8d7b69367
feat(bootstrap): Introduce Libs\Loader for directory loading
2025-10-11 10:44:20 -03:00
kj
7f62e06ff9
docs: Improve documentation and translate comments to English
2025-10-10 21:18:22 -03:00
kj
674c9d5ff4
fix(validator): Improve filter_var robustness in validation methods
2025-10-10 21:17:41 -03:00
kj
2f50532e13
refactor(Model): Type hint setNull variadic arguments
2025-10-10 21:06:11 -03:00
kj
b41514a491
fix(di): Improve parameter resolution and validation
2025-10-10 19:15:07 -03:00
kj
a1a15f492c
refactor!: add Synapsis for dependency resolution and injection
...
- Remove Middleware class and custom callback handling logic.
- Implement Synapsis as a dependency injection container for automatic
resolution.
- Refactor Router to use Synapsis for process route callbacks and not found
handler.
- Update Request to remove middleware-specific properties and use
Router::$currentParams for path parameters.
2025-10-10 17:44:49 -03:00
kj
b19e7d8789
Remove a forgotten debug line.
2025-09-07 18:52:33 -03:00
kj
4dfdb52519
Remove unnecessary and really never-used tableSufix property.
2025-09-07 15:25:48 -03:00
kj
b0891885f9
BREAKING CHANGE: Make select, from, and setNull methods variadic.
2025-09-07 15:20:06 -03:00
kj
b282d5479f
Convert object/database naming conventions.
...
Adhere to PSR-12 by converting object properties to "lowerCamelCase" for objects
and "snake_case" for database interactions.
Backward compatibility is maintained: object properties already using
"snake_case" will continue to work without issue.
2025-09-07 15:01:45 -03:00
kj
c9f467345b
BREAKING CHANGE: Adhere to PSR-12 coding standards.
...
- Model: where_in method was renamed as whereIn.
2025-09-07 11:07:07 -03:00
kj
0f46848d15
Remove the predefined 'id' property.
...
This property is not necessary and gives less flexibility.
2025-08-15 14:51:16 -03:00
kj
b2cb8d6883
Allow statically call beginTransaction, rollback and commit methods.
2025-07-15 18:12:41 -03:00
kj
e9126e7cde
Fix: Implicitly marking parameter as nullable is deprecated.
...
PHP 8.4 deprecation.
2025-06-07 14:27:47 -03:00
kj
7169d2cae3
Fix: render is not using the defined extension.
2025-06-07 14:17:11 -03:00
kj
66b2bc0d91
Remove unnecesary php close.
2025-06-07 14:14:16 -03:00
kj
c8ab2aa2cc
Remove unnecesary echo.
2025-05-20 12:49:20 -03:00
kj
1e302a9ea7
BREAKING CHANGE: Change unnecesary false return type.
2025-04-19 15:44:16 -03:00
kj
d0d0d4dc76
Verify if a valid http query string after run parse_str.
2025-02-20 08:22:47 -03:00
kj
595e9c1316
Save body request as a property.
2025-02-20 08:22:37 -03:00
kj
45abea5301
Add delete request params.
2025-02-20 06:28:03 -03:00
kj
d441f001ec
Add type of items on array on dockblock for "all" method.
2025-02-03 16:04:39 -03:00
kj
19da122e05
Add type of items on array on dockblock for get method.
2025-02-03 16:02:27 -03:00
kj
1a0164c8ed
Change static methods to non-static and made onInvalid public.
2024-10-30 11:53:44 -04:00
kj
ad9f8ec67d
Remove unnecesary brackets.
2024-10-29 19:12:25 -04:00
kj
31c5c63952
Remove innecesary return.
2024-10-29 19:10:47 -04:00
kj
6aef212350
Fix className not returning the classname in the right format.
2024-10-25 10:40:57 -04:00
kj
c600688725
Improve return array dockblocks.
2024-09-23 18:09:38 -04:00
kj
3e27b1b7af
Allow null on enum properties.
2024-09-23 15:06:44 -04:00
kj
73b7b8f72a
Change required valitator to not allow empty values and add exists.
...
The exists validator do the same as the old required.
2024-09-18 14:33:33 -04:00
kj
7baad428ec
Refactor request library.
2024-09-08 14:43:56 -04:00
kj
3d2a607768
Fix where_in is wiping previous where/and/or.
...
For now, works as an AND, but maybe later, same as where will exists
new methods: AndIn and OrIN.
2024-08-30 16:26:03 -04:00
kj
df424ffab5
Model properties now can be typed as enums.
...
With this PHP 8.0 support is dropped.
2024-08-27 19:01:02 -04:00
kj
daf7250882
Catch and verify put and patch input values.
2024-08-13 10:22:44 -04:00
kj
05cd83fd10
Remove unused variable.
2024-07-31 03:29:49 -04:00