Skip to content

Commit 45f25a9

Browse files
committed
Merge branch '2.7' into 2.8
* 2.7: [#8231] fix reStructuredText syntax Specified import order of config files [#7981] revert some changes Update upload_file.rst Added a missing redirection Update validation_group_service_resolver.rst Update redirection_map Update button_based_validation.rst Delete group_service_resolver.rst Create validation_group_service_resolver.rst [#8290] fix minor typo Update the setfacl description. Update associations.rst Update proxy_examples.rst Fixed logger processor example
2 parents 2409a3a + 7bb1e1a commit 45f25a9

9 files changed

+48
-44
lines changed

_build/redirection_map

+3-2
Original file line numberDiff line numberDiff line change
@@ -261,7 +261,7 @@
261261
/cookbook/upgrade/minor_version /setup/upgrade_major
262262
/cookbook/upgrade/patch_version /upgrade/bundles
263263
/cookbook/validation/custom_constraint /validation/custom_constraint
264-
/cookbook/validation/group_service_resolver /validation/group_service_resolver
264+
/cookbook/validation/group_service_resolver /form/validation_group_service_resolver
265265
/cookbook/validation/index /validation
266266
/cookbook/validation/severity /validation/severity
267267
/cookbook/web_server/built_in /setup/built_in_web_server
@@ -286,6 +286,7 @@
286286
/components/debug/introduction /components/debug
287287
/components/debug/index /components/debug
288288
/components/dependency_injection/advanced /service_container/alias_private
289+
/components/dependency_injection/autowiring /service_container/autowiring
289290
/components/dependency_injection/definitions /service_container/definitions
290291
/components/dependency_injection/introduction /components/dependency_injection
291292
/components/dependency_injection/index /components/dependency_injection
@@ -332,4 +333,4 @@
332333
/install/bundles /setup/bundles
333334
/form /forms
334335
/testing/simulating_authentication /testing/http_authentication
335-
/components/dependency_injection/autowiring /service_container/autowiring
336+
/validation/group_service_resolver /form/validation_group_service_resolver

controller/upload_file.rst

+3-3
Original file line numberDiff line numberDiff line change
@@ -328,6 +328,7 @@ automatically upload the file when persisting the entity::
328328
class BrochureUploadListener
329329
{
330330
private $uploader;
331+
private $fileName;
331332

332333
public function __construct(FileUploader $uploader)
333334
{
@@ -358,11 +359,10 @@ automatically upload the file when persisting the entity::
358359
$file = $entity->getBrochure();
359360

360361
// only upload new files
361-
if (!$file instanceof UploadedFile) {
362-
return;
362+
if ($file instanceof UploadedFile) {
363+
$fileName = $this->uploader->upload($file);
363364
}
364365

365-
$fileName = $this->uploader->upload($file);
366366
$entity->setBrochure($fileName);
367367
}
368368
}

deployment/platformsh.rst

+3-1
Original file line numberDiff line numberDiff line change
@@ -126,12 +126,14 @@ following file (it's your role to add this file to your code base)::
126126
# Store session into /tmp.
127127
ini_set('session.save_path', '/tmp/sessions');
128128

129-
Make sure this file is listed in your *imports*:
129+
Make sure this file is listed in your *imports* (after the default ``parameters.yml``
130+
file):
130131

131132
.. code-block:: yaml
132133
133134
# app/config/config.yml
134135
imports:
136+
- { resource: parameters.yml }
135137
- { resource: parameters_platform.php }
136138
137139
Deploy your Application

doctrine/associations.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -273,7 +273,7 @@ When you need to fetch associated objects, your workflow looks just like it
273273
did before. First, fetch a ``$product`` object and then access its related
274274
``Category`` object::
275275

276-
use AppBundle\Entity\Post;
276+
use AppBundle\Entity\Product;
277277
// ...
278278

279279
public function showAction($productId)

form/button_based_validation.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -39,4 +39,4 @@ large or whether you tried to submit text in a number field.
3939
.. seealso::
4040

4141
To see how to use a service to resolve ``validation_groups`` dynamically
42-
read the :doc:`/validation/group_service_resolver` article.
42+
read the :doc:`/form/validation_group_service_resolver` article.

validation/group_service_resolver.rst renamed to form/validation_group_service_resolver.rst

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
How to Dynamically Configure Validation Groups
2-
==============================================
1+
How to Dynamically Configure Form Validation Groups
2+
===================================================
33

44
Sometimes you need advanced logic to determine the validation groups. If they
55
can't be determined by a simple callback, you can use a service. Create a
@@ -47,7 +47,7 @@ Then in your form, inject the resolver and set it as the ``validation_groups``.
4747
namespace AppBundle\Form;
4848
4949
use AppBundle\Validator\ValidationGroupResolver;
50-
use Symfony\Component\Form\AbstractType;
50+
use Symfony\Component\Form\AbstractType
5151
use Symfony\Component\OptionsResolver\OptionsResolver;
5252
5353
class MyClassType extends AbstractType

logging/processors.rst

+31-31
Original file line numberDiff line numberDiff line change
@@ -18,31 +18,31 @@ using a processor.
1818

1919
.. code-block:: php
2020
21-
namespace AppBundle;
21+
namespace AppBundle\Logger;
2222
23-
use Symfony\Component\HttpFoundation\Session\Session;
23+
use Symfony\Component\HttpFoundation\Session\SessionInterface;
2424
2525
class SessionRequestProcessor
2626
{
2727
private $session;
28-
private $token;
28+
private $sessionId;
2929
30-
public function __construct(Session $session)
30+
public function __construct(SessionInterface $session)
3131
{
3232
$this->session = $session;
3333
}
3434
3535
public function processRecord(array $record)
3636
{
37-
if (null === $this->token) {
38-
try {
39-
$this->token = substr($this->session->getId(), 0, 8);
40-
} catch (\RuntimeException $e) {
41-
$this->token = '????????';
42-
}
43-
$this->token .= '-' . substr(uniqid(), -8);
37+
if (!$this->session->isStarted()) {
38+
return $record;
4439
}
45-
$record['extra']['token'] = $this->token;
40+
41+
if (!$this->sessionId) {
42+
$this->sessionId = substr($this->session->getId(), 0, 8) ?: '????????';
43+
}
44+
45+
$record['extra']['token'] = $this->sessionId.'-'.substr(uniqid('', true), -8);
4646
4747
return $record;
4848
}
@@ -59,8 +59,8 @@ using a processor.
5959
arguments:
6060
- "[%%datetime%%] [%%extra.token%%] %%channel%%.%%level_name%%: %%message%% %%context%% %%extra%%\n"
6161
62-
monolog.processor.session_request:
63-
class: AppBundle\SessionRequestProcessor
62+
app.logger.session_request_processor:
63+
class: AppBundle\Logger\SessionRequestProcessor
6464
arguments: ['@session']
6565
tags:
6666
- { name: monolog.processor, method: processRecord }
@@ -71,7 +71,7 @@ using a processor.
7171
type: stream
7272
path: '%kernel.logs_dir%/%kernel.environment%.log'
7373
level: debug
74-
formatter: monolog.formatter.session_request
74+
formatter: app.logger.session_request_processor
7575
7676
.. code-block:: xml
7777
@@ -92,8 +92,8 @@ using a processor.
9292
<argument>[%%datetime%%] [%%extra.token%%] %%channel%%.%%level_name%%: %%message%% %%context%% %%extra%%&#xA;</argument>
9393
</service>
9494
95-
<service id="monolog.processor.session_request"
96-
class="AppBundle\SessionRequestProcessor">
95+
<service id="app.logger.session_request_processor"
96+
class="AppBundle\Logger\SessionRequestProcessor">
9797
9898
<argument type="service" id="session" />
9999
<tag name="monolog.processor" method="processRecord" />
@@ -106,23 +106,23 @@ using a processor.
106106
type="stream"
107107
path="%kernel.logs_dir%/%kernel.environment%.log"
108108
level="debug"
109-
formatter="monolog.formatter.session_request"
109+
formatter="app.logger.session_request_processor"
110110
/>
111111
</monolog:config>
112112
</container>
113113
114114
.. code-block:: php
115115
116116
// app/config/config.php
117-
use AppBundle\SessionRequestProcessor;
117+
use AppBundle\Logger\SessionRequestProcessor;
118118
use Monolog\Formatter\LineFormatter;
119119
120120
$container
121121
->register('monolog.formatter.session_request', LineFormatter::class)
122122
->addArgument('[%%datetime%%] [%%extra.token%%] %%channel%%.%%level_name%%: %%message%% %%context%% %%extra%%\n');
123123
124124
$container
125-
->register('monolog.processor.session_request', SessionRequestProcessor::class)
125+
->register('app.logger.session_request_processor', SessionRequestProcessor::class)
126126
->addArgument(new Reference('session'))
127127
->addTag('monolog.processor', array('method' => 'processRecord'));
128128
@@ -132,7 +132,7 @@ using a processor.
132132
'type' => 'stream',
133133
'path' => '%kernel.logs_dir%/%kernel.environment%.log',
134134
'level' => 'debug',
135-
'formatter' => 'monolog.formatter.session_request',
135+
'formatter' => 'app.logger.session_request_processor',
136136
),
137137
),
138138
));
@@ -155,8 +155,8 @@ the ``monolog.processor`` tag:
155155
156156
# app/config/config.yml
157157
services:
158-
monolog.processor.session_request:
159-
class: AppBundle\SessionRequestProcessor
158+
app.logger.session_request_processor:
159+
class: AppBundle\Logger\SessionRequestProcessor
160160
arguments: ['@session']
161161
tags:
162162
- { name: monolog.processor, method: processRecord, handler: main }
@@ -174,8 +174,8 @@ the ``monolog.processor`` tag:
174174
http://symfony.com/schema/dic/monolog/monolog-1.0.xsd">
175175
176176
<services>
177-
<service id="monolog.processor.session_request"
178-
class="AppBundle\SessionRequestProcessor">
177+
<service id="app.logger.session_request_processor
178+
class="AppBundle\Logger\SessionRequestProcessor">
179179
180180
<argument type="service" id="session" />
181181
<tag name="monolog.processor" method="processRecord" handler="main" />
@@ -190,7 +190,7 @@ the ``monolog.processor`` tag:
190190
// ...
191191
$container
192192
->register(
193-
'monolog.processor.session_request',
193+
'app.logger.session_request_processor',
194194
SessionRequestProcessor::class
195195
)
196196
->addArgument(new Reference('session'))
@@ -208,8 +208,8 @@ the ``monolog.processor`` tag:
208208
209209
# app/config/config.yml
210210
services:
211-
monolog.processor.session_request:
212-
class: AppBundle\SessionRequestProcessor
211+
app.logger.session_request_processor:
212+
class: AppBundle\Logger\SessionRequestProcessor
213213
arguments: ['@session']
214214
tags:
215215
- { name: monolog.processor, method: processRecord, channel: main }
@@ -227,8 +227,8 @@ the ``monolog.processor`` tag:
227227
http://symfony.com/schema/dic/monolog/monolog-1.0.xsd">
228228
229229
<services>
230-
<service id="monolog.processor.session_request"
231-
class="AppBundle\SessionRequestProcessor">
230+
<service id="app.logger.session_request_processor"
231+
class="AppBundle\Logger\SessionRequestProcessor">
232232
233233
<argument type="service" id="session" />
234234
<tag name="monolog.processor" method="processRecord" channel="main" />
@@ -242,6 +242,6 @@ the ``monolog.processor`` tag:
242242
243243
// ...
244244
$container
245-
->register('monolog.processor.session_request', SessionRequestProcessor::class)
245+
->register('app.logger.session_request_processor', SessionRequestProcessor::class)
246246
->addArgument(new Reference('session'))
247247
->addTag('monolog.processor', array('method' => 'processRecord', 'channel' => 'main'));

session/proxy_examples.rst

+1
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ Symfony to use your own session handler instead of the default one:
6161
<?xml version="1.0" encoding="UTF-8" ?>
6262
<container xmlns="http://symfony.com/schema/dic/services"
6363
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
64+
xmlns:framework="http://symfony.com/schema/dic/symfony"
6465
xsi:schemaLocation="http://symfony.com/schema/dic/services
6566
http://symfony.com/schema/dic/services/services-1.0.xsd">
6667

setup/file_permissions.rst

+2-2
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,8 @@ following script to determine your web server user and grant the needed permissi
5555
5656
.. note::
5757

58-
  The first ``setfacl`` command sets permissions on the existing files and
59-
folders, while the second one sets permissions for future files and folders.
58+
  The first ``setfacl`` command sets permissions for future files and folders,
59+
while the second one sets permissions on the existing files and folders.
6060
Both of these commands assign permissions for the system user and the Apache
6161
user.
6262

0 commit comments

Comments
 (0)