Форумы портала PHP.SU » Объявления » Наработки по собственным проектам » оцените тестовый проект

Страниц (1): [1]
 

1. exlant - 09 Февраля, 2016 - 14:44:37 - перейти к сообщению
Всем привет)))

Занялся написание не большого тестового проекта, для получения опыта.
Вот наконец-то закончил.
Это игра крестики-нолики, с регистрацией и авторизацией пользователя.

В качестве бд использовал mongoDb

Вот сам сайт http://www[dot]tictactoe[dot]pp[dot]ua/
Вот проект на githube - https://github[dot]com/exlant/tictactoe

Оцените пожалуйста)
Хочу что бы опытные разработчики ткнули пальцем на допущенные ошибки и дыры)) Наверное самая первая это неиспользование framework-а...

Собираюсь искать вакансию на junior php. Как считаете стоил ли выкладывать этот проект в портфолио?
2. Viper - 09 Февраля, 2016 - 16:50:45 - перейти к сообщению
Цитата:
Для работы сайта включите cookie!
где-то трабл Улыбка
3. exlant - 09 Февраля, 2016 - 17:02:01 - перейти к сообщению
Viper пишет:
Цитата:
Для работы сайта включите cookie!
где-то трабл Улыбка

Вроде пофиксил этот трабл...
Удалял все куки в браузерах по сайту. Запускал как бы с 0, и все работает. Тестировал на chrome, firefoxe, opere все норм.. Запускал с разных домашних пк, все работает..

А какой у вас браузер? И включены ли куки? Без них работать не будет
4. Viper - 10 Февраля, 2016 - 11:08:48 - перейти к сообщению
exlant пишет:
А какой у вас браузер? И включены ли куки? Без них работать не будет
firefox 44, включены Улыбка
5. exlant - 10 Февраля, 2016 - 11:45:02 - перейти к сообщению
Тогда предположу Хм , что у вас блокируется переадресация в браузере.
Добавил ссылку для самостоятельного возврата на главную страничку Улыбка

Не учел этот вариант, спасибо_)
6. Viper - 10 Февраля, 2016 - 12:41:30 - перейти к сообщению
exlant пишет:
Тогда предположу Хм , что у вас блокируется переадресация в браузере.
Добавил ссылку для самостоятельного возврата на главную страничку Улыбка
отнюдь. Не блокируется. Добавили костыль Улыбка
Предположу что проблема вот тут https://github[dot]com/exlant/tictac[dot][dot][dot]re[dot]class.php#L60
7. exlant - 10 Февраля, 2016 - 12:58:06 - перейти к сообщению
да. если есть проблема, то она именно там.
Но я не могу понять, что там не так, так как не могу воспроизвести ошибку...
У меня дома три ПК с ubuntu и windows, пробовал на всех своих ОС в разных браузерах в том числе и на firefox 44. Перед заходом на сайт чищу куки, и перезапускаю браузер. Все Ок, работает как задумано. Просил нескольких знакомых зайти, у них тоже все ок.

Почему у вас не срабатывает переадресация не могу понять...

Так стоп, а почему у меня сессия запускается после проверки куки, исправил. Возможно в этом была проблема, интересно почему у меня тогда работало...
8. esterio - 10 Февраля, 2016 - 22:05:39 - перейти к сообщению
пока что несколько пунктов по юзабилити
1. капча уж очень длинная, можно и покорче делать смело. или вовсе рекапча
2. после регистрации хорошо если диет переадресация сразу в профиль
(Добавление)
по коду. открыв index.php сразу понятно что с MVC Вы не знакомы. А это один с критериев отбора. У Вас все идет вермишель. Тоесть грубо говоря должно быть примерно следующая схема
Ядро - роутер - контроллер - модель - вью
Ядро уже знает какой компонент системы за что отвечает. контроллер просто визивает модель и достает данные. А вью уже рендерит все. Ясно что все это я описал как абстрактный конь в ввакууме. Но очень рекомендую взглянуть на какой нибуть микрофреймворк и самому понять как делать правильно а как нет
9. exlant - 11 Февраля, 2016 - 02:28:29 - перейти к сообщению
esterio

Спасибо, что посмотрели сайт)

На каптче у меня там стоит рендомная генерация от 5 до 10 символов, уменьшил до 5-7)

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

Я вполне знаком с MVC, и даже за время моего самообучения у меня сложилась вполне нормальная картинка(ну для меня), как оно должно работать. На первых порах, я не мог понять что же нужно засовывать в контроллер, а что в модель, читал на форумах об этом, одни говорили, что должна быть толстая модель, а контроллер как обертка к ней, другие что должен быть толстый контроллер, а модель чисто дергать данные из базы.

Я пришел к такому пониманию, как оно должно быть устроено...

Контроллер должен отвечать за логику, в какой последовательности, и что зачем идет.

Модель - это как разные детали, винтики, гаечки, болтики, шестеренки, - которые контроллер складывает в нужном порядке. Модель также дергает данные из еще одного подключенного класса, который выступает в роли обертки над базой/базами данных, то есть модели совсем не обязательно знать откуда эти данные берутся, она как бы говорит выбери но мне вот эти данные, вот с такими вот параметрами, а откуда и как дергать разбирается уже класс для работы с базой.

вью - само собой отображение данных

Мне вот понравилось еще концепция разделение свойств и методов, как реализовано в symfony2 в doctrine, там создается еще один класс Entity - в котором хранятся чисто свойства и гетеры, сетеры к ним. Мне вот было удобно такое разделение.

Последние модули, которые я добавлял, работают в таком порядке: загружается контроллер к нему экстендится entitty со всеми свойствами, в контроллере загружаю модель, как самостоятельный объект, модель запускает объект или экстендит класс для работы с базой. Вью это просто файл php подключенный к index.php, в котом содержится html код, и запросы к контроллеру на получение нужных данных. Как то так.

Если взять мой проект в целом, то он работает примерно по такому же принципу как вы описали,
первый подключенный к index.php файл это как раз и есть ядро, там стартуется объект отвечающий за автоподключение классов, обработчик ошибок, собственно само ядро, выполнено как обертка над главным контроллером. Роутер я хотел написать, но так и не нашел времени, у меня даже есть там пустой класс с этим названием). Во всех модулях есть свои контроллеры и модели, может их содержимое не совсем соответствует названию, но это ввиду того что я много экспериментировал, сначало сувал все в контроллер потом все в модель, самый большой бардак в самых ранних классах, а переделывать их у меня сейчас нет ни времени ни желания, в последних написанных модулях, на мой взгляд царит порядок

 

Powered by ExBB FM 1.0 RC1