File tree Expand file tree Collapse file tree 5 files changed +66
-8
lines changed Expand file tree Collapse file tree 5 files changed +66
-8
lines changed Original file line number Diff line number Diff line change @@ -230,6 +230,29 @@ stream resources or Traversable objects as argument. As shown in the above examp
230
230
you need to explicitly call the :method: `Symfony\\ Component\\ Process\\ InputStream::close `
231
231
method when you are done writing to the standard input of the subprocess.
232
232
233
+ Using PHP Streams as the Standard Input of a Process
234
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
235
+
236
+ The input of a process can also be defined using `PHP streams `_::
237
+
238
+ $stream = fopen('php://temporary', 'w+');
239
+
240
+ $process = new Process('cat');
241
+ $process->setInput($stream);
242
+ $process->start();
243
+
244
+ fwrite($stream, 'foo');
245
+
246
+ // ... read process output or do other things
247
+
248
+ fwrite($stream, 'bar');
249
+ fclose($stream);
250
+
251
+ $process->wait();
252
+
253
+ // will echo: 'foobar'
254
+ echo $process->getOutput();
255
+
233
256
Stopping a Process
234
257
------------------
235
258
@@ -420,3 +443,4 @@ Use :method:`Symfony\\Component\\Process\\Process::disableOutput` and
420
443
.. _`pid` : https://en.wikipedia.org/wiki/Process_identifier
421
444
.. _`PHP Documentation` : http://php.net/manual/en/pcntl.constants.php
422
445
.. _Packagist : https://packagist.org/packages/symfony/process
446
+ .. _`PHP streams` : http://www.php.net/manual/en/book.stream.php
Original file line number Diff line number Diff line change @@ -326,8 +326,6 @@ You are now able to serialize only attributes in the groups you want::
326
326
);
327
327
// $obj2 = MyObj(foo: 'foo', bar: 'bar')
328
328
329
- .. include :: /_includes/_rewrite_rule_tip.rst.inc
330
-
331
329
.. _ignoring-attributes-when-serializing :
332
330
333
331
Selecting Specific Attributes
Original file line number Diff line number Diff line change @@ -151,7 +151,7 @@ a second array argument to ``PdoSessionHandler``:
151
151
))
152
152
;
153
153
154
- These are parameters that you must configure:
154
+ These are parameters that you can configure:
155
155
156
156
``db_table `` (default ``sessions ``):
157
157
The name of the session table in your database;
@@ -227,8 +227,18 @@ Preparing the Database to Store Sessions
227
227
----------------------------------------
228
228
229
229
Before storing sessions in the database, you must create the table that stores
230
- the information. The following sections contain some examples of the SQL statements
231
- you may use for your specific database engine.
230
+ the information. The session handler provides a method called
231
+ :method: `Symfony\\ Component\\ HttpFoundation\\ Session\\ Storage\\ Handler::createTable `
232
+ to set up this table for you according to the database engine used::
233
+
234
+ try {
235
+ $sessionHandlerService->createTable();
236
+ } catch (\PDOException $e) {
237
+ // the table could not be created for some reason
238
+ }
239
+
240
+ If you prefer to set up the table yourself, these are some examples of the SQL
241
+ statements you may use according to your specific database engine.
232
242
233
243
MySQL
234
244
~~~~~
Original file line number Diff line number Diff line change @@ -55,9 +55,13 @@ using APC and ``opcache_reset()`` when using OPcache).
55
55
56
56
In PHP, the CLI and the web processes don't share the same OPcache. This
57
57
means that you cannot clear the web server OPcache by executing some command
58
- in your terminal. You either need to restart the web server or call the
59
- ``apc_clear_cache() `` or ``opcache_reset() `` functions via the web server
60
- (i.e. by having these in a script that you execute over the web).
58
+ in your terminal. These are some of the possible solutions:
59
+
60
+ #. Restart the web server;
61
+ #. Call the :phpfunction: `apc_clear_cache ` or :phpfunction: `opcache_reset `
62
+ functions via the web server (i.e. by having these in a script that
63
+ you execute over the web);
64
+ #. Use the `cachetool `_ utility to control APC and OPcache from the CLI.
61
65
62
66
Optimizing all the Files Used by Symfony
63
67
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -134,3 +138,4 @@ Learn more
134
138
.. _`APC` : http://php.net/manual/en/book.apc.php
135
139
.. _`APCu Polyfill component` : https://github.com/symfony/polyfill-apcu
136
140
.. _`APCu PHP functions` : http://php.net/manual/en/ref.apcu.php
141
+ .. _`cachetool` : https://github.com/gordalina/cachetool
Original file line number Diff line number Diff line change @@ -430,3 +430,24 @@ are now fully customized:
430
430
<input type="hidden" name="back_to" value="<?php echo $view['router']->path('forgot_password') ?>" />
431
431
<input type="submit" name="login" />
432
432
</form>
433
+
434
+ Redirecting to the Last Accessed Page with ``TargetPathTrait ``
435
+ --------------------------------------------------------------
436
+
437
+ The last request URI is stored in a session variable named
438
+ ``_security.<your providerKey>.target_path `` (e.g. ``_security.main.target_path ``
439
+ if the name of your firewall is ``main ``). Most of the times you don't have to
440
+ deal with this low level session variable. However, if you ever need to get or
441
+ remove this variable, it's better to use the
442
+ :class: `Symfony\\ Component\\ Security\\ Http\\ Util\\ TargetPathTrait ` utility::
443
+
444
+ // ...
445
+ use Symfony\Component\Security\Http\Util\TargetPathTrait;
446
+
447
+ $targetPath = $this->getTargetPath($request->getSession(), $providerKey);
448
+
449
+ // equivalent to:
450
+ // $targetPath = $request->getSession()->get('_security.'.$providerKey.'.target_path');
451
+
452
+ .. versionadded :: 3.1
453
+ The ``TargetPathTrait `` was introduced in Symfony 3.1.
You can’t perform that action at this time.
0 commit comments