-
-
Notifications
You must be signed in to change notification settings - Fork 5
v4 Upgrade guide
Sam Poyigi edited this page Feb 3, 2024
·
1 revision
- ViewMaker::guessViewFileExtension,
App::before- Events:
router.before, router.after, router.beforeRouteuseIlluminate\\Routing\\Events\\Routinginstead - Helper Methods:
root_url,assets_url,image_url,image_path,uploads_url,site_url,assets_path,extension_path,
- Now using an email address instead of a username for admin login
-
App::hasDatabase>Igniter::hasDatabase -
App::extensionsPath>Igniter::extensionsPath -
App::themesPath>Igniter::themesPath() -
systemconfig values are now underigniter.system - Extension config files are no longer merged automatically. You must use Laravel’s
mergeConfigFrom()method from your extension boot method - Renamed mail templates namespace
admin::>igniter.admin::,main::>igntier.main::,system::>igniter.system:: - Renamed translations string keys:
admin::lang.>igniter::admin.,main::lang.>igntier::main.,system::lang.>igniter::system. - Extend exception handler using
reportableandrenderablecallbacks instead of overriding class (ADVANCED level) - Media storage location moved to
public/media/{uploads, attachments} - Replace extension path symbol from
$\\vendor\\extension\\*tovendor.extension::\\* - Removed migration group DB column
- Now using prefixed migration:
admin, main, system>igniter.{admin, main, system}
- Now using prefixed migration:
- Prefix class namespaces
Admin\\,Main\\,System\\>Igniter\\{Admin,Main,System} - Moved all controller classes from
\\Admin\\Controllers\\*>\\Igniter\\Admin\\Http\\Controllers\\*and middlewares fromAdmin\\Middleware\\>Igniter\\Admin\\Http\\Middleware\\*and controller actionsAdmin\\Actions\\>Igniter\\Admin\\Http\\Actions\\ -
Move customer and customer group model, controller, and form request classes fromIgniter\\AdmintoIgniter\\Main - Moved
System\\Models\\Theme>Igniter\\Main\\Models\\Theme,System\\Controllers\\Themes>Igniter\\Main\\Http\\Controllers\\Themes,System\\Classes\\Theme>Igniter\\Main\\Classes\\Theme -
Move customer and customer group model lang stringslang:admin::lang.customers.&lang:admin::lang.customer_groups>lang:igniter::main.customers.&lang:igniter::main.customer_groups Now using laravel’s auth and gates: moved admin auth logic from controller to middlewareModels\\Customer::getName > getFullName- Singletons have their drawbacks so no longer used: you can now resolve most manager classes through Laravel’s IoC so no need to call the
instance()method on a manager class just resolve the class through the IoCresolve(Manager::class) - Change
MainController::remapsignature from$urlto$method, $parametersfor consistency - Remove
$codefrom method signature onThemeManager::loadTheme - Changed
$themeCode > $pathmethod signature onThemeManager::getMetaFromFile - Changed
$themeonPage::getDropdownOptionsmethod signature to accept string - Instead of hacking the Mailer classs, use mixins on the Mail facade to add methods for sending registered mail templates:
Mail::queue() > Mail::queueTemplate() & Mail::send() > Mail::sendTemplate() - Deprecated
MailManager::addContentToMailermethod to use templateMailable::buildViewmethod instead. -
Moved\\Igniter\\Flame\\Cartinto cart extension -
MovedIgniter\\Flame\\Location\\AbstractOrderTypetoIgniter\\Local\\Classes\\AbstractOrderType&Igniter\\Flame\\Location\\OrderTypestoIgniter\\Local\\Classes\\OrderTypes - Now using mixing to extend the mail and string services
- Deprecated
Igniter\\Flame\\Support\\Facades\\Strfacades -
DeprecatedStaffs_modelandStaff_groups_modelforUserGroupandUsermodel - New default view files for index, edit, create, and preview controller actions so you no longer need to create these view files for your admin controller actions
- Deprecated
extension:install,extension:remove,theme:install,theme:removecommands in favor of composerinstallandremovecommands - Media settings moved to the
igniter.systemconfig file - Replaced bootstrap-multiselect JS plugin with selectize JS plugin
-
No longer usingSendsMailTemplatemodel trait.. Using Laravel Mailable instead. - You can now register custom location settings just like you would for system settings by adding a
registerLocationSettingsto your extension class. - Replaced
Location::getOptionwithLocation::getSettings -
MovedIgniter\\Local\\Classes\\AbstractOrderTypetoIgniter\\Cart\\Classes\\AbstractOrderType&Igniter\\Local\\Classes\\OrderTypestoIgniter\\Cart\\Classes\\OrderTypes - The structure for the
dateTimeFilteroption on theOrderandReservationmodel scopelistFrontendhas changed to['startAt' => '', 'endAt' => '']
Database changes:
- Merge
staffrecords intoadmin_userstable and renamestaff_groupstouser_groups - Prefixed tables
users, users_groups, user_groups, user_roles, user_preferencestables withadmin_to avoid conflict with laravel users table - Dropped tables conflicting with laravel default tables:
job_batches,cache,jobs,failed_jobs,sessions, - Increased all columns with
varchar(128)a length of 128 to 255
Theme changes:
- New blade directives
@themeContentto render content template files and@pagefor rendering a pages contents - New blade directives
@componentPartial,@themePartialto replace@component,@partial
API extension changes
- Moved
Igniter\\Api\\Actions\\RestControllertoIgniter\\Api\\Http\\Actions\\RestController
Cart extension changes
- Moved
Igniter\\Flame\\CartintoIgniter\\Cart
PayRegister extension changes
- Rename payment partials.