Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.58/12: Рейтинг темы: голосов - 12, средняя оценка - 4.58
5 / 5 / 1
Регистрация: 14.10.2012
Сообщений: 75

Где можно почитать как же все таки правильно писать WEB приложения?

26.10.2012, 19:23. Показов 2467. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток!

Немноженько предыстории....Нужно было накодить менеджер контактов (просмотр, удаление, изменение контактов + авторизация). Писать на PHP по принципу ООП + применять JS. В функциональность я справился, все нормально работало. Но после кода-ревью последовала большая куча замечаний которые свелись, примерно к следующему:

- ООП в проекте скорее нет, чем есть;
- Верстка не отделена от логики приложения так писать нельзя (это к стати самое не понятное, в HTML нет не строчки PHP, все выводил через инъекции JS);
- В целом логика приложения построена не правильно.

В общем то все в таком духе. Это мое первое код-ревью, и думаю что такие замечания это нормально). Так вот ребята, подскажите источники где можно почитать как же все таки правильно писать WEB приложения? Очень хочется что бы тема была там действительно развернута, а не яблочный огрызок чего то мнения). Если необходимо само приложение, то выложу.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.10.2012, 19:23
Ответы с готовыми решениями:

Можно ли писать WEB-приложения
Здравствуйте, начинаю изучаю шарп и параллельно возникла идея для создания приложения. Так вот, можно-ли написать приложение под сайт,...

Что почитать, чтобы писать приложения, использующие БД
Здравствуйте! Занялся задачей написать приложение для базы данных в MS SQL. Приложение должно выполнять несколько функции: -...

Посмотрите все ли правильно или можно где-то сделать как-то иначе:
Ребят посмотрите все ли правильно или можно где-то сделать как-то иначе: import java.util.Scanner; public class Main{ ...

7
 Аватар для Nazz
898 / 729 / 80
Регистрация: 12.03.2009
Сообщений: 2,804
Записей в блоге: 2
26.10.2012, 19:51
ИМХО: думаю что нужно выложить код, чтобы прокоментировать и обьяснить каждое из замечаний...
0
5 / 5 / 1
Регистрация: 14.10.2012
Сообщений: 75
26.10.2012, 19:59  [ТС]
Конечно! Вот он кодик...
Вложения
Тип файла: rar contager.ru.rar (5.64 Мб, 36 просмотров)
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
26.10.2012, 21:24
Скачал, посмотрел чуть.. сразу же, в самом начале index.php
PHP
1
2
if (!isset($_SESSION['logged'])) header("Location: http://contager.ru/auth/auth_view.php");
    else if (!$_SESSION['logged'] == TRUE) header("Location: http://contager.ru/auth/auth_view.php");
что это?
PHP
1
2
3
4
5
6
7
8
9
$arr['name'] = $_POST['name'];
$arr['dob'] = $_POST['dob'];
$arr['phone'] = $_POST['phone'];
$arr['mail'] = $_POST['mail'];
$arr['note'] = $_POST['note'];
 
include ('../class/contact.php');
$cont = new Contact($_SESSION['userID']);
$cont->add_contact( $arr['name'], $arr['dob'], $arr['phone'], $arr['mail'], $arr['note']);
в таком контексте - бессмысленно и вообще бредово, имхо. А если полей будет в два раза больше, вы их все тоже будете перечислять? И что произойдет если я вручную наберу адрес в строке?
По поводу класса с подключением. Если забыть о том, что там просто функции, перебитые в класс, то что мне делать если я хочу поменять пароль подключения? Или если мне надо под разными юзерами заходить, то мне надо копировать скрипт подключения, так?
PHP
1
2
3
4
5
6
7
public function save_user($login, $password, $name) {
        if (mysql_query("INSERT INTO users (login, password, name) VALUES ('$login', '$password', '$name')")) {   
            return TRUE;
        }
        else 
            return FALSE;
    }//save_user
если не учитывать то, что желательно бы использовать mysql_affected_rows(), то тогда там всего то одна строчка получится..
PHP
1
2
3
4
public function save_user($login, $password, $name) {
    return mysql_query("INSERT INTO users (login, password, name) 
                           VALUES ('$login', '$password', '$name')"));
    }//save_user
Регистрация спокойно пропускает пробелы, при неверных данных авторизации (как и регистрации) никаких ошибок, ничего..
Дальше смотреть не стал, лень.. Дизайн вроде бы неплохой - занимайтесь им, не лезьте в компанию, где требуют хороших навыков ООП пока.. У Вас не ООП-подход, а процедурный, запихнутый в классы, да и он прихрамывает, уж извините..

Добавлено через 17 минут
P.S. сразу забыл - это на вопрос по литературе Учебники по PHP
1
5 / 5 / 1
Регистрация: 14.10.2012
Сообщений: 75
26.10.2012, 21:24  [ТС]
Ну в этом и суть вопроса...я же должен как то подобраться к ООП подходу. Что такое класс его записывать я понимаю, ну как этими классами обращаться в приложении, как их между собою связывать...с этим проблемы, поэтому я обращаюсь, что бы мне дали советы конкретные, источники где что почитать. Да и на задание давали всего 10 часов, я попросту не успевал продумать ООП, так опыта нет.
И извините, я очень благодарен за то, что вы уделили мне время, но совет ни куда не суйтесь и сидите на .... ровно - не очень. Как можно тогда чему то научится, я хочу суваться и хочу учиться...
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
26.10.2012, 21:37
Цитата Сообщение от _Mikhail_ Посмотреть сообщение
но совет ни куда не суйтесь и сидите на .... ровно
если Вы так меня поняли - то извиняюсь, я наверное неверно выразился. Как раз наоборот, суйтесь - но не с места в карьер. Сначала изучите хорошо процедурный, изучите все досконально. Если все-таки на ООП хотите сразу - то прежде чем что-то писать - распланируйте все на бумажке. Почитайте про парадигму ООП в общем. Главная фишка ООП - пожалуй, инкапсуляция. Но также важна и расширяемость, у Вас же это приложение расширять будет проблематично. Простой пример почему - то, что я написал про класс для работы с БД. ООП - это объектно-ориентированный подход, то есть все "исчисляется в объектах", это просто другая логика и мышление. Выделите для себя и выпишите схему проекта и уже по ней делайте. Затем, когда Вы решите что улучшать уже нечего - скачайте какую нибудь CMS и посмотрите как там все устроено и сравните со своим. Почитайте про шаблоны и методики программирования на ООП (к примеру, Мэтт Зандстра | PHP. Объекты, шаблоны и методики программирования), можно начать с java изучение как вариант..

Добавлено через 2 минуты
А про компанию - я же сказал, на время
Цитата Сообщение от KOPOJI Посмотреть сообщение
не лезьте в компанию, где требуют хороших навыков ООП пока..
1
5 / 5 / 1
Регистрация: 14.10.2012
Сообщений: 75
26.10.2012, 21:43  [ТС]
если Вы так меня поняли - то извиняюсь, я наверное неверно выразился. Как раз наоборот, суйтесь - но не с места в карьер. Сначала изучите хорошо процедурный, изучите все досконально. Если все-таки на ООП хотите сразу - то прежде чем что-то писать - распланируйте все на бумажке. Почитайте про парадигму ООП в общем. Главная фишка ООП - пожалуй, инкапсуляция. Но также важна и расширяемость, у Вас же это приложение расширять будет проблематично. Простой пример почему - то, что я написал про класс для работы с БД. ООП - это объектно-ориентированный подход, то есть все "исчисляется в объектах", это просто другая логика и мышление. Выделите для себя и выпишите схему проекта и уже по ней делайте. Затем, когда Вы решите что улучшать уже нечего - скачайте какую нибудь CMS и посмотрите как там все устроено и сравните со своим. Почитайте про шаблоны и методики программирования на ООП и сами парадигмы ООП, можно начать с java изучение как вариант..
Спасибо большое, вектор дальнейших действий я вроде бы понял....буду суетиться
0
26.10.2012, 21:45

Не по теме:

Цитата Сообщение от _Mikhail_ Посмотреть сообщение
вроде бы понял....буду суетиться
Удачи :)

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.10.2012, 21:45
Помогаю со студенческими работами здесь

где можно почитать как сделать программу telnet?
Здравствуйте, Все. Подскажите пожалуйста где можно почитать как сделать программу telnet. Используя ASP технологию. Может уже есть...

Где можно почитать о том, как устроена Windows? Как она работает и т.д.?
Есть книги такие?

Как или где лучше писать графические приложения на с++
Здравствуйте, хочу написать графическое приложение на с++, где точки будут двигаться по полю по определённому алгоритму и взаимодействовать...

Обьясните где ошибка , и как правильно писать программу!
Дано натуральное число N и вещества х. Вычислить S=∑_(k=1)^N a_k,a_k=√(x^2+〖sin〗^2*k п/4) а вот уже пример из самого алгоритма...

Что можно почитать по основам web программирования?
Чтобы просто иметь начальное представление об этом.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru