24
Symfony v. 1.4 Архитектура и применение Докладчик: Полоротов Александр

Symfony(keremet research)

Embed Size (px)

Citation preview

Symfony

v. 1.4

Архитектура и применение

Докладчик:

Полоротов Александр

Что это?

SYMFONY – это ОО framework

написанный на PHP5

Основатель проекта Фабьен Потенсьер

Разработан компанией Sensio Lab

Преимущества

Встроенная система кэширования

ORM

Генерируемый CRUD

Расширяемость

Хорошая документация

Многоязычность (i18n)

И еще много много плюшек

FRAMEWORK

Framework – это платформа, на

которой работает ваше приложение.

Framework – это инструмент

НО Framework не делает всѐ за вас! (вот

блин )

ЗАЧЕМ?

Сокращает время разработки (начиная

с 3-4 проекта)

Позволяет сосредоточиться на

реализации конкретной задачи

Облегчает работу в команде

ШАБЛОНЫ ПРОЕКТИРОВАНИЯ

Шаблон проектирования (design

pattern) — повторимая архитектурная

конструкция, представляющая собой

решение проблемы проектирования в

рамках некоторого часто

возникающего контекста.

ШАБЛОНЫ ПРОЕКТИРОВАНИЯ

В SYMFONY

ACTIVE RECORD (Активная запись)

OBSERVER (Наблюдатель)

MVC

И Т. Д.

MVC

ACTIVE RECORD

SYMFONY

ORM

Active Record

Data Mapper

Dependency Injection (Внедрение

зависимостей)

ORMПример

ORM

id Title Description Section_id

1 Первая тема Symfony 1

id Title Description

1 Фреймворки О фреймворках

Темы

Разделы

class Theme () {

public int Id;

public String title;

public String description;

public Int section_id;

public Section section;

}

class Section () {

public int Id;

public String title;

public String description;

}

Пример

$query = ―INSERT (title,description )INTO theme VALUES (―Тема 2‖, ―Про плюшечки‖);

mysql_query($query);

$theme = new Theme();

$theme->setTitle(―Title‖);

$theme->setDescription(―Про плюшечки‖);

$theme->save();

Операции с объектами автоматически переводятся в запросы!

SYMFONY

COMPONENTS

EVENT DISPATCHER

FORM FRAMEWORK

DOCTRINE / PROPEL

FORM FRAMEWORKСтруктура

FORM

Форма

Поле 1 Поле 2

Поле

Widget

Formatter

Validator

FORM

Widget – отображение (визуальный

элемент)

Formatter – формат вывода widget‘a

Validator – проверка данных

POSTvalidator

PREvalidator

Обработка формPHP (голый ) SYMFONY

<?php

IF ( $_GET[‗name‘] != null &&

strlen($_GET[‗name‘] )> 5)

{

echo ―Form is valid!‖;

}

?>

<?php

$form = new myForm();

$form->bind($_GET);

If ($form->isValid())

echo ―From is valid!‖;

EVENT DISPATCHER

EVENT DISPATCHER

Используй то, что есть под рукой.

Осознай, что это полный отстой.

Напиши свое.

Подожди, пока кто-то выпустит меньший

отстой.

Забрось свое.

Используй чужое.

(с) Пол Ломакс

ВОПРОСЫ?@shatzibitten