Symfony 2: от нуба до CRUD`a

Статья амбициозная. Действительно, пройдем все шаги - от установки до CRUD приложения

0. Начало


 
0. Начало
/*для совсем новичков*/ 

1. Качаем OpenServer отсюда или по прямой
2. Без консоли вы вряд ли повторите этот трюк
3. (Опционально) IDE NetBeabs

1.Установка Symfony
/*для новичков Symfony*/ 

источник
1. Установить при помощи Composer

composer create-project symfony/framework-standard-edition symfony

2. Сразу установить настройки базы данных (беру MySQl)

Хороший менеджер для MySQl

 Если все ОК то пройдите на http://localhost/symfony/web/config.php

Должны увидеть нечто такое


2 Создание бандла
 /*Про бандлы хорошо рассказно здесь*/

1. Переходим в папку

cd \OpenServer\domains\localhost\symfony
php app/console generate:bundle --namespace=Acme/StoreBundle --format=yml


3.1 Создание базы (идем от фрэймворка)

Конфигурация базы данных¶

Перед тем как действительно начать, необходимо настроить соединение с базой данных. По соглашению эта информация обычно указывается в файле app/config/parameters.yml:

 #app/config/parameters.yml
 parameters:
  database_driver:   pdo_mysql
  database_host:     localhost
  database_name:     test_project
  database_user:     root
  database_password: password

Создаем сущность

php app/console doctrine:generate:entity --entity="AcmeStoreBundle:Product" --fields="name:string(255) price:float description:text"

Создаем таблицу

php app/console doctrine:schema:update --force


3.2 DDL

CREATE TABLE `product` (
  `id` INTEGER(11) NOT NULL AUTO_INCREMENT,
  `name` VARCHAR(255) COLLATE utf8_unicode_ci NOT NULL,
  `price` DOUBLE NOT NULL,
  `description` LONGTEXT COLLATE utf8_unicode_ci NOT NULL,
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB
AUTO_INCREMENT=1 CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci'
;

4.CRUD
/*источник*/

php app/console doctrine:generate:crud

указываем сущность

Проверьте \localhost\symfony\app\config\routing.yml

Убедитесь что роутинг подключен

acme_store_product:
    resource: "@AcmeStoreBundle/Controller/ProductController.php"
    type:     annotation


Исходники

Популярные сообщения из этого блога

Пишем логи на C# (.NET). Легкий способ.

Авторизация yii 2 из базы

Средства для работы с базой данный PostgreSql