Skip to content

Commit

Permalink
Merge branch 'migrate-to-use-laminas-components'
Browse files Browse the repository at this point in the history
* migrate-to-use-laminas-components: (24 commits)
  ok
  Apply fixes from StyleCI
  try clear cache
  cs
  mark zend-mvc as conflict to ensure installed in laminas mvc app
  add laminas/laminas-developer-tools ^2.0 support
  normalize composer.json
  travis config use php 7.4 stable
  4snapshot
  link
  add php 7.4
  add phpunit.xml to .gitattributes
  undo conflict
  rm .phpunit.result.cache
  mark zendframework/zend-mvc as conflict
  mark zendframework/zend-mvc as conflict
  update composer definition to laminas
  clean up
  upping version as major version
  remove conflict
  ...
  • Loading branch information
samsonasik committed Jan 3, 2020
2 parents a3aeef3 + 9ea27ec commit 9362259
Show file tree
Hide file tree
Showing 24 changed files with 113 additions and 523 deletions.
3 changes: 2 additions & 1 deletion .gitattributes
Expand Up @@ -3,4 +3,5 @@
/.styleci.yml export-ignore
/.travis.yml export-ignore
/test/ export-ignore
/CONTRIBUTING.md export-ignore
/CONTRIBUTING.md export-ignore
/phpunit.xml export-ignore
1 change: 1 addition & 0 deletions .gitignore
@@ -1,2 +1,3 @@
vendor/
composer.lock
.phpunit.result.cache
1 change: 1 addition & 0 deletions .travis.yml
Expand Up @@ -5,6 +5,7 @@ language: php
php:
- 7.2
- 7.3
- 7.4

before_install:
- mkdir -p build/logs
Expand Down
12 changes: 7 additions & 5 deletions README.md
Expand Up @@ -14,13 +14,15 @@ SanSessionToolbar

What is it about ?
-----------------
It is a ZF module as session toolbar for [ZendDeveloperTools](https://github.com/zendframework/ZendDeveloperTools). It shows you the ZF session data you've been using like this :
It is a Laminas module as session toolbar for [LaminasDeveloperTools](https://github.com/laminas/LaminasDeveloperTools). It shows you the Laminas session data you've been using like this :

![Fully Crud ZF sessions data](https://cloud.githubusercontent.com/assets/459648/6867548/cad28e40-d4b5-11e4-911c-ffd8b88fd41f.png)
![Fully Crud Laminas sessions data](https://cloud.githubusercontent.com/assets/459648/6867548/cad28e40-d4b5-11e4-911c-ffd8b88fd41f.png)

You can reload, clear, add, update, and remove your sessions data.

> This is README for version ^2.1 which only support ZF3 with php ^7.2.
> This is README for version ^3.0 which only support Laminas 3 with php ^7.2.
> For version 2.1.*, you can read at [version 2.1.* readme](https://github.com/samsonasik/SanSessionToolbar/blob/2.1.x/README.md) which support ZF3 and php ^7.2.
> For version 2.0.*, you can read at [version 2.0.* readme](https://github.com/samsonasik/SanSessionToolbar/blob/2.0.x/README.md) which support ZF3 and php ^7.1.
Expand All @@ -43,7 +45,7 @@ Enable it :
return [
'modules' => [
// ...
'ZendDeveloperTools',
'Laminas\DeveloperTools',
'SanSessionToolbar', // put at the end of modules list!
]
// ...
Expand All @@ -52,7 +54,7 @@ return [

> **Note** :
- for better ouput format, you need to have Xdebug installed in your system.
- for zend-mvc v3 usage, if you want to get FlashMessenger data, you need to install zendframework/zend-mvc-plugin-flashmessenger
- for laminas-mvc v3 usage, if you want to get FlashMessenger data, you need to install laminas/laminas-mvc-plugin-flashmessenger

Contributing
------------
Expand Down
29 changes: 15 additions & 14 deletions composer.json
@@ -1,11 +1,11 @@
{
"name": "san/san-session-toolbar",
"type": "library",
"description": "ZF Session Toolbar for ZendDeveloperTools ",
"description": "Laminas Session Toolbar for Laminas\\DeveloperTools ",
"keywords": [
"session",
"zf2",
"zf3"
"laminas2",
"laminas3"
],
"homepage": "https://github.com/samsonasik/SanSessionToolbar",
"license": "MIT",
Expand All @@ -19,22 +19,23 @@
],
"require": {
"php": "^7.2",
"zendframework/zend-json": "^2.5 || ^3.0",
"zendframework/zend-mvc": "^3.0",
"zendframework/zend-session": "^2.8.4"
"laminas/laminas-dependency-plugin": "^0.1.2",
"laminas/laminas-json": "^2.5 || ^3.0",
"laminas/laminas-mvc": "^3.0",
"laminas/laminas-session": "^2.8.4"
},
"require-dev": {
"zendframework/zend-developer-tools": "^1.1.0",
"zendframework/zend-i18n": "^2.5",
"zendframework/zend-log": "^2.5",
"zendframework/zend-mvc-plugin-flashmessenger": "^1.0",
"zendframework/zend-router": "^3.0",
"zendframework/zend-serializer": "^2.5",
"zendframework/zend-test": "^3.0"
"laminas/laminas-developer-tools": "^1.1.0 || ^2.0",
"laminas/laminas-i18n": "^2.5",
"laminas/laminas-log": "^2.5",
"laminas/laminas-mvc-plugin-flashmessenger": "^1.0",
"laminas/laminas-router": "^3.0",
"laminas/laminas-serializer": "^2.5",
"laminas/laminas-test": "^3.0"
},
"suggest": {
"ext-xdebug": "For better output format of session data, Xdebug should already installed",
"zendframework/zend-mvc-plugin-flashmessenger": "^1.0 for zend-mvc ^3.0 usage to be able to use flashMessenger"
"laminas/laminas-mvc-plugin-flashmessenger": "^1.0 for laminas-mvc ^3.0 usage to be able to use flashMessenger"
},
"autoload": {
"psr-4": {
Expand Down
24 changes: 4 additions & 20 deletions config/module.config.php
Expand Up @@ -2,7 +2,7 @@

namespace SanSessionToolbar;

use Zend\ServiceManager\Factory\InvokableFactory;
use Laminas\ServiceManager\Factory\InvokableFactory;

/**
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
Expand Down Expand Up @@ -56,28 +56,12 @@

'view_manager' => [
'template_map' => [
'zend-developer-tools/toolbar/session-data' => __DIR__.'/../view/zend-developer-tools/toolbar/session-data.phtml',
'zend-developer-tools/toolbar/session-data-list' => __DIR__.'/../view/zend-developer-tools/toolbar/session-data-list.phtml',
'laminas-developer-tools/toolbar/session-data' => __DIR__.'/../view/laminas-developer-tools/toolbar/session-data.phtml',
'laminas-developer-tools/toolbar/session-data-list' => __DIR__.'/../view/laminas-developer-tools/toolbar/session-data-list.phtml',
],
'strategies' => [
'ViewJsonStrategy',
],
'template_path_stack' => [
'zend-developer-tools' => __DIR__ . '/../view',
],
],

'zenddevelopertools' => [
'profiler' => [
'collectors' => [
'session.toolbar' => 'session.toolbar',
],
],
'toolbar' => [
'entries' => [
'session.toolbar' => 'zend-developer-tools/toolbar/session-data',
],
],
],

'laminas-developer-tools' => [
Expand All @@ -88,7 +72,7 @@
],
'toolbar' => [
'entries' => [
'session.toolbar' => 'zend-developer-tools/toolbar/session-data',
'session.toolbar' => 'laminas-developer-tools/toolbar/session-data',
],
],
],
Expand Down
3 changes: 0 additions & 3 deletions phpunit.xml
Expand Up @@ -11,9 +11,6 @@
<filter>
<whitelist addUncoveredFilesFromWhitelist="true">
<directory suffix=".php">./src</directory>
<exclude>
<file>./src/autoload.php</file>
</exclude>
</whitelist>
</filter>
</phpunit>
6 changes: 3 additions & 3 deletions src/Collector/SessionCollector.php
Expand Up @@ -21,9 +21,9 @@

namespace SanSessionToolbar\Collector;

use Laminas\DeveloperTools\Collector\AbstractCollector;
use Laminas\Mvc\MvcEvent;
use SanSessionToolbar\Manager\SessionManagerInterface;
use Zend\Mvc\MvcEvent;
use ZendDeveloperTools\Collector\AbstractCollector;

/**
* Session Data Collector.
Expand Down Expand Up @@ -76,7 +76,7 @@ public function collect(MvcEvent $mvcEvent)
*
* @return array|null
*/
public function getSessionData() : ?array
public function getSessionData(): ?array
{
return $this->data['san-session'] = $this->sessionManager->getSessionData();
}
Expand Down
16 changes: 8 additions & 8 deletions src/Controller/SessionToolbarController.php
Expand Up @@ -21,12 +21,12 @@

namespace SanSessionToolbar\Controller;

use Laminas\Http\PhpEnvironment\Request;
use Laminas\Mvc\Controller\AbstractActionController;
use Laminas\Validator\NotEmpty;
use Laminas\View\Model\JsonModel;
use Laminas\View\Renderer\RendererInterface;
use SanSessionToolbar\Manager\SessionManagerInterface;
use Zend\Http\PhpEnvironment\Request;
use Zend\Mvc\Controller\AbstractActionController;
use Zend\Validator\NotEmpty;
use Zend\View\Model\JsonModel;
use Zend\View\Renderer\RendererInterface;

/**
* Session Toolbar Controller.
Expand Down Expand Up @@ -85,7 +85,7 @@ public function reloadsessionAction()
$sessionData = $this->sessionManager->getSessionData(false);

$renderedContent = $this->viewRenderer
->render('zend-developer-tools/toolbar/session-data-list', ['sessionData' => $sessionData]);
->render('laminas-developer-tools/toolbar/session-data-list', ['sessionData' => $sessionData]);

return new JsonModel([
'san_sessiontoolbar_data_renderedContent' => $renderedContent,
Expand All @@ -104,7 +104,7 @@ public function clearsessionAction()

$sessionData = $this->sessionManager->getSessionData();
$renderedContent = $this->viewRenderer
->render('zend-developer-tools/toolbar/session-data-list', ['sessionData' => $sessionData]);
->render('laminas-developer-tools/toolbar/session-data-list', ['sessionData' => $sessionData]);

return new JsonModel([
'san_sessiontoolbar_data_renderedContent' => $renderedContent,
Expand All @@ -125,7 +125,7 @@ public function savesessionAction()

$sessionData = $this->sessionManager->getSessionData();
$renderedContent = $this->viewRenderer
->render('zend-developer-tools/toolbar/session-data-list', ['sessionData' => $sessionData]);
->render('laminas-developer-tools/toolbar/session-data-list', ['sessionData' => $sessionData]);

return new JsonModel([
'success' => $processSetOrAddSessionData['success'],
Expand Down
2 changes: 1 addition & 1 deletion src/Factory/Collector/SessionCollectorFactory.php
Expand Up @@ -32,7 +32,7 @@
*/
class SessionCollectorFactory
{
public function __invoke(ContainerInterface $serviceLocator) : SessionCollector
public function __invoke(ContainerInterface $serviceLocator): SessionCollector
{
return new SessionCollector($serviceLocator->get(SessionManager::class));
}
Expand Down
2 changes: 1 addition & 1 deletion src/Factory/Controller/SessionToolbarControllerFactory.php
Expand Up @@ -32,7 +32,7 @@
*/
class SessionToolbarControllerFactory
{
public function __invoke(ContainerInterface $container) : SessionToolbarController
public function __invoke(ContainerInterface $container): SessionToolbarController
{
return new SessionToolbarController(
$container->get('ViewRenderer'),
Expand Down
16 changes: 8 additions & 8 deletions src/Manager/SessionManager.php
Expand Up @@ -21,8 +21,8 @@

namespace SanSessionToolbar\Manager;

use Zend\Session\Container;
use Zend\Stdlib\ArrayObject;
use Laminas\Session\Container;
use Laminas\Stdlib\ArrayObject;

/**
* A class to manage session data.
Expand All @@ -34,7 +34,7 @@ final class SessionManager implements SessionManagerInterface
/**
* {@inheritdoc}
*/
public function getSessionData(bool $checkExists = true) : ?array
public function getSessionData(bool $checkExists = true): ?array
{
if ($checkExists) {
$manager = Container::getDefaultManager();
Expand All @@ -52,7 +52,7 @@ public function getSessionData(bool $checkExists = true) : ?array
/**
* {@inheritdoc}
*/
private function collectSessionData(array $arraysession) : array
private function collectSessionData(array $arraysession): array
{
$data = [];

Expand All @@ -72,7 +72,7 @@ private function collectSessionData(array $arraysession) : array
/**
* {@inheritdoc}
*/
public function sessionSetting(string $containerName, string $keysession, string $value = null, array $options = []) : bool
public function sessionSetting(string $containerName, string $keysession, string $value = null, array $options = []): bool
{
$container = new Container($containerName);
$new = $options['new'] ?? false;
Expand All @@ -89,7 +89,7 @@ public function sessionSetting(string $containerName, string $keysession, string
/**
* Add new session data.
*/
private function addSession(Container $container, string $keysession, string $value) : bool
private function addSession(Container $container, string $keysession, string $value): bool
{
if ($container->offsetExists($keysession)) {
return false;
Expand All @@ -103,7 +103,7 @@ private function addSession(Container $container, string $keysession, string $va
/**
* Set/Unset session data.
*/
private function setUnset(Container $container, string $keysession, ?string $value, bool $set = false) : bool
private function setUnset(Container $container, string $keysession, ?string $value, bool $set = false): bool
{
if (!$container->offsetExists($keysession)) {
return false;
Expand All @@ -123,7 +123,7 @@ private function setUnset(Container $container, string $keysession, ?string $val
/**
* {@inheritdoc}
*/
public function clearSession(string $byContainer = null) : void
public function clearSession(string $byContainer = null): void
{
(new Container())->getManager()
->getStorage()
Expand Down
6 changes: 3 additions & 3 deletions src/Manager/SessionManagerInterface.php
Expand Up @@ -33,17 +33,17 @@ interface SessionManagerInterface
*
* @return array|null
*/
public function getSessionData(bool $checkExists = true) : ?array;
public function getSessionData(bool $checkExists = true): ?array;

/**
* Set/Unset Session by Container and its key.
*/
public function sessionSetting(string $containerName, string $keysession, string $value = null, array $options = []) : bool;
public function sessionSetting(string $containerName, string $keysession, string $value = null, array $options = []): bool;

/**
* Clear Session.
*
* @param string|null $byContainer
*/
public function clearSession(string $byContainer = null) : void;
public function clearSession(string $byContainer = null): void;
}
22 changes: 11 additions & 11 deletions src/Module.php
Expand Up @@ -21,12 +21,12 @@

namespace SanSessionToolbar;

use Zend\EventManager\EventInterface;
use Zend\ModuleManager\Feature\ConfigProviderInterface;
use Zend\Mvc\Controller\AbstractActionController;
use Zend\Mvc\MvcEvent;
use Zend\Session\Container;
use Zend\Stdlib\SplQueue;
use Laminas\EventManager\EventInterface;
use Laminas\ModuleManager\Feature\ConfigProviderInterface;
use Laminas\Mvc\Controller\AbstractActionController;
use Laminas\Mvc\MvcEvent;
use Laminas\Session\Container;
use Laminas\Stdlib\SplQueue;

/**
* @author Abdul Malik Ikhsan <samsonasik@gmail.com>
Expand All @@ -44,7 +44,7 @@ public function onBootstrap(MvcEvent $e)
}

$app = $e->getApplication();
/** @var \Zend\EventManager\SharedEventManagerInterface $sharedEvm */
/** @var \Laminas\EventManager\SharedEventManagerInterface $sharedEvm */
$sharedEvm = $app->getEventManager()->getSharedManager();

$sharedEvm->attach(
Expand All @@ -58,7 +58,7 @@ public function onBootstrap(MvcEvent $e)
/**
* Used to duplicate flashMessenger data as it shown and gone.
*/
private function duplicateFlashMessengerSessionData(Container $container) : void
private function duplicateFlashMessengerSessionData(Container $container): void
{
$flashToolbarContainer = new Container('SanSessionToolbarFlashMessenger');
foreach ($container->getArrayCopy() as $key => $row) {
Expand All @@ -74,9 +74,9 @@ private function duplicateFlashMessengerSessionData(Container $container) : void
/**
* Handle FlashMessenger data to be able to be seen in both "app" and toolbar parts.
*/
public function flashMessengerHandler(EventInterface $e) : void
public function flashMessengerHandler(EventInterface $e): void
{
/** @var \Zend\Mvc\Controller\AbstractActionController $controller */
/** @var \Laminas\Mvc\Controller\AbstractActionController $controller */
$controller = $e->getTarget();
if (!$controller->getPluginManager()->has('flashMessenger')) {
return;
Expand All @@ -90,7 +90,7 @@ public function flashMessengerHandler(EventInterface $e) : void
/**
* {@inheritdoc}
*/
public function getConfig() : array
public function getConfig(): array
{
return include __DIR__.'/../config/module.config.php';
}
Expand Down

0 comments on commit 9362259

Please sign in to comment.