Message: Return type of CI_Session_files_driver::open($save_path, $name) should either be compatible with SessionHandlerInterface::open(string $path, string $name): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice
Message: Return type of CI_Session_files_driver::close() should either be compatible with SessionHandlerInterface::close(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice
Message: Return type of CI_Session_files_driver::read($session_id) should either be compatible with SessionHandlerInterface::read(string $id): string|false, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice
Message: Return type of CI_Session_files_driver::write($session_id, $session_data) should either be compatible with SessionHandlerInterface::write(string $id, string $data): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice
Message: Return type of CI_Session_files_driver::destroy($session_id) should either be compatible with SessionHandlerInterface::destroy(string $id): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice
Message: Return type of CI_Session_files_driver::gc($maxlifetime) should either be compatible with SessionHandlerInterface::gc(int $max_lifetime): int|false, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice
To compare any development approach we need to discuss the most important points of the development process for each approach. The support of each approach to these points will finally give us the best approach to use for our development.
Here is a list of the most important points which should be supported by a good development approach.
Security
Speed
Customizable
Standard
Fast Development
Separation Of Concerns
Light Weight
The following table compares all these features for both approaches.
Feature
Core PHP
PHP Frameworks
Application Security
Need to implement our self
Automatically implemented
Speed
Faster
Less fast then core
Customizable
Fully Customizable
Need to follow the structure so less customizable
Standard
The is no standard app structure
Have a standard app structure
Fast Development
Slow development
Fast development because some features are builtin
Separation Of Concerns
No MVC approach
Most of the frameworks follow MVC structure
Light Weight
More lightweight because there will be no extra code
Heavyweight then core PHP
Conclusion:
The conclusion of the above comparison is we should use PHP frameworks for our app because those are developed by market professionals to ease normal programmer work. Otherwise, we need to implement each feature ourself in core PHP.