feature #15801 [WebProfilerBundle][HttpKernel] removed import/export commands (jakzal)

This PR was merged into the 3.0-dev branch.

Discussion
----------

[WebProfilerBundle][HttpKernel] removed import/export commands

| Q             | A
| ------------- | ---
| Bug fix?      | no
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | part of #11742
| License       | MIT
| Doc PR        | n/a

Follow up for #15709.

Commits
-------

c1d028e [HttpKernel] removed Profiler::import/export
1672a83 [WebProfilerBundle] removed import/export commands
This commit is contained in:
Fabien Potencier 2015-09-15 13:31:51 +02:00
commit cc2aeb188d
6 changed files with 7 additions and 235 deletions

View File

@ -1,6 +1,11 @@
CHANGELOG
=========
3.0.0
-----
* removed profiler:import and profiler:export commands
2.8.0
-----

View File

@ -1,81 +0,0 @@
<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Symfony\Bundle\WebProfilerBundle\Command;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\HttpKernel\Profiler\Profiler;
/**
* Exports a profile.
*
* @deprecated since version 2.8, to be removed in 3.0.
*
* @author Fabien Potencier <fabien@symfony.com>
*/
class ExportCommand extends Command
{
private $profiler;
public function __construct(Profiler $profiler = null)
{
$this->profiler = $profiler;
parent::__construct();
}
/**
* {@inheritdoc}
*/
public function isEnabled()
{
if (null === $this->profiler) {
return false;
}
return parent::isEnabled();
}
protected function configure()
{
$this
->setName('profiler:export')
->setDescription('[DEPRECATED] Exports a profile')
->setDefinition(array(
new InputArgument('token', InputArgument::REQUIRED, 'The profile token'),
))
->setHelp(<<<EOF
The <info>%command.name%</info> command exports a profile to the standard output:
<info>php %command.full_name% profile_token</info>
EOF
)
;
}
protected function execute(InputInterface $input, OutputInterface $output)
{
$formatter = $this->getHelper('formatter');
$output->writeln($formatter->formatSection('warning', 'The profiler:export command is deprecated since version 2.8 and will be removed in 3.0', 'comment'));
$token = $input->getArgument('token');
if (!$profile = $this->profiler->loadProfile($token)) {
throw new \LogicException(sprintf('Profile with token "%s" does not exist.', $token));
}
$output->writeln($this->profiler->export($profile), OutputInterface::OUTPUT_RAW);
}
}

View File

@ -1,96 +0,0 @@
<?php
/*
* This file is part of the Symfony package.
*
* (c) Fabien Potencier <fabien@symfony.com>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Symfony\Bundle\WebProfilerBundle\Command;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\HttpKernel\Profiler\Profiler;
/**
* Imports a profile.
*
* @deprecated since version 2.8, to be removed in 3.0.
*
* @author Fabien Potencier <fabien@symfony.com>
*/
class ImportCommand extends Command
{
private $profiler;
public function __construct(Profiler $profiler = null)
{
$this->profiler = $profiler;
parent::__construct();
}
/**
* {@inheritdoc}
*/
public function isEnabled()
{
if (null === $this->profiler) {
return false;
}
return parent::isEnabled();
}
protected function configure()
{
$this
->setName('profiler:import')
->setDescription('[DEPRECATED] Imports a profile')
->setDefinition(array(
new InputArgument('filename', InputArgument::OPTIONAL, 'The profile path'),
))
->setHelp(<<<EOF
The <info>%command.name%</info> command imports a profile:
<info>php %command.full_name% profile_filepath</info>
You can also pipe the profile via STDIN:
<info>cat profile_file | php %command.full_name%</info>
EOF
)
;
}
protected function execute(InputInterface $input, OutputInterface $output)
{
$formatter = $this->getHelper('formatter');
$output->writeln($formatter->formatSection('warning', 'The profiler:import command is deprecated since version 2.8 and will be removed in 3.0', 'comment'));
$data = '';
if ($input->getArgument('filename')) {
$data = file_get_contents($input->getArgument('filename'));
} else {
if (0 !== ftell(STDIN)) {
throw new \RuntimeException('Please provide a filename or pipe the profile to STDIN.');
}
while (!feof(STDIN)) {
$data .= fread(STDIN, 1024);
}
}
if (!$profile = $this->profiler->import($data)) {
throw new \LogicException('The profile already exists in the database.');
}
$output->writeln(sprintf('Profile "%s" has been successfully imported.', $profile->getToken()));
}
}

View File

@ -1,18 +0,0 @@
<?xml version="1.0" ?>
<container xmlns="http://symfony.com/schema/dic/services"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://symfony.com/schema/dic/services http://symfony.com/schema/dic/services/services-1.0.xsd">
<services>
<service id="web_profiler.command.import" class="Symfony\Bundle\WebProfilerBundle\Command\ImportCommand">
<argument type="service" id="profiler" on-invalid="null" />
<tag name="console.command" />
</service>
<service id="web_profiler.command.export" class="Symfony\Bundle\WebProfilerBundle\Command\ExportCommand">
<argument type="service" id="profiler" on-invalid="null" />
<tag name="console.command" />
</service>
</services>
</container>

View File

@ -24,6 +24,8 @@ CHANGELOG
* removed `Symfony\Component\HttpKernel\HttpCache\EsiResponseCacheStrategyInterface`
* removed `Symfony\Component\HttpKernel\Log\LoggerInterface`
* removed `Symfony\Component\HttpKernel\Log\NullLogger`
* removed `Symfony\Component\HttpKernel\Profiler::import()`
* removed `Symfony\Component\HttpKernel\Profiler::export()`
2.8.0
-----

View File

@ -131,46 +131,6 @@ class Profiler
$this->storage->purge();
}
/**
* Exports the current profiler data.
*
* @param Profile $profile A Profile instance
*
* @return string The exported data
*
* @deprecated since Symfony 2.8, to be removed in 3.0.
*/
public function export(Profile $profile)
{
@trigger_error('The '.__METHOD__.' method is deprecated since version 2.8 and will be removed in 3.0.', E_USER_DEPRECATED);
return base64_encode(serialize($profile));
}
/**
* Imports data into the profiler storage.
*
* @param string $data A data string as exported by the export() method
*
* @return Profile A Profile instance
*
* @deprecated since Symfony 2.8, to be removed in 3.0.
*/
public function import($data)
{
@trigger_error('The '.__METHOD__.' method is deprecated since version 2.8 and will be removed in 3.0.', E_USER_DEPRECATED);
$profile = unserialize(base64_decode($data));
if ($this->storage->read($profile->getToken())) {
return false;
}
$this->saveProfile($profile);
return $profile;
}
/**
* Finds profiler tokens for the given criteria.
*