Update the Core package in your composer.json
file:
"solital/core": "4.*"
These variables below will no longer be used in version 4.x
, so they should be removed.
INDEX_LOGIN="solital_index_login"
PRODUCTION_MODE="false"
In the config.php
file, add the constant SITE_ROOT
at the beginning of the file, and replace the line below:
$dotenv = Dotenv\Dotenv::createUnsafeImmutable(__DIR__);
$dotenv->load();
For this:
use Solital\Core\Kernel\Dotenv;
Dotenv::env(__DIR__);
The config.php
file should be as follows:
<?php
define('SITE_ROOT', __DIR__);
require_once 'vendor/autoload.php';
use Solital\Core\Kernel\Application;
use Solital\Core\Kernel\Dotenv;
Application::sessionInit();
Dotenv::env(__DIR__);
if (!empty(getenv('ERRORS_DISPLAY'))) {
if (getenv('ERRORS_DISPLAY') == 'true') {
ini_set('display_errors', 1);
error_reporting(E_ALL);
}
}
Find the Config
class inside the app/Console/
folder and change the getCommandClass()
method:
public function getCommandClass(): array
{
$this->command_class = Application::getUserCommands();
return $this->command_class;
}
First, locate the file inside the public/
folder.
The index.php
file has few changes. The only things you need to do are: remove the constant SITE_ROOT
as it will already exist in the config.php
file, and replace the line below:
Course::csrfVerifier(new BaseCsrfVerifier());
For this:
Application::loadCsrfVerifier();
The index.php
file should be as follows:
<?php
require_once dirname(__DIR__). '/vendor/autoload.php';
use Solital\Core\Course\Course;
use Solital\Core\Kernel\Application;
Application::autoload("../vendor/solital/core/src/Resource/Helpers/");
Course::setDefaultNamespace('\Solital\Components\Controller');
Application::loadCsrfVerifier();
Application::autoload("../routers/");
Application::init();
After all these changes, you will need to run the following command:
php vinci generate:files
This command will copy configuration files into the app/config
folder. This command should be executed whenever there is an important update.
To verify that the update was successful, run php vinci version
to see the Core version. Also, run php vinci server
to check on the splash screen that everything is working.