README.md
author cavaliet
Mon, 07 Jul 2014 17:19:01 +0200
changeset 121 ada5f3d8b5b4
parent 0 7f95f8617b0b
permissions -rwxr-xr-x
adapt code for php's great memory management
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
Symfony Standard Edition
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
========================
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
Welcome to the Symfony Standard Edition - a fully-functional Symfony2
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
application that you can use as the skeleton for your new app. If you want
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
to learn more about the features included, see the "What's Inside?" section.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
This document contains information on how to download and start using Symfony.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
For a more detailed explanation, see the
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
[Installation chapter](http://symfony.com/doc/current/book/installation.html)
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
of the Symfony Documentation.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
1) Download the Standard Edition
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
--------------------------------
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
If you've already downloaded the standard edition, and unpacked it somewhere
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
within your web root directory, then move on to the "Installation" section.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
To download the standard edition, you have two options:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
### Download an archive file (*recommended*)
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
The easiest way to get started is to download an archive of the standard edition
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
(http://symfony.com/download). Unpack it somewhere under your web server root
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
directory and you're done. The web root is wherever your web server (e.g. Apache)
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
looks when you access `http://localhost` in a browser.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
### Clone the git Repository
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
We highly recommend that you download the packaged version of this distribution.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
But if you still want to use Git, you are on your own.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
Run the following commands:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
    git clone http://github.com/symfony/symfony-standard.git
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
    cd symfony-standard
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
    rm -rf .git
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
2) Installation
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
---------------
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
Once you've downloaded the standard edition, installation is easy, and basically
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
involves making sure your system is ready for Symfony.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
### a) Check your System Configuration
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
Before you begin, make sure that your local system is properly configured
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
for Symfony. To do this, execute the following:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
    php app/check.php
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
If you get any warnings or recommendations, fix these now before moving on.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
### b) Install the Vendor Libraries
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
If you downloaded the archive "without vendors" or installed via git, then
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    57
you need to download all of the necessary vendor libraries. If you're not
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
sure if you need to do this, check to see if you have a ``vendor/`` directory.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
If you don't, or if that directory is empty, run the following:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    60
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    61
    php bin/vendors install
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    62
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    63
Note that you **must** have git installed and be able to execute the `git`
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    64
command to execute this script. If you don't have git available, either install
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    65
it or download Symfony with the vendor libraries already included.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    66
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    67
### c) Access the Application via the Browser
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    68
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    69
Congratulations! You're now ready to use Symfony. If you've unzipped Symfony
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    70
in the web root of your computer, then you should be able to access the
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    71
web version of the Symfony requirements check via:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    72
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    73
    http://localhost/Symfony/web/config.php
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    74
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    75
If everything looks good, click the "Bypass configuration and go to the Welcome page"
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    76
link to load up your first Symfony page.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    77
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    78
You can also use a web-based configurator by clicking on the "Configure your
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    79
Symfony Application online" link of the ``config.php`` page.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    80
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    81
To see a real-live Symfony page in action, access the following page:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    82
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    83
    web/app_dev.php/demo/hello/Fabien
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    84
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    85
3) Learn about Symfony!
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    86
-----------------------
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    87
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    88
This distribution is meant to be the starting point for your application,
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    89
but it also contains some sample code that you can learn from and play with.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    90
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    91
A great way to start learning Symfony is via the [Quick Tour](http://symfony.com/doc/current/quick_tour/the_big_picture.html),
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    92
which will take you through all the basic features of Symfony2 and the test
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    93
pages that are available in the standard edition.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    94
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    95
Once you're feeling good, you can move onto reading the official
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    96
[Symfony2 book](http://symfony.com/doc/current/).
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    97
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    98
Using this Edition as the Base of your Application
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    99
--------------------------------------------------
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   100
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   101
Since the standard edition is fully-configured and comes with some examples,
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   102
you'll need to make a few changes before using it to build your application.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   103
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   104
The distribution is configured with the following defaults:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   105
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   106
* Twig is the only configured template engine;
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   107
* Doctrine ORM/DBAL is configured;
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   108
* Swiftmailer is configured;
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   109
* Annotations for everything are enabled.
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   110
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   111
A default bundle, ``AcmeDemoBundle``, shows you Symfony2 in action. After
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   112
playing with it, you can remove it by following these steps:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   113
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   114
* delete the ``src/Acme`` directory;
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   115
* remove the routing entries referencing AcmeBundle in ``app/config/routing_dev.yml``;
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   116
* remove the AcmeBundle from the registered bundles in ``app/AppKernel.php``;
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   117
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   118
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   119
What's inside?
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   120
---------------
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   121
The Symfony Standard Edition comes pre-configured with the following bundles:
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   122
	
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   123
* **FrameworkBundle** - The core Symfony framework bundle
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   124
* **SensioFrameworkExtraBundle** - Adds several enhancements, including template
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   125
  and routing annotation capability ([documentation](http://symfony.com/doc/current/bundles/SensioFrameworkExtraBundle/index.html))
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   126
* **DoctrineBundle** - Adds support for the Doctrine ORM
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   127
  ([documentation](http://symfony.com/doc/current/book/doctrine.html))
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   128
* **TwigBundle** - Adds support for the Twig templating engine
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   129
  ([documentation](http://symfony.com/doc/current/book/templating.html))
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   130
* **SecurityBundle** - Adds security by integrating Symfony's security component
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   131
  ([documentation](http://symfony.com/doc/current/book/security.html))
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   132
* **SwiftmailerBundle** - Adds support for Swiftmailer, a library for sending emails
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   133
  ([documentation](http://symfony.com/doc/2.0/cookbook/email.html))
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   134
* **MonologBundle** - Adds support for Monolog, a logging library
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   135
  ([documentation](http://symfony.com/doc/2.0/cookbook/logging/monolog.html))
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   136
* **AsseticBundle** - Adds support for Assetic, an asset processing library
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   137
  ([documentation](http://symfony.com/doc/2.0/cookbook/assetic/asset_management.html))
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   138
* **JMSSecurityExtraBundle** - Allows security to be added via annotations
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   139
  ([documentation](http://symfony.com/doc/current/bundles/JMSSecurityExtraBundle/index.html))
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   140
* **WebProfilerBundle** (in dev/test env) - Adds profiling functionality and
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   141
  the web debug toolbar
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   142
* **SensioDistributionBundle** (in dev/test env) - Adds functionality for configuring
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   143
  and working with Symfony distributions
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   144
* **SensioGeneratorBundle** (in dev/test env) - Adds code generation capabilities
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   145
  ([documentation](http://symfony.com/doc/current/bundles/SensioGeneratorBundle/index.html))
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   146
* **AcmeDemoBundle** (in dev/test env) - A demo bundle with some example code
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   147
7f95f8617b0b first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
   148
Enjoy!