| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Для профи > мой небольшой framework |
| Автор: DrNemo 15.3.2014, 14:12 |
| Привет всем. Хочу показать вам свою небольшую поделку, которую уже давно пилю для собственных нужд. Интересно ваше мнение по нему, и возможные проблемы и не доработки. Особенности:
Зовут Gallant ) https://github.com/DrNemo/gallant.mvc http://gallantes.ru/ - тут немного о том как этим пользоваться) |
| Автор: jexerrus 19.3.2014, 09:51 |
| Выглядит приятно а какие плюсы по сравнению например с Yii ? |
| Автор: DrNemo 20.3.2014, 21:23 | ||||
| Пожалуй ни чего из уже реализованного, там не круче чем в yii. На мой взгляд yii очень громоздкий, по количеству кода необходимого для реализации задачи, мне приятен более компактный и как мне кажется лаконичный подход. Так же я считаю, что некоторые моменты должен писать сам программист, это дает больше гибкости и контроля. Например авторизация, вот как на Yii перевести пользователей на новый формат хранения паролей(с md5 на crypt)? Задачи которые я ставил перед собой, это минимум кода для реализации максимума функционала. немножко примеров из разных рабочих проектов: Список всех пользователей сервиса:
Создание новой задачи:
Ну и тд) |
| Автор: DrNemo 21.3.2014, 00:08 |
| П.С.: https://github.com/DrNemo/gallant.mvc/blob/master/control/controlBlog.php - пример контроллера блога |
| Автор: SamDark 21.3.2014, 01:49 | ||
1. Рассылаем всем юзерам мыло с просьбой сменить пароль. 2. Дописываем в identity или методы, которые там используются,`if(начинается как хеш crypt) { новый код } else { старый код`. 3. Ждём. Посмотрел немного. Местами узнаётся CodeIgniter в конструкциях вроде "define('GALLANT_SYSTEM', true);" и получении данных из сегментов URL. 1. С именованием плохо: - Называть директорию контроллеров control странно. Почему для моделей не mod тогда? - Шаблон head.php включает в себя разметку для тела и футер. Лучше как у всех назвать layout. - G::getDomen() → G::getDomain() - G::ref($url) почему не назвать G::redirect($url)? - Auter → Author - $f = function(&$v, $k, $f){ понять не просто.... - CONCET_MODEL? 2. Документацию лучше писать в markdown, в HTML замучаетесь... 3. Нет нормальной документации в phpdoc. 4. Нет тестов, а они очень нужны для фреймворка. Это всё-таки основа кучи проектов... |
| Автор: SamDark 21.3.2014, 11:34 |
| Можно и при логине перехешировать. В любом случае использование или не использование Yii ничего не меняет. |
| Автор: Sanchezzz 25.3.2014, 23:43 |
| Добавлю еще такое: css с шаблонами лучше не хранить Код приложения вообще как по правилу не должен доступен извне, конечно бывают исключения и за технических проблем. Пример в Laravel app/ public/ это папка доступна из интернета. vendor/ фрамеворк и другие библиотеки Пример Yii2 app/ может на самом деле называться как хочешь web/ это папка доступна из интернета. vendor/ фрамеворк и другие библиотеки Техническая проблема о которой говорилось выше Иногда конечно такой структурой нельзя воспользоватся, например при хостинге где нет возможности править конфиг апача или ngnix У каждой проблемы есть решение: И то эту проблему достаточно переопределить base_path в конфиге приложения + index.php слегка подправить путь к фреймворку ЗЫ мое чудо https://github.com/sanchezzzhak/Kitty-Framework, проект забросил так как пришел на Yii2 и laravel возможно я продолжу начатое... |
| Автор: DrNemo 26.3.2014, 09:48 |
| Для решения этой задачи в конфиге можно указать путь к каждой папке (моделей, контроллеров, шаблонов), так же поддерживаются массивы путей, что позволяет сделать например общие модели для нескольких сайтов (не смотря на разные папки доступны они будут в одном namespace). |