Aquila wrote: >> > в) позволила бы миграцию PHP кода с разумными затратами > C>Вот это, по-моему, обеспечивает только VB.NET > Фактически, твой ответ означает, что при заявленных условиях > альтернативы PHP на данный момент нет .
Нет. PHP — это такой VB for Web, на нем пишет огромная масса
малограмотных программистов.
Я вообще не уверен, что любая другая технология для той же ниши будет
чем-то лучше PHP.
Sheridan wrote: > *Внимание вопрос.сфе .зк * > На любом из аспов сможеж достич подобных результатов?
Ага. Тут bottleneck'ом будет работа с базой, а она по скорости везде
почти одинакова.
А как сам язык — PHP намного медленнее C# или Java, тут даже спорить глупо.
Sheridan wrote: > Я еще раз повторю смысл вопроса: Ты на таком вот железе сможеж хотябы > запустить асп не говоря уже про стабильную работу?
А смысл? Я бы и PHP не стал там запускать.
Здравствуйте, denaturat, Вы писали:
D>Если честно, терпеть не могу PHP. Не нравится мне $, и еще более — стиль программирования напоминает проги на бейсике. Терпеть не могу перемешивать PHP и HTML и не использую такой стиль. D>Еще весьма противно — коряво выглядит скрипт с внешнего виду, как ни форматируй. D>Мне нравятся красиво оформленные программы. Программа должна в превую очередь читаться. Только потом работать. Вы согласны? Если я не могу прочитать то, что написал, то как я пойму, что там написано и заставлю ее заработать? D>Ужасно, особенно, склеивать запросы к СУБД. Иной раз сам не разберу, что написал. Сплошные кавычки и доллары. Стиль printf больше читабелен. Выше где-то пример народ приводил.
Ну это как писать... Вот мой код.
<?php
if (!defined("CCOSTA.INC"))
{
define("CCOSTA.INC",0);
/*
* @author Sheridan
*/include_once'src/atc/cplanbase.inc';
class CCoSta extends CPlanBase
{
function __construct()
{
parent::__construct();
global $st;
switch($st->session_helper()->get_POST('pact'))
{
case'edit': $this->edit_costa(); break;
}
}
function __destruct()
{
parent::__destruct();
}
public function get_title()
{
return'[Назначение звонков с внешних линий на станции]';
}
public function get_content()
{
global $st;
if($st->config_helper()->is_admin && $this->edit_mode)
{
echo <<<eod
<script type='text/javascript' src='js/edit_changed.js'></script>
<form enctype="multipart/form-data" action='index.php?act=atc&vt=costa' method='post'>
<input type='hidden' name='action' value='post' />
<input type='hidden' name='pact' value='edit' />
eod;
}
$this->echo_table_header();
foreach($this->sta as $i => $sta)
{
echo <<<eod
<tr>
<th class="data_title" id='phnum_s{$sta['STA_NUM']}'>{$sta['PHONE']}</th>
<th class="data_title">{$sta['STA_NUM']}</th>
eod;
$db_data = $st->db()->query("SELECT STA_NUM, CO_LINE, IN_DAY_NIGHT, IN_RINGS FROM ATC_CO_STA WHERE STA_NUM={$sta['STA_NUM']}");
while($row = $st->db()->fetch_assoc($db_data)) {
$this->make_item($row); }
$st->db()->close_query($db_data);
echo'</tr>';
}
$this->echo_table_footer();
if($st->config_helper()->is_admin && $this->edit_mode) {
echo'<input type="submit" value="Принять изменения" /></form>'; }
}
private function make_item($row)
{
global $st;
$cell_style = $row['IN_DAY_NIGHT'] > 0 ? 'plan_data_cell_highlited' : 'plan_data_cell';
echo"<td class='{$cell_style}' title='CO_{$row['CO_LINE']} to STA_{$row['STA_NUM']}'>";
if($st->config_helper()->is_admin && $this->edit_mode)
{
$item_id = "id_{$row['STA_NUM']}_{$row['CO_LINE']}";
$select_opts = $this->get_day_night_select_opts($row['IN_DAY_NIGHT']);
echo <<<eod
<input type='hidden' name='changed_{$item_id}' id='{$item_id}' value='0' />
<select name='dn_{$item_id}' onchange="set_changed('{$item_id}')">{$select_opts}</select><br />
<input type='text' name='rg_{$item_id}' maxlength='1' value='{$row['IN_RINGS']}' onchange="set_changed('{$item_id}')" />
eod;
}
else
{
$dn = $this->translate_day_night($row['IN_DAY_NIGHT']);
echo $dn != '-' ? "$dn ({$row['IN_RINGS']})" : ' ';
}
echo'</td>';
}
private function translate_day_night($db_val)
{
switch($db_val)
{
case 0: return'-'; break;
case 1: return'D'; break;
case 2: return'N'; break;
case 3: return'DN'; break;
}
}
private function get_day_night_select_opts($default)
{
$_result = '';
for($i = 0; $i <= 3; $i++)
{
$selected = $i == $default ? 'selected' : '';
$name = $this->translate_day_night($i);
$_result .= "<option $selected value='{$i}'>{$name}</option>";
}
return $_result;
}
public function get_control()
{
$this->get_control_base('costa');
}
private function edit_costa()
{
global $st;
foreach($this->co as $ico => $co)
{
foreach($this->sta as $i => $sta)
{
$item_id = "id_{$sta['STA_NUM']}_{$co['LINE_NUM']}";
if($st->session_helper()->get_POST("changed_{$item_id}") == 1)
{
$DAY_NIGHT = $st->session_helper()->get_POST("dn_{$item_id}");
$RINGS = 0;
if($DAY_NIGHT != 0) {
$RINGS = $st->session_helper()->get_POST("rg_{$item_id}"); }
$st->db()->update('ATC_CO_STA','IN_DAY_NIGHT=?,IN_RINGS=?',"STA_NUM={$sta['STA_NUM']} AND CO_LINE={$co['LINE_NUM']}",$DAY_NIGHT,$RINGS);
}
}
}
}
}
}
?>
Все вполне читабельно и привычно.
D>Неприятие — чисто субъективное. Мне нравится C#. Пишу на нем с удовольствием. Но на сервере стоит Apache/Windows2003/PHP/MySQL. И надо предоставить веские аргументы, чтобы D>
D>остановить сервер и поставить на него новое ПО
D>как сказал сисадмин. А то, что 2 месяца сервак дохлый был, а потом еще месяц из лаборатории в серверную модемы перетащить не могли (пара минут хода из подвала на первый этаж) — так это ничего. Какая им разница, что ставить? А как это поставлено, я тут где-то уже писал и с удовольствием оторвал бы руки и яйца.
Ну это проблемы твоей конторы и ваших там взаимоотношений.
D>Народ! А какие аргументы (кроме моего субъективного отношения) можно привести в защиту замены указанной конфигурации на IIS/ASP.NET? Повесомее, пожалуйста.
А что аналога .htaccess у IIS нету???
D>Народ панически боится IIS и .NET. Мол, IIS кривой, а Apache — невзламываемый. А от NET сервак вообще зависнет. Такое мнение, в принципе, весьма распространено. Простой тест — сделайте запросы "Уязвимость Apache" и "Уязвимость IIS". В Яндексе на первый запрос ссылок больше было. Для тех, кто так думает — скажу одну истину, сказанную одним из неизвестных мне хакеров — если программа запускается, значит, ее можно взломать.
А я тебе скажу почему. Вспомни сколько лет апачу и сколько лет IIS. Вспомни отношение микрософта к обновлениям.
D>Вам не кажется, что наши дискуссии (имею в виду web-программирование) имеют под собой основу недовольство использованием имеющихся в нашем распоряжении инструментов, предоставленных работодателем? Последнему совершенно по барабану, на чем все это делается, главное — делается. ("Я сказал, чтоб Фотошоп заработал на БК0010, значит он должен работать на БК0010." или: "ПАЧИМУ НА МОЙ КАЛЬКУЛЯТОР ВОРД НЕ УСТАНОВЛЕН !!! И ГДЕ МЫШКА К НЕМУ? И ФЛЕШКА НЕ ЛЕЗЕТ! ВСЕ УВОЛЕНЫ!!!")
Слава богу у меня такого практически нет, иначе давно бы уволился. Сам. Молча.
Ибо запомни — Надо работать чтобы жить а не жить чтобы работать.
D>(IMHO) Если бы каждый программер использовал то, что ему нравится, а не то, что дадут, то тут бы таких драк не устраивалось. Не было бы недовольных. Но мы используем то, что дали.
Как правило то что дали — это наследство от программера который писал на том что нравится. Что мешает переписать? Правильно — отсутствие времени и лень. К чему тогда подобные жалобы? не вижу смысла.
D>Что использую — Notepad2 для редактора PHP и Visual Web Developer для структуры каталогов и редактирования HTML (крутое сочетание, не правда ли?). Есть IDE для PHP, но не стану же я покупать сайта организации на свои бабки офигенный редактор PHP.
Сам себе злобный буратино. Скачай PSPad.
[RSDN@Home][1.2.0][alpha][655]
[Забудь часы нужды, но не забывай того, чему они тебя научили. [С. Геснер]]
Здравствуйте, Cyberax, Вы писали:
C>Sheridan wrote: >> Я еще раз повторю смысл вопроса: Ты на таком вот железе сможеж хотябы >> запустить асп не говоря уже про стабильную работу? C>А смысл? Я бы и PHP не стал там запускать.
Смысл в том что работает и работает оччень даже неплохо.
C>Кстати, наверное можно.
Нет, я видел конечно статьи где ХР запускали на 100 пне с 16 метрами памяти. Но КАК оно там работало...
[RSDN@Home][1.2.0][alpha][655]
[Мы редко до конца понимаем, что мы в действительности хотим. [Ф. Ларошфуко]]
Здравствуйте, Cyberax, Вы писали:
C>Ага. Тут bottleneck'ом будет работа с базой, а она по скорости везде C>почти одинакова.
Тоесть ты хочеш сказать что синтетические средства тебе больше нравятся так как в синтетике иис с аспом обходит апач с пхп. Нет уж давай к практике ближе.
C>А как сам язык — PHP намного медленнее C# или Java, тут даже спорить глупо.
Ну запусти на такойже машине с такойже нагрузкой на ИИС подобные выборки и покажи результат.
Кстати версии апача пхп и файрберда у меня из последних. Так что прошу также использовать в тестовом забеге последние версии асп, иис и БД на выбор.
Здравствуйте, Cyberax, Вы писали:
C>Нет. PHP — это такой VB for Web, на нем пишет огромная масса C>малограмотных программистов.
Ты это, ненадо. шарп с аспом такойже ВБ как и ПХП. Да и обзываться некрасиво. Лично я сейчас дома пишу считалку траффика для себя. Собственно считает оно на С++ — libpcap+pthreads+ibpp — и пишет в firebird таблицу статистику, а отображать будет на пхп.
В свое время я также активно работал в билдере, в вижуал студии пережил 3 релиза этой самой студии, не обошел меня и шарп тотже самый...
Так что ненадо про неграмотность.
C>Я вообще не уверен, что любая другая технология для той же ниши будет C>чем-то лучше PHP.
Чемто лучше пхп будет только нормальный бинарник, работающий с клиентом по http протоколу. Тоесть вебсервер+сайт, скомпилированные в один исполняемый модуль.
[RSDN@Home][1.2.0][alpha][655]
[Из всех плодов наилучшие приносит хорошее воспитание. [К. Прутков]]
Здравствуйте, Cyberax, Вы писали:
C>Sheridan wrote: >> Я еще раз повторю смысл вопроса: Ты на таком вот железе сможеж хотябы >> запустить асп не говоря уже про стабильную работу? C>А смысл? Я бы и PHP не стал там запускать.
Смысл в том что работает и работает оччень даже неплохо.
C>Кстати, наверное можно.
Нет, я видел конечно статьи где ХР запускали на 100 пне с 16 метрами памяти. Но КАК оно там работало...
[RSDN@Home][1.2.0][alpha][655]
[Мы редко до конца понимаем, что мы в действительности хотим. [Ф. Ларошфуко]]
Здравствуйте, Cyberax, Вы писали:
C>Ага. Тут bottleneck'ом будет работа с базой, а она по скорости везде C>почти одинакова.
Тоесть ты хочеш сказать что синтетические средства тебе больше нравятся так как в синтетике иис с аспом обходит апач с пхп. Нет уж давай к практике ближе.
C>А как сам язык — PHP намного медленнее C# или Java, тут даже спорить глупо.
Ну запусти на такойже машине с такойже нагрузкой на ИИС подобные выборки и покажи результат.
Кстати версии апача пхп и файрберда у меня из последних. Так что прошу также использовать в тестовом забеге последние версии асп, иис и БД на выбор.
Здравствуйте, Cyberax, Вы писали:
C>Sheridan wrote: >> Я еще раз повторю смысл вопроса: Ты на таком вот железе сможеж хотябы >> запустить асп не говоря уже про стабильную работу? C>А смысл? Я бы и PHP не стал там запускать.
Смысл в том что работает и работает оччень даже неплохо.
C>Кстати, наверное можно.
Нет, я видел конечно статьи где ХР запускали на 100 пне с 16 метрами памяти. Но КАК оно там работало...
[RSDN@Home][1.2.0][alpha][655]
[Мы редко до конца понимаем, что мы в действительности хотим. [Ф. Ларошфуко]]
Здравствуйте, Cyberax, Вы писали:
C>Ага. Тут bottleneck'ом будет работа с базой, а она по скорости везде C>почти одинакова.
Тоесть ты хочеш сказать что синтетические средства тебе больше нравятся так как в синтетике иис с аспом обходит апач с пхп. Нет уж давай к практике ближе.
C>А как сам язык — PHP намного медленнее C# или Java, тут даже спорить глупо.
Ну запусти на такойже машине с такойже нагрузкой на ИИС подобные выборки и покажи результат.
Кстати версии апача пхп и файрберда у меня из последних. Так что прошу также использовать в тестовом забеге последние версии асп, иис и БД на выбор.
Здравствуйте, Cyberax, Вы писали:
C>Нет. PHP — это такой VB for Web, на нем пишет огромная масса C>малограмотных программистов.
Ты это, ненадо. шарп с аспом такойже ВБ как и ПХП. Да и обзываться некрасиво. Лично я сейчас дома пишу считалку траффика для себя. Собственно считает оно на С++ — libpcap+pthreads+ibpp — и пишет в firebird таблицу статистику, а отображать будет на пхп.
В свое время я также активно работал в билдере, в вижуал студии пережил 3 релиза этой самой студии, не обошел меня и шарп тотже самый...
Так что ненадо про неграмотность.
C>Я вообще не уверен, что любая другая технология для той же ниши будет C>чем-то лучше PHP.
Чемто лучше пхп будет только нормальный бинарник, работающий с клиентом по http протоколу. Тоесть вебсервер+сайт, скомпилированные в один исполняемый модуль.
[RSDN@Home][1.2.0][alpha][655]
[Из всех плодов наилучшие приносит хорошее воспитание. [К. Прутков]]
Здравствуйте, Horror_Infinity, Вы писали:
S>>Траффик. Нагрузка на сервер. Работа с прокси под вопросом. Если подумать то может еще что скажу... H_I>Подумай, что еще можно сказать.
Большое время отклика, обновление не по событию (пришло сообщение), а по таймауту, тяжко на слабых линиях...
Да и прокси может быть настроено кешировать все подряд без вопросов...
[RSDN@Home][1.2.0][alpha][655]
[3нание — в действии. [Эразм Роттердамский]]
Здравствуйте, Sheridan, Вы писали:
S>Большое время отклика,
Согласен. Нет такого. Это минус, но несущественный.
S>обновление не по событию (пришло сообщение), а по таймауту,
И это тоже минус. В принципе, побеждаемый, но сильно я на это не заморачивался. Чат изначально писался для локалки, это потом он разросся до, тэк ска-ать, всепланетного. Но переписывать уже лениво.
S>тяжко на слабых линиях...
А нефиг использовать перегружаемый чат. Для этого есть функционал потокового чата. А в нем, кстати, реализован механизм обновления по приходу сообщения. Я долго, понимтся, воевал...
S>Да и прокси может быть настроено кешировать все подряд без вопросов...
Это уже "к вопросу о криворукости админов". Но и это обходится. Кто мешает в шаблоне страницы прописать
Sheridan wrote: > C>Ага. Тут bottleneck'ом будет работа с базой, а она по скорости везде > C>почти одинакова. > Тоесть ты хочеш сказать что синтетические средства тебе больше нравятся > так как в синтетике иис с аспом обходит апач с пхп. Нет уж давай к > практике ближе.
Понимаешь, кроме таких простых приложений, бывают еще и более сложные
случаи.
Ну а ближе к практике — где мне для PHP взять аналог Hibernate? А что у
нас там с транзакциями? Руками расставлять begin-end я не собираюсь. А
как насчет компонентной модели страниц?
> C>А как сам язык — PHP намного медленнее C# или Java, тут даже спорить > глупо. > Ну запусти на такойже машине с такойже нагрузкой на ИИС подобные выборки > и покажи результат. > Кстати версии апача пхп и файрберда у меня из последних. Так что прошу > также использовать в тестовом забеге последние версии асп, иис и БД на > выбор.
Понимаешь, на bash можно быстро написать скрипт, который будет удалять
файлы с буквой P в имено. Этот скрипт будет работать легко и быстро даже
на 386 компьютере.