Дизайн и архитектура программ на php
От: Аноним  
Дата: 14.07.09 20:17
Оценка:
Мне, С++ программисту, что-то трудно понять как правильнее писать программы на php.
Допустим, есть сайт, например форум или что-то типа того. Пользователь может залогиниться (или войти автоматически через куки). Если пользователь не залогинился, то нужно вывести форму с вводом логина и пароля, иначе — контент сайта.
Вопрос в следующем: я могу сделать это через один файл index.php, введя в него переменную — "состояние" и в зависимости от нее вызывая функции реализации интерфейса из других файлов. А можно каждый подвид интерфейса реализовать на своем файле *.php.
Нужно обойти ситуацию, при которой пользователь напрямую обращается к странице, а база данных не открыта.
Ну и т.д., ситуаций много
КАК правильнее??? Какова вообще идеология разработки на php, с учетом того что в одну и ту же страницу можно придти с разными аргументами, а у программы потенциально несколько точек входа (каждый php файл в котором есть код вне функций)
Re: Дизайн и архитектура программ на php
От: Donz Россия http://donz-ru.livejournal.com
Дата: 15.07.09 10:52
Оценка: 1 (1) +1
Здравствуйте, Аноним, Вы писали:

Пардон за оффтоп, но мб PHP — не лучший выбор?
Re: Дизайн и архитектура программ на php
От: Mamut Швеция http://dmitriid.com
Дата: 15.07.09 11:43
Оценка:
> КАК правильнее??? Какова вообще идеология разработки на php, с учетом того что в одну и ту же страницу можно придти с разными аргументами, а у программы потенциально несколько точек входа (каждый php файл в котором есть код вне функций)

А зачем приходить на одну и ту же страницу с разными парамерами?

Вообще в веб-е рулит MVC (model-view-controller). Можно сомтреть в сторону фреймворков Zend Framework, CodeIgniter, CakepHP, Prado, чтобы посмотреть, что да как там реализовано
avalon 1.0rc1 rev 239, zlib 1.2.3


dmitriid.comGitHubLinkedIn
Re[2]: Дизайн и архитектура программ на php
От: skeptik_  
Дата: 17.07.09 09:52
Оценка: 44 (2)
Здравствуйте, Mamut, Вы писали:

>> КАК правильнее??? Какова вообще идеология разработки на php, с учетом того что в одну и ту же страницу можно придти с разными аргументами, а у программы потенциально несколько точек входа (каждый php файл в котором есть код вне функций)


M>А зачем приходить на одну и ту же страницу с разными парамерами?


M>Вообще в веб-е рулит MVC (model-view-controller). Можно сомтреть в сторону фреймворков Zend Framework, CodeIgniter, CakepHP, Prado, чтобы посмотреть, что да как там реализовано

+1, но добавлю ещё Kohana и Yii.
Re[3]: Дизайн и архитектура программ на php
От: Аноним  
Дата: 18.07.09 20:00
Оценка:
Здравствуйте, skeptik_, Вы писали:

_>Здравствуйте, Mamut, Вы писали:


>>> КАК правильнее??? Какова вообще идеология разработки на php, с учетом того что в одну и ту же страницу можно придти с разными аргументами, а у программы потенциально несколько точек входа (каждый php файл в котором есть код вне функций)


M>>А зачем приходить на одну и ту же страницу с разными парамерами?


M>>Вообще в веб-е рулит MVC (model-view-controller). Можно сомтреть в сторону фреймворков Zend Framework, CodeIgniter, CakepHP, Prado, чтобы посмотреть, что да как там реализовано

_>+1, но добавлю ещё Kohana и Yii.

Спасибо!
Возможно, не стоит заниматься велосипедостроением, а просто использовать один из этих фреймворков? Тогда какой брать, чем они отличаются друг от друга?
Re[4]: Дизайн и архитектура программ на php
От: skeptik_  
Дата: 19.07.09 12:31
Оценка: 1 (1)
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, skeptik_, Вы писали:


_>>Здравствуйте, Mamut, Вы писали:


>>>> КАК правильнее??? Какова вообще идеология разработки на php, с учетом того что в одну и ту же страницу можно придти с разными аргументами, а у программы потенциально несколько точек входа (каждый php файл в котором есть код вне функций)


M>>>А зачем приходить на одну и ту же страницу с разными парамерами?


M>>>Вообще в веб-е рулит MVC (model-view-controller). Можно сомтреть в сторону фреймворков Zend Framework, CodeIgniter, CakepHP, Prado, чтобы посмотреть, что да как там реализовано

_>>+1, но добавлю ещё Kohana и Yii.

А>Спасибо!

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

Проще всего разобраться пожалуй с Kohana. Yii это сравнительно молодой, и самый быстрый из фреймворков, имеет ряд интересных решений. С Zend Framework имеет смысл познакомится для прочистки мозгов, ибо он обладает наиболее чистым и стройным дизайном. Zend Framework не представляет собой решения из коробки, а скорее набор компонент, из которых строится фреймворк. Для лучшего понимания как это делается хороша книга "Practical Web 2.0 Applications with PHP". К сожалению Zend Framework довольно таки медленный.
Остальные я рекомендовать не могу. CodeIgniter смотреть смысла мало, так как Kohana сделана на его основе, с учетом ошибок допущенных в CodeIgniter, и с использованием PHP 5. CakePHP довольно таки раздутый и медленный фреймворк, мне лично не нравится, но это дело вкуса. Почти тоже самое можно сказать о Symfony. С остальными я не знаком.
Возможно лучше всего начать с вышеупомянутой книги.
Re: Дизайн и архитектура программ на php
От: vladimir.vladimirovich США  
Дата: 22.07.09 16:05
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Мне, С++ программисту, что-то трудно понять как правильнее писать программы на php.

А>Допустим, есть сайт, например форум или что-то типа того. Пользователь может залогиниться (или войти автоматически через куки). Если пользователь не залогинился, то нужно вывести форму с вводом логина и пароля, иначе — контент сайта.

в каждую страницу сайта добавляем следующий код (наследованием, копипейстом или как еще угодно):
1. проверяем наличие специальной переменной (напр UserID)
2. если переменная установлена — показываем контент.
3. если переменная не установлена — отправляем пользователя на страницу login.php?retUrl=страница_откуда_пришли.php
4. на странице login.php показываем формочку с именем/паролем и после того как пользователь прислал нам имя и пароль и они оказались верными — создаем session и в него пишем значение переменной UserID. Пользователя отправляем обратно на оригинальную страницу используя значение из переменной retUrl.
Re[5]: Дизайн и архитектура программ на php
От: Antidote  
Дата: 13.08.09 05:22
Оценка:
Здравствуйте, skeptik_, Вы писали:

_>Проще всего разобраться пожалуй с Kohana. Yii это сравнительно молодой, и самый быстрый из фреймворков, имеет ряд интересных решений. С Zend Framework имеет смысл познакомится для прочистки мозгов, ибо он обладает наиболее чистым и стройным дизайном.


А если php идёт с flex на front-end?
Получается 2 "разных" проекта, php и flex. Они не пересекаются кроме как через amfphp. То есть разделение на Model\Controller и View уже есть по определению. Стоит ли тут "фреймворкить"?

Спасибо
Чему бы грабли ни учили, а сердце верит в чудеса.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.