Skip to content

Commit e747392

Browse files
committed
Revert "minor #4977 Unnecessary comma (edsonmedina)"
This reverts commit ed80100, reversing changes made to 70902f5.
1 parent ed80100 commit e747392

File tree

18 files changed

+91
-28
lines changed

18 files changed

+91
-28
lines changed

best_practices/business-logic.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ The blog application needs a utility that can transform a post title (e.g.
5656
"Hello World") into a slug (e.g. "hello-world"). The slug will be used as
5757
part of the post URL.
5858

59-
Let's create a new ``Slugger`` class inside ``src/AppBundle/Utils/`` and
59+
Let's, create a new ``Slugger`` class inside ``src/AppBundle/Utils/`` and
6060
add the following ``slugify()`` method:
6161

6262
.. code-block:: php

book/controller.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ Controllers are also called *actions*.
116116

117117
This controller is pretty straightforward:
118118

119-
* *line 4*: Symfony takes advantage of PHP's namespace functionality to
119+
* *line 4*: Symfony takes advantage of PHP 5.3 namespace functionality to
120120
namespace the entire controller class. The ``use`` keyword imports the
121121
``Response`` class, which the controller must return.
122122

book/installation.rst

+16-2
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,13 @@ Using the Symfony Installer is the only recommended way to create new Symfony
1616
applications. This installer is a PHP application that has to be installed
1717
only once and then it can create any number of Symfony applications.
1818

19+
.. note::
20+
21+
The installer requires PHP 5.4 or higher. If you still use the legacy
22+
PHP 5.3 version, you cannot use the Symfony Installer. Read the
23+
:ref:`book-creating-applications-without-the-installer` section to learn how
24+
to proceed.
25+
1926
Depending on your operating system, the installer must be installed in different
2027
ways.
2128

@@ -100,8 +107,9 @@ to use for your projects.
100107
Creating Symfony Applications without the Installer
101108
---------------------------------------------------
102109

103-
If you can't execute the installer for any reason, you can create Symfony
104-
applications using the alternative installation method based on `Composer`_.
110+
If you still use PHP 5.3, or if you can't execute the installer for any reason,
111+
you can create Symfony applications using the alternative installation method
112+
based on `Composer`_.
105113

106114
Composer is the dependency manager used by modern PHP applications and it can
107115
also be used to create new applications based on the Symfony framework. If you
@@ -160,6 +168,12 @@ possible solutions depending on your operating system. All of them are
160168
explained in the :ref:`Setting up Permissions <book-installation-permissions>`
161169
section.
162170

171+
.. note::
172+
173+
PHP's internal web server is available in PHP 5.4 or higher versions. If you
174+
still use the legacy PHP 5.3 version, you'll have to configure a *virtual host*
175+
in your web server.
176+
163177
The ``server:run`` command is only suitable while developing the application. In
164178
order to run Symfony applications on production servers, you'll have to configure
165179
your `Apache`_ or `Nginx`_ web server as explained in

book/security.rst

+2
Original file line numberDiff line numberDiff line change
@@ -499,6 +499,8 @@ else, you'll want to encode their passwords. The best algorithm to use is
499499
// ...
500500
));
501501
502+
.. include:: /cookbook/security/_ircmaxwell_password-compat.rst.inc
503+
502504
Of course, your user's passwords now need to be encoded with this exact algorithm.
503505
For hardcoded users, you can use an `online tool`_, which will give you something
504506
like this:

book/translation.rst

+4-4
Original file line numberDiff line numberDiff line change
@@ -408,8 +408,8 @@ checks translation resources for several locales:
408408

409409
.. note::
410410

411-
When Symfony doesn't find a translation in the given locale, it will
412-
add the missing translation to the log file. For details,
411+
When Symfony doesn't find a translation in the given locale, it will
412+
add the missing translation to the log file. For details,
413413
see :ref:`reference-framework-translator-logging`.
414414

415415
.. _book-translation-user-locale:
@@ -675,8 +675,8 @@ Translating Database Content
675675
----------------------------
676676

677677
The translation of database content should be handled by Doctrine through
678-
the `Translatable Extension`_ or the `Translatable Behavior`_. For more information,
679-
see the documentation for these libraries.
678+
the `Translatable Extension`_ or the `Translatable Behavior`_ (PHP 5.4+).
679+
For more information, see the documentation for these libraries.
680680

681681
Debugging Translations
682682
----------------------

changelog.rst

-3
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ New Documentation
2525
- `4226fc2 <https://github.com/symfony/symfony-docs/commit/4226fc27a06aeb975af1b1aae1e6207a07bbbb6f>`_ #4883 Global dump (nicolas-grekas)
2626
- `a57db5b <https://github.com/symfony/symfony-docs/commit/a57db5b1d240d5b6df1b5a8b077b280c17233420>`_ #4879 Documented true regex (WouterJ)
2727
- `3bb7b61 <https://github.com/symfony/symfony-docs/commit/3bb7b61dde079611180a2bc4e12e70eac8caef51>`_ #4645 Remove note that's no longer the case (thewilkybarkid)
28-
- `6c498d4 <https://github.com/symfony/symfony-docs/commit/6c498d4b0868b6dd940517d327c4f4a6893362fb>`_ #4805 added documentation for the new absolute_url() and relative_path() Twig functions (fabpot)
2928
- `3293286 <https://github.com/symfony/symfony-docs/commit/3293286ac82c6adb0cc4938fce33fef17f5f7108>`_ #4801 [Cookbook][cache][varnish] be more precise about version differences (dbu)
3029
- `572bf3b <https://github.com/symfony/symfony-docs/commit/572bf3b5da737731472f0760ee6105c72d76feb0>`_ #4800 [Cookbook][Security] Hint about createToken can return null (xelaris)
3130
- `74d2e30 <https://github.com/symfony/symfony-docs/commit/74d2e3063c23dadfcecd9c5d3715127da68da128>`_ #4786 Replaced setDefaultOptions by the new configureOptions method (peterrehm)
@@ -35,7 +34,6 @@ New Documentation
3534
- `3643ec2 <https://github.com/symfony/symfony-docs/commit/3643ec224921b3a0ce6163f807e4b208aa718d58>`_ #4723 [Cookbook][Security] document the new AuthenticationUtils (xabbuh)
3635
- `9742b92 <https://github.com/symfony/symfony-docs/commit/9742b9291e4b0f4ad4f1e8eff61261cc9598213f>`_ #4761 [Cookbook][Security] don't output message from AuthenticationException (xabbuh)
3736
- `a23e7d2 <https://github.com/symfony/symfony-docs/commit/a23e7d2ec1b28afe2c3452d1bf5488d7558a478a>`_ #4643 How to override vendor directory location (gajdaw)
38-
- `ca3b4c8 <https://github.com/symfony/symfony-docs/commit/ca3b4c8f34a30f8a396b5bf95fb801bf679fe20b>`_ #4753 bump Symfony requirements to PHP 5.5 (xabbuh)
3937
- `99aca45 <https://github.com/symfony/symfony-docs/commit/99aca4532681c1fbc5d85b2935145b3d4fe9934c>`_ #4749 [2.3][Book][Security] Add isPasswordValid doc as in 2.6 (xelaris)
4038
- `d9935a3 <https://github.com/symfony/symfony-docs/commit/d9935a3f918791a65488a0cd5ca721482c76f09e>`_ #4141 Notes about caching pages with a CSRF Form (ricardclau)
4139
- `207f2f0 <https://github.com/symfony/symfony-docs/commit/207f2f065e10a29172095c6b6f88a2d8fa071223>`_ #4711 [Reference] Add default_locale config description (xelaris)
@@ -61,7 +59,6 @@ Fixed Documentation
6159
- `5940d52 <https://github.com/symfony/symfony-docs/commit/5940d5252b82db7bc247c8723e7761c5cfc9c84b>`_ #4735 [BestPractices] remove @Security annotation for Symfony 2.3 (xabbuh)
6260
- `ce37b96 <https://github.com/symfony/symfony-docs/commit/ce37b96ba0565d0624a16c44c1447c248447158b>`_ #4771 [QuickTour] use the debug:router command name (xabbuh)
6361
- `ffe3425 <https://github.com/symfony/symfony-docs/commit/ffe3425f6a0ef97be45f29608c6be02db24e98f9>`_ #4765 [Book][Forms] avoid the request service where possible (xabbuh)
64-
- `92b10b1 <https://github.com/symfony/symfony-docs/commit/92b10b166cb7b0fb687f77804150d6c47aa9576f>`_ #4758 [Components][Yaml] don't describe removed usage of ``Yaml::parse()`` (xabbuh)
6562
- `36f2e1f <https://github.com/symfony/symfony-docs/commit/36f2e1f74b2d166b333cb07029b1fe6e929c2370>`_ #4757 [Components][ClassLoader] don't show deprecated usage of ``Yaml::parse()`` (xabbuh)
6663
- `d8e8d75 <https://github.com/symfony/symfony-docs/commit/d8e8d75961ea0a77c74634a56b6d3237d00ca8a4>`_ #4756 [Components][Config] don't show deprecated usage of ``Yaml::parse()`` (xabbuh)
6764
- `b143754 <https://github.com/symfony/symfony-docs/commit/b143754b22d1086ad58712147075bf1909836a55>`_ #4744 [Book][Security] Update code example to fit description (xelaris)

components/http_foundation/session_configuration.rst

+17
Original file line numberDiff line numberDiff line change
@@ -218,6 +218,23 @@ particular cookie by reading the ``getLifetime()`` method::
218218
The expiry time of the cookie can be determined by adding the created
219219
timestamp and the lifetime.
220220

221+
PHP 5.4 Compatibility
222+
~~~~~~~~~~~~~~~~~~~~~
223+
224+
Since PHP 5.4.0, :phpclass:`SessionHandler` and :phpclass:`SessionHandlerInterface`
225+
are available. Symfony provides forward compatibility for the :phpclass:`SessionHandlerInterface`
226+
so it can be used under PHP 5.3. This greatly improves interoperability with other
227+
libraries.
228+
229+
:phpclass:`SessionHandler` is a special PHP internal class which exposes native save
230+
handlers to PHP user-space.
231+
232+
In order to provide a solution for those using PHP 5.4, Symfony has a special
233+
class called :class:`Symfony\\Component\\HttpFoundation\\Session\\Storage\\Handler\\NativeSessionHandler`
234+
which under PHP 5.4, extends from ``\SessionHandler`` and under PHP 5.3 is just a
235+
empty base class. This provides some interesting opportunities to leverage
236+
PHP 5.4 functionality if it is available.
237+
221238
Save Handler Proxy
222239
~~~~~~~~~~~~~~~~~~
223240

components/yaml/introduction.rst

+6
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,12 @@ string or a file containing YAML. Internally, it calls the
138138
:method:`Symfony\\Component\\Yaml\\Parser::parse` method, but enhances the
139139
error if something goes wrong by adding the filename to the message.
140140

141+
.. caution::
142+
143+
Because it is currently possible to pass a filename to this method, you
144+
must validate the input first. Passing a filename is deprecated in
145+
Symfony 2.2, and will be removed in Symfony 3.0.
146+
141147
.. _components-yaml-dump:
142148

143149
Writing YAML Files

contributing/code/patches.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ Before working on Symfony, setup a friendly environment with the following
1414
software:
1515

1616
* Git;
17-
* PHP version 5.5.9 or above;
17+
* PHP version 5.3.3 or above;
1818
* `PHPUnit`_ 4.2 or above.
1919

2020
Configure Git

cookbook/bundles/best_practices.rst

+5-4
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,10 @@ Bundle Name
2929
-----------
3030

3131
A bundle is also a PHP namespace. The namespace must follow the technical
32-
interoperability `standards`_ for PHP namespaces and class names: it starts
33-
with a vendor segment, followed by zero or more category segments, and it
34-
ends with the namespace short name, which must end with a ``Bundle`` suffix.
32+
interoperability `standards`_ for PHP 5.3 namespaces and class names: it
33+
starts with a vendor segment, followed by zero or more category segments, and
34+
it ends with the namespace short name, which must end with a ``Bundle``
35+
suffix.
3536

3637
A namespace becomes a bundle as soon as you add a bundle class to it. The
3738
bundle class name must follow these simple rules:
@@ -346,7 +347,7 @@ there are 3 modes, which the user can configure in their project:
346347
* 2.4: the original 2.4 and earlier validation API;
347348
* 2.5: the new 2.5 and later validation API;
348349
* 2.5-BC: the new 2.5 API with a backwards-compatible layer so that the
349-
2.4 API still works.
350+
2.4 API still works. This is only available in PHP 5.3.9+.
350351

351352
As a bundle author, you'll want to support *both* API's, since some users
352353
may still be using the 2.4 API. Specifically, if your bundle adds a violation

cookbook/deployment/azure-website.rst

+3-2
Original file line numberDiff line numberDiff line change
@@ -96,8 +96,9 @@ and how to properly configure PHP for a production environment.
9696
Configuring the latest PHP Runtime
9797
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
9898

99-
Even though Symfony only requires PHP 5.5.9 to run, it's always recommended
100-
to use the most recent PHP version whenever possible.
99+
Even though Symfony only requires PHP 5.3.3 to run, it's always recommended
100+
to use the most recent PHP version whenever possible. PHP 5.3 is no longer
101+
supported by the PHP core team, but you can update it easily in Azure.
101102

102103
To update your PHP version on Azure, go to the **Configure** tab of the control
103104
panel and select the version you want.

cookbook/logging/monolog.rst

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
How to Use Monolog to Write Logs
55
================================
66

7-
Monolog_ is a logging library for PHP used by Symfony. It is inspired by the
8-
Python LogBook library.
7+
Monolog_ is a logging library for PHP 5.3 used by Symfony. It is
8+
inspired by the Python LogBook library.
99

1010
Usage
1111
-----
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
.. caution::
2+
3+
If you're using PHP 5.4 or lower, you'll need to install the ``ircmaxell/password-compat``
4+
library via Composer in order to be able to use the ``bcrypt`` encoder:
5+
6+
.. code-block:: json
7+
8+
{
9+
"require": {
10+
...
11+
"ircmaxell/password-compat": "~1.0.3"
12+
}
13+
}

cookbook/security/entity_provider.rst

+2
Original file line numberDiff line numberDiff line change
@@ -355,6 +355,8 @@ the database to be encoded using this encoder. For details on how to create
355355
a new User object with a properly encoded password, see the
356356
:ref:`book-security-encoding-user-password` section of the security chapter.
357357

358+
.. include:: /cookbook/security/_ircmaxwell_password-compat.rst.inc
359+
358360
The ``providers`` section defines an ``administrators`` user provider. A
359361
user provider is a "source" of where users are loaded during authentication.
360362
In this case, the ``entity`` keyword means that Symfony will use the Doctrine

cookbook/web_server/built_in.rst

+5-4
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,11 @@ How to Use PHP's built-in Web Server
88
The ability to run the server as a background process was introduced
99
in Symfony 2.6.
1010

11-
The CLI SAPI comes with a `built-in web server`_. It can be used to run your
12-
PHP applications locally during development, for testing or for application
13-
demonstrations. This way, you don't have to bother configuring a full-featured
14-
web server such as :doc:`Apache or Nginx </cookbook/configuration/web_server_configuration>`.
11+
Since PHP 5.4 the CLI SAPI comes with a `built-in web server`_. It can be used
12+
to run your PHP applications locally during development, for testing or for
13+
application demonstrations. This way, you don't have to bother configuring
14+
a full-featured web server such as
15+
:doc:`Apache or Nginx </cookbook/configuration/web_server_configuration>`.
1516

1617
.. caution::
1718

quick_tour/the_big_picture.rst

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ by showing you a simple project in action.
88
If you've used a web framework before, you should feel right at home with
99
Symfony. If not, welcome to a whole new way of developing web applications.
1010

11-
The only technical requisite to follow this tutorial is to have **PHP 5.5.9 or higher
11+
The only technical requisite to follow this tutorial is to have **PHP 5.4 or higher
1212
installed on your computer**. If you use a packaged PHP solution such as WAMP,
13-
XAMP or MAMP, check out that they are using PHP 5.5.9 or a more recent version.
13+
XAMP or MAMP, check out that they are using PHP 5.4 or a more recent version.
1414
You can also execute the following command in your terminal or command console
1515
to display the installed PHP version:
1616

reference/configuration/framework.rst

+2-1
Original file line numberDiff line numberDiff line change
@@ -641,7 +641,8 @@ API. The ``api`` option is used to switch between the different implementations:
641641
``2.5-bc`` or ``auto``
642642
If you omit a value or set the ``api`` option to ``2.5-bc`` or ``auto``,
643643
Symfony will use an API implementation that is compatible with both the
644-
legacy implementation and the ``2.5`` implementation.
644+
legacy implementation and the ``2.5`` implementation. You have to use
645+
PHP 5.3.9 or higher to be able to use this implementation.
645646

646647
To capture these logs in the ``prod`` environment, configure a
647648
:doc:`channel handler </cookbook/logging/channels_handlers>` in ``config_prod.yml`` for

reference/requirements.rst

+9-1
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,17 @@ Below is the list of required and optional requirements.
2121
Required
2222
--------
2323

24-
* PHP needs to be a minimum version of PHP 5.5.9
24+
* PHP needs to be a minimum version of PHP 5.3.3
2525
* JSON needs to be enabled
2626
* ctype needs to be enabled
2727
* Your ``php.ini`` needs to have the ``date.timezone`` setting
2828

29+
.. caution::
30+
31+
Be aware that Symfony has some known limitations when using a PHP version
32+
less than 5.3.8 or equal to 5.3.16. For more information see the
33+
`Requirements section of the README`_.
34+
2935
Optional
3036
--------
3137

@@ -50,3 +56,5 @@ Doctrine
5056
If you want to use Doctrine, you will need to have PDO installed. Additionally,
5157
you need to have the PDO driver installed for the database server you want
5258
to use.
59+
60+
.. _`Requirements section of the README`: https://github.com/symfony/symfony#requirements

0 commit comments

Comments
 (0)