Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.10.2012, 14:05   #1
SteamCoder
Новичок
Джуниор
 
Регистрация: 05.10.2012
Сообщений: 1
По умолчанию Быстрый старт для веб-проекта с нуля

*ВНИМАНИЕ: форум обрезает более 5000знаков - пришлось урезать*
Для веб-разработки существует довольно большое количество популярных PHP-дополнений, написанных для таких зарекомендовавших себя ветеранов, как Codelgniter, Prado, CakePHP, Yii. Что-то идет в персональную библиотеку «Must have», что-то воспринимается с большой долей скептицизма, сразу отсеивается или вообще не замечается.

На этом фоне хотелось бы рассказать о молодом, но на мой взгляд, очень перспективном проекте — Backvendor, написанном для Yii Framework.

Собственно, что же в нем интересного?

Основной задачей дополнения Backvendor является максимальная автоматизация начальной стадии проекта и освобождение разработчика от рутины при создании веб-сервиса. С помощью Backvendor и пары команд в консоли можно создать каркас для приложения, содержащее веб-сервис и админпанель; быстро настроить CRUD для каждой модели, указать связи между ними. Все это делается гораздо быстрей, чем при использовании стандартных средств Yii. Детальную информацию по этому поводу можно посмотреть как на сайте Yii framework.

Создание веб-сервиса

Теперь давайте рассмотрим, как же все это работает. Ниже привожу с комментариями создание базового веб-сервиса с админкой и фрагменты кода.


Шаг 1.

Скачиваем само раcширение Backvendor отсюда и кладем его в папку с веб доступом (я не менял ее название с Backvendor). После этого в командной строке пишем:

Код:
cd /path/to/webroot/Backvendor
php bviic.php createmultiapp --path=»/path/to/webroot/my-demo-project»
Легким движением руки мы получаем новый проект, который находится в папке my-demo-project. Он уже содержит структуру приложения, базовые классы и требует от вас только необходимых настроек. Проект состоит из таких частей:
1. applications — тут лежат 2 приложения — админпанель и веб-сервис а также папка images для хранения общих картинок;
2. core — общий код для всех приложений;
3. framework — собственно сам Yii Framework.

Шаг 2.

Перед началом работы нужно применить миграции к вашей базе данных (естественно БД нужно создать заранее и настроить доступ к ней в core/config/db.php). Это делается двумя командами в консоли:

Код:
cd /var/www/my-demo-project/applications/backend/protected php yiic migrate
Шаг 3.

Займёмся настройкой админпанели (моделями и расстановкой связей между ними).
В новом проекте вам нужно будет генерировать модели для необходимых таблиц при помощи Gii Tool. Его настройки находятся в файле /core/config/main.php. При генерации моделей выставляем путь для них «core.models»

Основные настройки для CRUD и моделей находятся в файле backend/protected/controllers/SiteController.php в функции reconfigureEntityParamsDictionary. Для данного демо-проекта эта функция выглядит так:

Код:
 self::$entityConfigDictionary = CMap::mergeArray(
       parent::$entityConfigDictionary, array(
           'user' => array(
                'modelName' => 'User',
                'excludeFromGridView' => array(
                    'password', 'salt',
                ),
                'excludeFromDetailView' => array(
                    'password', 'salt',
                ),
                'modelAlias' => 'Blog User',
                'modelAliasPlural' => 'Blog Users',
                'bool' => array('admin'),
                'datetime' => array('creation_date'),
                'images' => array('image'),
                'title' => 'username',
                'link' => array(
                    'fb_link' => 'http://www.facebook.com/profile.php?id={value}'
                ),
                'password' => array('password'),
                'dropDown' => array(
                    'role' => array(
                        1 => 'Publisher',
                        2 => 'Moderator',
                        3 => 'Writer',
                    ),
                ),
                'maxUploadedImageSize' =>
                    array('width' => 200, 'height' => 200),
                'selectable' => 2,
                'nuke'=>true
            ),
            'post' => array(
                'modelName' => 'Post',
                'notUseTitleOfRelation' => array('author'),
            ),
            'postCategory' => array(
                'modelName' => 'PostCategory',
                'linksManyToManyRelation' => array('post', 'category')
            ),
            'category' => array(
                'modelName' => 'Category',
                'modelAliasPlural' => 'Categories',
            ),          
        ));
    }


Вот и Все.

Ссылки:

1) Детальная информация о проекте доступна тут

2) Проектная документация (доступна только на английском):

Полный перечень документов
SteamCoder вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ассемблер - Быстрый старт Ev3658 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 12 17.01.2023 22:16
Ищу веб-програмиста для старт-апа Валентин Андреевич Фриланс 2 19.10.2011 10:25
Работа. Веб флеш плеер с нуля? PGS Фриланс 0 26.03.2011 23:56
Создаем команду для реализации веб-проекта Dmitriy All Фриланс 0 09.01.2011 22:57