Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Complete revamp of Willow #51

Open
wants to merge 43 commits into
base: 3.x
Choose a base branch
from
Open

Complete revamp of Willow #51

wants to merge 43 commits into from

Conversation

RyanNerd
Copy link
Owner

@RyanNerd RyanNerd commented Jul 2, 2021

  • Willow now requires PHP 8 as it uses attributes for validation 👮‍♂️ and rule enforcement
  • The entire framework is now a one-way framework (meaning that building the project more than once is a destructive 💣 operation).
  • Forge 👷 commands that build the project are organized as individual classes instead of traits
  • UI 💄 for building out the project via the make command is streamlined 🚅
  • Controllers have been simplified and now use PHP 8 constructs when available
  • Validation 👮 at the model level is done via attributes and reflection and is much faster than before
  • The searchActionBase signatures have been significantly changed now allowing for multiple Eloquent builder via JSON to be safely done.
  • Lots of refactoring 🍴

- PHP 7.4 code formatting
- Change some of the twigs
- Add an 8.x directory for twigs that are optimized for PHP 8+
- Add ApplyModelColumnAttributes attribute
- Add ApplyModelRule attribute
- Add ApplyOverride attribute
- Recode the twigs for controller and model
- Fixes 🔧 to ForgeModel, MakeCommands.php and Model.php.twig
- Retool 🔧 commands and DatabaseUtilities
- Retool 🔧 commands and DatabaseUtilities
- Move getting the .env prompt to the beginning
- Retool 🔧 commands and DatabaseUtilities
- Move getting the .env prompt to the beginning
- index.php changed to not include _env.php in the definitions
- The .env validations in _env.php changed to not require some settings when the selected driver is SQLite.
- The `ENV` DI definition was removed in favor of using `$_ENV[]`
- Fix 🔧 the radio selection in getDotEnv()
- Change the wording in welcome.txt
- Since _env.php was removed as a definition from DI it needed to be manually included.
- Some code clean up.
- Tighten up code and do some refactoring
- Cosmetic changes
- Experimented with DBAL `getIndexes()`
- Snake case
- Saving progress...
- `dbColumns()`` in DatabaseCommands.php is much more detailed than what `DatabaseUtilities::getTableAttributes()` was providing.
- Added `chekEnvLoaded()` to the constructor in DatabaseCommands.php instead of at the begining of every public function.
- Classify the Robo commands
- Save progress
- Code cleanup of DatabaseCommands.php
- Cosmetic 💄 changes to `dbColumns()`
- Added `dbDetails()` to display table details
- Refactored asking users for a table selection `getuserTableSelection()`
- Some refactoring
- Worked on the MakeCommands cosmetic 💄 and functional.
- Fix private scope access
- Cosmetic changes affected logic so removed
- Private access 🔧 fixed
- Fixed 🔧 UI in MakeCommands.php
- UI 💄 changes in MakeCommands.php
- Fixed a 🐛 in index.php where Eloquent wasn't defined and an attempt to instantiate was being made.
- Fixed a 🐛 in Willow.php where the Error middleware was passed in the wrong parameter type.
- MakeCommands make was fixed 🔧 so that column parameters are being passed to `modelForge()` where `$route` was an incorrect argument.
- Model.php.twig updated to handle the column parameters.
- Model Forge sorted out (fixed 🔧)
- Added ModelRule.php.twig
- Naming bug fix for ModelRules.php.twig
- Refactor ForgeController.php
- Fix pathing 🐛 in ForgeController.php
- More Refactoring
- Code cleanup
- Fix 🔧 GetAction.php.twig
- ForgeValidator.php refactoring and 🐛 fixes
- 🐛 fixes in ModelValidator.php.twig and the fact that MakeCommands.php never actually called `forgeModelValidator()`
- LOTS of refactoring and code cleanup
- LOTS of refactoring and code cleanup
- SearchActionBase.php changes significantly as does SearchValidatorBase.php
- Add an ALLOWED_METHODS constant to SearchValidatorBase.php since using method detection would allow write based operations such as `insert()` and `delete()`
- Removed `getTableName()` from ModelBase.php
- Removed the ``$allowAll` model public property
- Removed all logic around the `$allowAll` property
- Rename of `WHITE_LIST` to the more declarative `ALLOWED_PARAMETER_KEYS`
- Fixed 🔧 logic in SearchActionBase.php
- Fixed 🔧 logic in SearchValidatorBase.php
- WriteActionBase.php now uses the innate `getTable()` function (was using `getTableName()`)
- Dependency version bumps
- Suggestions added to composer.json
- Code, docblock and comments cleanup
- Allow union type of `array|string` in `ResponseBody::setMessage(array|string $message)`
- Refactor of CommandsBase.php
- Addressed a potential 🐛 in DatabaseCommands.php when a table didn't have a PK
- Also in DatabaseCommands.php Added more output for `dbDetils()`
- Code clean up in ModelValidatorBase.php
- Removal of UserReplies.php since all the methods were moved to CommandsBase.php
- Fixed a 🐛 in DatabaseUtilities.php where `getTableIndexes()` had the wrong return type
- Cosmetic 💄 UI changes in DatabaseCommands.php
- Tons of tutorial text files
- Fixed 🔧 a 🐛 in Willow.php with the error middleware.
- Moved the `STDERR` and `STDOUT` definitions from index.php to CliBase.php
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant