Страница 1 из 2
Airily Skeleton App
Добавлено: 2013.02.15, 12:51
yiijeka
Делаю для себя скелет app yii.
Делюсь :) Идея и некоторые вещи были заимствованы у Yii Bollierplate.
Пока реализована:
- Веб-интерфейс инсталляции app с созданием необходимых таблиц, через migrate
- Менеджер модулей:Установка, удаление, отключение, автоматическое подключение модулей с помощью composer.phar через веб интерфейс
- Модуль user пока в стадии проработки и улучшения
Пока ещё всё сырое и не покрыто тестами. Стараюсь исправлять.
Проект
https://github.com/airily/skeletonYiiApp
Установка проста, копируете и запускаете index.php.
Заточено пока под Mysql и Apache...
Примечание: Инсталляция модулей проходит по правилам
composer. Работа модулей будет зависеть от того, что они действительно будут "идеальными" модулями, не требующие никаких дополнительных компонентов. Иначе не нужно рассчитывать на сверхъестественное и прийдётся все равно лезть в код установленного модуля, для решения возникших проблем. Установщику модулей нужно скормить zip файл (Имямодуля__Версия). Не нужно имя модуля выдумывать с -** и другими символами, лучше брать обычные, т.к. это имя потом будет папкой модуля (например pages.zip, blog.zip...). Конечно там предусмотрено валидация имени, но всё же. :) Версия должна идти после имени и двойного подчёркивания __ и соответствовать правилам
http://getcomposer.org/doc/04-schema.md#version. Полное имя zip выглядит приблезительно так raiting__2-RC2.zip или так raiting.zip (версия будет присвоена 1.0.0.0)
UPD:
Настройка "Человекопонятные URL"
Буду рад вашим идеям и фидбекам.
Re: Airily Skeleton App
Добавлено: 2013.02.17, 10:37
TBIKC
Вау! Достаточно интересный скелет =)
Вопрос такой, а как я могу использовать данные строчки ? попробовал применить - не встало
'urlManager' => array(
'urlFormat'=>'path',
'showScriptName' => false,
),
Ну т.е. чтобы вместо
backend.php?r=
Было просто backend/
Ну и с главной тоже как нибудь
Re: Airily Skeleton App
Добавлено: 2013.02.18, 10:28
yiijeka
Используя 'showScriptName' => false мы избавляемся от входного index и backend, но т.к. по-умолчанию входные файлы бэкенда и фронтэнда лежат в одной папке то
Код: Выделить всё
RewriteRule . index.php
RewriteRule . backend.php
не будут работать. Сервер не понимает к какому из них обратиться. Их нужно поместить в разные папки.
Спасибо, подумаю над этим;)
Re: Airily Skeleton App
Добавлено: 2013.02.18, 13:40
yiijeka
@TBIKC
https://github.com/githubjeka/skeletonY ... ba3065571e
Сделал, чтобы работали правила.
День, два потестю и залью в офф репо.
Re: Airily Skeleton App
Добавлено: 2013.02.18, 13:52
TBIKC
Дык давайте сразу в офф, и сразу будем тестить =)
Как то не очень охото сейчас качать форк устанавливать ну и т.д.
Re: Airily Skeleton App
Добавлено: 2013.02.18, 14:10
yiijeka
Готово, просто там имя frontend тоже пишеться в урл. Например localhost.org/frontapp/... избавиться от frontapp, не получилось сразу.
Имя к backen в урл можно поменять в \protected\backend\config\params-prod.php -> $rootBackend = 'backend'; так же нужно и в \.htaccess 340 строка RewriteRule ^backend backend.php [L] (часть ^backend заменить на свою, если надо)
Re: Airily Skeleton App
Добавлено: 2013.02.18, 14:48
TBIKC
Бэк отлично отрабатывает, а вот про фронт я не понял
Re: Airily Skeleton App
Добавлено: 2013.02.18, 14:50
yiijeka
грубо говоря index.php скрыть не удаётся, вместо него обязательно нужно выводить имя , по умолчанию /site/, ну эт пока :)
Re: Airily Skeleton App
Добавлено: 2013.02.18, 14:54
TBIKC
ааа, ладно, надо просто придумать решение, и будет очень элегантный скелетик =))
Re: Airily Skeleton App
Добавлено: 2013.02.18, 15:31
yiijeka
Придумал, сделал, обновил, ... =)
Re: Airily Skeleton App
Добавлено: 2013.02.18, 15:43
TBIKC
Что то на главной не заметно
При входе кидает на
http://skeletonyiiapp/index.php?r=users
Re: Airily Skeleton App
Добавлено: 2013.02.18, 16:44
yiijeka
Хз, я там обновил, была проблема с загрузкой стилей и картинок на фронт.
Посмотри ещё, чтобы \protected\frontend\config\main.php был блок разкомментирован (75 строка):
Код: Выделить всё
'urlManager' => array(
'urlFormat' => 'path',
'showScriptName' => false,
'urlSuffix' => '/',
rules' => $params['url.rules']
),
Re: Airily Skeleton App
Добавлено: 2013.02.18, 17:21
yiijeka
По настройке url:
1. Нужны ЧУП для backend?
Находим в \protected\backend\config\main.php
и разкоментируем его. Также поступаем и с кодом в \.htaccess
2. Нужны ЧУП для frontend?
Находим в \protected\frontend\config\main.php
и разкоментируем его. Также поступаем и с кодом в \.htaccess
Код: Выделить всё
RewriteCond %{REQUEST_FILENAME} !/(css|images|js)/
RewriteRule !backend(.*) index.php [L]
Правила задаются в \protected\(backend|frontend)\config\params(-prod|local).php
Re: Airily Skeleton App
Добавлено: 2013.02.18, 19:57
porcelanosa
А есть какая-нибудь инструкция как сабмитить на Github -
Я сделал форк на github вашего репозитария.
Checkout на локальном сервере из своего форка.
И типа если я сейчас буду, что править, и коммитить, то как это потом к примеру предложить Вам в качестве улучшения.
Где-то в каком то проекте на github читала подробную инструкцию, но не могу найти - а по памяти дальше вышеприведенных двух действий не помню
UPD:
Может это важно. Я под windows - юзаю phpStorm
Re: Airily Skeleton App
Добавлено: 2013.02.18, 20:11
TBIKC
Что то я совсем запутался =)
Раскомментировал ЧПУ urlmanager в бэке и фронте и ничего не работает
в .ht найти не могу такие строчки )
Re: Airily Skeleton App
Добавлено: 2013.02.18, 20:35
porcelanosa
TBIKC писал(а):Что то я совсем запутался =)
Раскомментировал ЧПУ urlmanager в бэке и фронте и ничего не работает
в .ht найти не могу такие строчки )
У меня открывается и
http://skeleton.local/index.php и
http://skeleton.local/index.php?r=site - еще не копалось, но похоже, где - то правила не убраны.
а авторизация на фронтэнде и бэкэнде раздельная.
Хорошо это или плохо не знаю. У меня в моем "скелете" так тоже сделано - но я просто не задумывалась над этим. Как получилось.
P.S> хороший афоризм пришел на ум. "У каждого программиста - есть свой скелет на GitHub"
Re: Airily Skeleton App
Добавлено: 2013.02.18, 21:52
Koduc
TODO list
- Инсталлятор подпилить под линуксы - пытается создавать папки, на которые у него явно нет прав и отваливается по ошибке..
- При инсталле не проверяет права на /common/config/params-prod.php - опять таки отваливается
- Не добавляет юзера в админке (404)
- Аналогичная проблема с правами в композере. Короче пришлось на весь проект кинуть 777
- Show site в админке ведет в корень сервера, а не в корень проекта
Веб-морда к композеру - интересно;) Но пилить это всё еще.. Работы непочатый край. Успехов в этом начинании!
Re: Airily Skeleton App
Добавлено: 2013.02.18, 22:21
yiijeka
@Koduc, спасибо. Всё учту и постараюсь исправить :)
@porcelanosa по поводу git, всё написано очень доходчиво тут
http://git-scm.com/book/ru.
В двух словах по вашему поводу. Делаете форк, клонируете к себе свой форк, создаёте ветку, переходите на неё, делаете изменения, сохраняете, делаете коммит, заливаете на свой форк. Заходите на github свой форк, там есть вкладки по выбору веток, выбираете в той что вели разработку, нажимаете кнопку большую в dashboard "Pull Request" пишите комментарий к своим изменениям и отправляет, ждёте от меня подтверждения или комментариев. Если подтверждение проходит можно свою ветку, где велась разработка слить с master локальной веткой и повторять операцию заново.
@TBIKC обнови конфиги main и param, htaccess с офф репо, там все эти строчки имеются. И если вносить в конфиг свои настройки, то лучше создать param-local или main-local в тех же папках, что и prod настройки и в них уже дописывать свои правила и т.д. Просто сейчас всё сырое и конфиг может очень часто меняться.
И ещё раз спасибо вам большое всем :)
Re: Airily Skeleton App
Добавлено: 2013.02.18, 23:58
porcelanosa
yiijeka писал(а):@Koduc, спасибо. Всё учту и постараюсь исправить
@porcelanosa по поводу git, всё написано очень доходчиво тут
http://git-scm.com/book/ru.
В двух словах по вашему поводу. Делаете форк, клонируете к себе свой форк, создаёте ветку, переходите на неё, делаете изменения, сохраняете, делаете коммит, заливаете на свой форк. Заходите на github свой форк, там есть вкладки по выбору веток, выбираете в той что вели разработку, нажимаете кнопку большую в dashboard "Pull Request" пишите комментарий к своим изменениям и отправляет, ждёте от меня подтверждения или комментариев. Если подтверждение проходит можно свою ветку, где велась разработка слить с master локальной веткой и повторять операцию заново.
Спасибо - буду пробовать.
Re: Airily Skeleton App
Добавлено: 2013.02.19, 00:09
lancecoder
не помню где, но видел смотрел код - glob не совсем как бы правильно, не для всех ос так скажем
если у меня нет апача, мне мимо проходить?
если я не согласен с вашей структорой мне тоже мимо?
чем это расширение лучше простого использования компосера из КОНСОЛИ, если все модули заточены под КОНКРЕТНЫЙ проект