|
|
|
| Для удобства, быстроты производительности и надежности, приложение строится на ООП и делится на 3 части: интерфейс, бизнес-логика и база данных.
Подобная структура легко создается и управляется на ASP.NET
Но в связи с высокими ценами и большими ограничениями на хостинг (Windows Server 2003, ASP.NET 2.0, MSSQL Server), возникла потребность воссоздать подобное на PHP, перетрансформировав старую линейную логику с включением кое-каких отдельный функций путём include().
Вопрос: что для этого надо?
Какие внешние, дополнительные библиотеки стоит установить?
Какую среду разработки выбрать между Zend и NuSphere? | |
|
|
|
|
|
|
|
для: codexomega
(08.09.2006 в 05:02)
| | Специальных библиотек для поддержки трёхуровневой структуры нет, так как PHP изначально планировался как язык второго слоя (бизнес-логики), база данных выделена в отдельную структуру и там и тут, за реализацию интерфейса больше несёт ответственность JavaScript и HTML-код. Дело в том, что ASP.NET или Java - это технологии, которые влкючают в себя все аспекты Web-среды. PHP - это лишь фрагмент технологии, которой противопоставляет ASP.NET и Java мир открытого программного обеспеченья. PHP скорее можно рассматривать как C# или сервлеты на Java. | |
|
|
|
|
|
|
|
для: codexomega
(08.09.2006 в 05:02)
| | Тема затерялась.
Оказалась или многим не понятной или не популярной.
Неужели все в блокноте программируют?
Кто-нибудь организовывает свои проектные файлы?
Есть статья по теме, только на английском, если разберусь, поделюсь опытом. | |
|
|
|
|
|
|
|
для: codexomega
(09.09.2006 в 02:54)
| | Легкий набросок:
Возьмем для примера страницу с выводом списка новостей.
Получаем следующее:
- news.php
- Business->NewsManager
- Business->Data->NewsSqlProvider
- Business->Entities->News
|
class News:
public class News{
private $Title;
private $Date;
private $Detail;
public function _construct($title, $date, $detail){
$this->Title = $title;
$this->Date = $date;
$this->Detail = $detail;
}
public function getTitle(){return $this->Title;}
public function setTitle($title){$this->Title = $title;}
public function getDate(){return $this->Date;}
public function setDate($date){$this->Date = $date;}
public function getDetail(){return $this->Detail;}
public function setDetail($detail){$this->Detail = $detail;}
}
|
class NewsManager:
...
public function getNewsList($topMax){
return NewsSqlProvider->getNewsList($topMax);
}
...
|
class NewsSqlProvider:
public function getNewsList($topMax){
// connect to BD
...
// pass query
...
// get result into array
$listNews = array();
while($result = mysql_fetch_array($sql_records)){
News objNews = new News($result['title'], $result['date'], $result['detail']);
$listNews->Add(objNews);
}
return $listNews;
}
|
news.php:
...
<!-- show news -->
<?php
for($i=0; $i<$listNews; i++){
echo(listNews[$i]->getDate());
echo ("<br/>");
echo(listNews[$i]->getTitle());
echo ("<br/>");
echo(listNews[$i]->getDetail());
}
?>
...
|
| |
|
|
|
|
|
|
|
для: codexomega
(09.09.2006 в 08:23)
| | После небольшого тестирования, выбрал NuSphere PhpED как среду разработки PHP приложений, так как данный продукт обладает всеми необходимыми качествами - подсветка кода, Unicode, всплывающие подсказки и дополнение кода по ходу его написания, а также встроенным мануалом по PHP, легко настраивается и достаточна проста в управлении.
Что касается 3-х уровневой архитектуры, то и это тоже вполне нормально удается.
Перехожу на объектно ориентированное программирование. | |
|
|
|