Для новичков

Материал из Smart Core Wiki

Перейти к: навигация, поиск

Содержание

Что нужно для работы?

Если вы пользователь Windows, то возможно будет полезна статья Установка веб-сервера на Windows.

У вас должен быть настроен веб сервер apache (с nginx тоже всё работает, но это будет описано позже) с включенным моделем mod_rewrite и подключенным РНР версии 5.4.1 или выше.

Также крайне желательно РНР расширение APC версии 3.0.17+ (для windows скачать расширение можно тут http://downloads.php.net/pierre/ и тут http://dev.freshsite.pl/php-accelerators/apc.html).

Для работы с БД, необходимо уставноить РНР расширение PDO. Убедитесь в этом выполнив функцию phpinfo().

Актуальные и полные требования к фреймворку Symfony2 описаны на оффсайте http://symfony.com/doc/master/reference/requirements.html.

РНР должен выполняться из командной строки, для пользователей Linux и MacOS это работает по умолчанию, а для Windows пользователей надо настроить и убедиться в этом, выполнив в консоле команду:

php -v

В ответ должно быть получено что-то вроде:

PHP 5.4.11 (cli) (built: Jan 16 2013 20:26:43)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies

Также у вас должен быть установлен Git и тоже должен работать из командной строки (для пользователей Windows установка git windows), проверить можно выполнив команду:

git --version
В ответ должно быть что-то вроде:
git version 1.8.1.msysgit.1

Как установить систему?

Разработка ведется через специальный репозиторий, который называется "песочница". Для уствновки песочницы надо выполнить, находясь в папке доступной через веб-сервер (например по адресу http://localhost/), в консоле следующую команду:

git clone https://github.com/Smart-Core/CMF-Sandbox.git
Затем войти в директорию песочницы:
cd CMF-Sandbox

Импортировать базу данных (вручную) из файла smart_core.sql и прописать параметры доступа к БД в файле /app/config/parameters.ini (пример конфига находится в /app/config/parameters.ini.dist).

Если composer еще не установлен, то надо выполнить команду:

php -r "eval('?>'.file_get_contents('https://getcomposer.org/installer'));"
Установить все зависимые пакеты:
composer.phar install
Другой вариант выполнить установку без скачивания репозиториев проектов т.е. значительно сэкономить место и увеличить скорость установки:
composer.phar install --prefer-dist
Также для запуска в ОС *nix возможно потребуется создать и выставить права на запись для директорий:
/app/var/cache
/app/var/log
/app/var/mailspool
/web/bundles

Или просто выставить права на все файлы:

chmod -R 777 CMF-Sandbox

В заключении запускаем проект в браузере, например по адресу: http://localhost/CMF-Sandbox/web/

С чего начать изучение движка Smart Core CMS?

Первым дело необходимо вникнуть в основную концепцию системы, а именно каким образом выполняется обработка запроса и конструирование страницы ответа. Здесь имеет не как это сделано на уровне программного кода, а как это выглядит на уровне идеи :) Для того, чтобы пощупать своими руками как это всё работает, можно покрутить демо-сайт http://digi.tw1.ru/, несмотря на то, что он сделан на прошлой версии движка, основная суть архитектуры осталась прежней и в новой версии, которая разрабатывается на Symfony2.

Суть в том, что в системе есть 4 ключевых понятия:

К сожалению пока единой статьи, где описывается вся картина концепции архитектуры еще нет. По этому пока что можно воспользоваться статьями, которые были написаны ранее:

Как принять участие в разработке?

Вся разработка ведется на https://github.com/Smart-Core.

Некоторые ссылки для начала работы с github:

Что такое Git и как с ним работать?

Ознакомиться что это такое можно в википедии по адресу http://ru.wikipedia.org/wiki/Git

Далее выложены несколько ссылок с документациями по работе с гитом:

Где взять документацию по Symfony2?

Руссоязычная документация доступна на следующих ресурсах:

Англоязычная документация является самой полной и актуальной, по этому надо научиться читать и её ;)


Русскоязычные доки сейчас доступны толкьо для версии 2.0, а в 2.1 есть некоторые отличия, о них можно почитать тут:

Почему выбран именно Symfony2?

Выдержка сути из оригинальной статьи: http://fabien.potencier.org/article/65/why-symfony.

От себя добавлю, что Symfony (в отличии от ZF) мне нравится:


http://trish.in/article/php-frameworks

http://intaro.ru/magazine/2012/09/10/symfony2/

http://altabel.wordpress.com/2013/01/18/incredible-php-framework-symfony/

http://socialcompare.com/en/comparison/php-frameworks-comparison

http://zlob.in/2014/01/pochemu-my-predpochitaem-symfony-2-vmesto-yii/

У меня выскакивает ошибка:

Call to undefined function Doctrine\Common\Cache\apc_fetch()

Fatal error: Call to undefined function Doctrine\Common\Cache\apc_fetch()
in /var/www/CMF-Sandbox/vendor/doctrine-common/lib/Doctrine/Common/Cache/ApcCache.php on line 52

Необходимо установить расширение APC для PHP.

При компиляции twig.so на Gentoo Linux

Если в Gentoo возникают проблемы вроде

libtool: Version mismatch error. This is libtool 2.4, but the
libtool: definition of this LT_INIT comes from an older release.
libtool: You should recreate aclocal.m4 with macros from libtool 2.4
libtool: and run autoconf again.

то следующие команды помогут:

$ phpize
$ aclocal && libtoolize --force && autoreconf
$ ./configure
$ make
$ make install

У меня Денвер и что-то не работает

Решение одно: избавиться от денвера и установить apache, php, mysql в ручную :) Объяснять что да почему с денвером дольше, чем его удалить и настроить весь софт нормально :)

Личные инструменты
Пространства имён
Варианты
Действия
Основные разделы
Ссылки
Навигация
Инструменты