|
461 / 369 / 94
Регистрация: 01.05.2010
Сообщений: 1,761
|
|
Оцените код пожалуйста - правильно ли я понял ООП и MVC?01.08.2013, 12:49. Показов 4057. Ответов 17
Метки нет (Все метки)
Здравствуйте! php изучаю уже три месяца, когда есть возможность. С ООП в php познакомился две неделии назад. До этого с ним немного имел дел в javascript'e, тоже в учебных целях.
Как говорится, без практики теория мало чем поможет, поэтому я всегда стараюсь кодить после того, как что-то прочитал и узнал... Но как мне понять - хороший мой код или нет? То, что я написал чего-то стоит, или полная лажа? Поэтому я принял решение выложить свой код для оценки. Что хотелось бы услышать в ответ: 1. Правильно ли я понял ООП? Не слишком ли мой код громоздок? Может можно всё сделать намного проще и понятнее? 2. Правильно ли я понял MVC? Правильно ли я разделил код модели, контроллера и шаблонов? И вообще правильно ли я соотнес код с этими категориями. 3. Какие основные ошибки вы встретили в моем коде? 4. Есть ли в моем коде проблемы безопасности? 5. Ваши замечания. Теперь о самом коде. Это - гостевая книга Заливал на свой хостинг - работает.Инструкция по установке: 1. Распакуйте содержимое архива в каталог на хостинге. 2. Создайте базу данных на хостинге. 3. Откройте для редактирования файл model/db_settings.php и отредактируйте значения констант имени вашей БД, хоста вашей БД, пользователя вашей БД и пароля пользователя вашей БД. Это нужно для того, чтобы подклю- читься к вашей БД. При желании в этом файле можно задать кодировку вашей БД и имя таблицы, с которой бу- дет работать гостевая книга. Таблица с заданым именем будет автоматически создана при первом запуске гостевой книги. 4. Установка закончена. Чтобы открыть гостевую книгу в браузере - обратитесь через него к файлу guestbook.php 5. Если вы поместили гостевую книгу в корень сайта и желаете, чтобы она запускалась как главная страница сайта, то переименуйте файл guestbook.php в index.php
0
|
|
| 01.08.2013, 12:49 | |
|
Ответы с готовыми решениями:
17
Правильно ли я понял видимость переменных в ООП Проверьте пожалуйста, правильно ли я понял концепт использования СКВ? Помогите пожалуйста переделать код в ООП |
|
508 / 358 / 13
Регистрация: 12.03.2012
Сообщений: 1,896
|
|
| 01.08.2013, 21:10 | |
|
Код очень не нравится. Советую посмотреть, как пишут на фреймворках.
Описывать косяки очень долго.
1
|
|
|
461 / 369 / 94
Регистрация: 01.05.2010
Сообщений: 1,761
|
||
| 02.08.2013, 09:21 [ТС] | ||
![]() До этого написал эту же книгу, но без ооп и mvc. Кода было почти в два меньше, думал с ооп будет проще...
0
|
||
|
508 / 358 / 13
Регистрация: 12.03.2012
Сообщений: 1,896
|
|
| 02.08.2013, 09:23 | |
|
Зверушь, с ооп на фреймворке будет и проще, и кода меньше.
1
|
|
|
461 / 369 / 94
Регистрация: 01.05.2010
Сообщений: 1,761
|
|
| 02.08.2013, 09:24 [ТС] | |
|
0
|
|
|
508 / 358 / 13
Регистрация: 12.03.2012
Сообщений: 1,896
|
|
| 02.08.2013, 09:25 | |
|
Как нибудь на выходных.
0
|
|
|
461 / 369 / 94
Регистрация: 01.05.2010
Сообщений: 1,761
|
|||
| 02.08.2013, 09:29 [ТС] | |||
![]() Заранее спасибо!
0
|
|||
|
508 / 358 / 13
Регистрация: 12.03.2012
Сообщений: 1,896
|
|
| 02.08.2013, 09:37 | |
|
Если в коде прослеживается определенная структура - это значит, что ты написал фреймворк.
Даже если думаешь, что никаких фреймворков не используешь. И эффективнее взять качественный фреймворк, чем тратить время на свой велосипед на костылях.
1
|
|
|
461 / 369 / 94
Регистрация: 01.05.2010
Сообщений: 1,761
|
|||
| 02.08.2013, 09:53 [ТС] | |||
|
Добавлено через 59 секунд
0
|
|||
|
508 / 358 / 13
Регистрация: 12.03.2012
Сообщений: 1,896
|
|
| 02.08.2013, 12:56 | |
|
Писать свое, оглядываясь на лучшее. Но не использовать свое для кода в продакшн.
1
|
|
|
33 / 33 / 9
Регистрация: 26.07.2013
Сообщений: 148
|
|
| 02.08.2013, 13:11 | |
|
Код моделей вынес правильно, а вот с контроллерами и вьюверами я немного не понял твоей схемы. У тебя на один action приходится сразу 4 контроллера, такого не должно быть. У 1 экшена должен быть 1 контроллер, а вот у контроллера может быть несколько экшенов.
Почему в контроллере controller.php нет класса? Если нет сообщений в базе то выдает ошибку Warning: Invalid argument supplied for foreach() in C:\OpenServer\domains\guestbook.loc\view \templates\default\content.php on line 47 Не понятно, зачем выводить статус ошибок в адресную строку? И желательно после успешного добавления тоже выводить сообщение, можно зеленым цветом. Добавлено через 9 минут Зачем используется сессия? Чтоб заносились в нее какие-то данные не увидел, зато увидел как эти данные сравниваются. Либо я пропустил заполнение либо она тут вообще не нужна. Если произошла ошибка текст в полях стирается. Если большое сообщение то набирать его заново очень напряжно. Лучше текст сообщения и ника оставлять в поле.
1
|
|
|
461 / 369 / 94
Регистрация: 01.05.2010
Сообщений: 1,761
|
||||||||
| 02.08.2013, 14:36 [ТС] | ||||||||
|
Спасибо!
0
|
||||||||
|
Почетный модератор
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
|
|||||||
| 02.08.2013, 14:44 | |||||||
![]() А вообще, с помощью header
1
|
|||||||
|
461 / 369 / 94
Регистрация: 01.05.2010
Сообщений: 1,761
|
||||||||
| 02.08.2013, 16:03 [ТС] | ||||||||
Добавлено через 2 минуты
0
|
||||||||
|
33 / 33 / 9
Регистрация: 26.07.2013
Сообщений: 148
|
|||
| 02.08.2013, 16:06 | |||
|
Еще рекомендую добавить конфиг, чтоб выносить константы, и автолоадер, чтоб не инклудить модели и контроллеры.
1
|
|||
|
461 / 369 / 94
Регистрация: 01.05.2010
Сообщений: 1,761
|
|
| 02.08.2013, 16:11 [ТС] | |
|
Спасибо. В общем, еще учиться и учиться))
0
|
|
|
Почетный модератор
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
|
|||
| 02.08.2013, 16:13 | |||
|
0
|
|||
|
33 / 33 / 9
Регистрация: 26.07.2013
Сообщений: 148
|
||
| 02.08.2013, 16:22 | ||
|
Выводить сообщения можно после успешного изменения сообщения или удаления или добавления.
0
|
||
| 02.08.2013, 16:22 | |
|
Помогаю со студенческими работами здесь
18
Оцените пожалуйста код Оцените , пожалуйста, мой код Где правильно разместить код с позиции MVC pattern Как упростить код и правильно использовать ООП? Проектирование сложных систем - ООП. Покритикуйте код, пожалуйста! Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
|
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
В качестве источника данных. . .
|
|
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер
Написал заготовку:
dotnet new console --aot -o UrlHandler
var items = args. Split(":");
var tag = items;
var id = items;
var executable = args;. . .
|
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
|
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений.
9TO2GP2bpX4
a42b81fb172ffc12ca589c7898261ccb/
https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/
Слева синяя линия -. . .
|
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. .
Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
|