PHP Web-App Design - PullRequest
       17

PHP Web-App Design

1 голос
/ 23 августа 2009

Ищу руководство или простой для понимания способ оформления сайта.

У меня есть хорошая идея о том, как делать разные вещи в PHP, базовые знания ООП и функции, а что нет ...

Но мне нужна какая-то структура, чтобы держать меня в курсе и дать мне знать, что я должен делать.

Существуют ли какие-либо веб-сайты, руководства или методы, которые могут помочь мне в этом? Или, может быть, приложение, клиент или веб-приложение ...

Ответы [ 5 ]

5 голосов
/ 23 августа 2009

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

Далее вы можете создать вариантов использования , чтобы начать планировать, что именно будут делать пользователи. Вы можете даже создавать причудливые маленькие диаграммы с фигурками и стрелками.

Диаграммы последовательности и макеты экрана помогут вам спланировать, как будет работать система, и какие страницы вам понадобятся.

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

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

Оттуда вы можете составить серьезный список TODO и упорядочить задачи по зависимостям и приоритетам. Я использую текстовые файлы. Это не самое причудливое решение, но оно работает для меня.

Edit:

Расширение моего собственного процесса. Обратите внимание, что это то, что я делаю, работая самостоятельно над своими собственными проектами.

После того, как я выполнил вышеописанное, следующее, что я сделаю, на самом деле запишу таблицы базы данных, что-то вроде этого:

USERS TABLE
===========
user_id (PK) unsigned int (10)
username varchar(30)
email_address varchar(30)
is_active bool
password varchar(41)
registration_date datatime
registration_ip varchar(20)
last_login_ip varchar(20)
last_login_date datetime

... и т.д.. для всех таблиц. Затем откиньтесь на спинку кресла и посмотрите, как таблицы связаны друг с другом, подумайте о том, что может отсутствовать, и нормализуйте / денормализуйте до тех пор, пока это не будет иметь смысл для создаваемого приложения и особенно для запросов, которые необходимо будет написать. Да, я делаю это в текстовом файле.

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

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

Вот как я организовываю то, что мне нужно сделать:

TODO
- create database tables
- user registration
- authentication
...

SECURITY
- sessions in db table
- xss cleaning in form x
...

и т.д.!

Каждый раз, когда я думаю о том, что мне нужно сделать, это становится точкой. Очевидно, что эти точки могут легко расширяться дальше. Я пытаюсь упорядочить их по , как мне кажется, работать над следующим (потому что это самый простой способ двигаться вперед) и по важности или зависимости от других задач.

Некоторым это может показаться глупым, но так я слежу за вещами. Надеюсь, это даст вам некоторые идеи.

2 голосов
/ 23 августа 2009

Честно говоря, то, что лучше всего сработало для меня, - это простой подход «запиши, прежде чем сделать это». Если вы просто потратите время, чтобы спланировать, как будет работать ваша служба, вы сможете сэкономить много времени позже, не переписывая вещи!

Звучит так, будто вы просто записываете, что вы хотите сделать, и то, как вы можете это сделать, очень вам поможет.

1 голос
/ 23 августа 2009

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

Если вы несколько новичок в некоторых технологиях, которые вы используете, один трюк для меня - начать с нескольких менее амбициозных сэмплов. Не бойтесь писать что-то ужасное в первый раз, потому что если вы сделаете это плохо один раз, вы научитесь делать это хорошо во второй раз. Что бы вы ни делали, Hello World - ваш друг.

1 голос
/ 23 августа 2009

Если вы имеете в виду структуру сайта, структуру кода и т. Д., То этот ответ может помочь.

0 голосов
/ 23 августа 2009

Я согласен с Гэвином: вы должны узнать о Model-View-Controller, как объяснено в цитируемой статье Gavin .

Это даст вам базовый макет для ваших файлов и заставит вас думать о базе данных (когда вы планируете модель).

Один из способов заставить себя больше думать о своем проекте - это найти партнера для совместной программы .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...