2009-08-23 3 views
1

Ищет руководство или простой способ разработки веб-сайта.PHP Web-App Design

У меня есть хорошее представление о том, как делать разные вещи в PHP в любом случае, базовые знания объектно-ориентированного программирования, а также функции, а что нет ...

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

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

ответ

5

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

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

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

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

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

Оттуда вы можете сделать серьезный список 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 

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

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

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

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

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

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

и т.д.!

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

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

+0

Есть ли у вас примеры текстовых файлов? Я думаю, что я могу пойти по этому пути использования текстовых файлов ... – Aran

1

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

+0

Не совсем точная компоновка кода, но больше управления проектами, что помогает при разработке приложения в манере говорить ... Например, некоторые биты моего приложения не будут работать без какой-либо дополнительной работы, сделанной первой ... Например. Работа с базами данных, так что работа с кодом может быть выполнена ... – Aran

2

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

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

+0

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

0

Я согласен с Гэвином: Вы должны узнать о Model-View-Controller, как описано в the article Gavin.

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

Один из способов привлечь внимание к вашему проекту - найти партнера program together.

+0

Я работаю с CodeIgniter и Kohana некоторое время, и они являются отличным временем сбережения. (Последний является ветвью первого, и они оба являются MVC-фреймами в PHP). Хотя они не будут организовывать сайт для вас, но все равно помогут. – Petruza

1

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

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

+0

Я уже делаю это .. Обычно делаю что-то глупое. Поэтому я могу оглянуться назад и рассмеяться о том, что когда-либо это делает ... Делает это еще веселее, когда делаю это и веселее, когда перебираю его снова ... – Aran