LINUX.ORG.RU

PHP 5.3.6

 , ,


0

1

17 марта вышел PHP 5.3.6.

В данном релизе устранено 5 уязвимостей:

  • Выход за допустимые границы памяти при обработке изображений со специально оформленным тегом в блоке EXIF-параметров.
  • Ошибка форматирования строки (format-string) в расширении Phar.
  • Целочисленное переполнение в функции shmop_read.
  • Переполнение буфера при указании большого значения в параметре «precision».
  • Нарушение границ памяти при использовании ZipArchive с опцией FL_UNCHANGED при обработке пустого ZIP-архива.

Кроме того, усилена безопасность в коде обработки протокола fastcgi в fpm SAPI.

Другие изменения:

  • Обновлены версии библиотек SQLite3 (3.7.4) и PCRE (8.11).
  • Добавлена возможность соединяться с сайтами по HTTPS через прокси-сервер, поддерживающий basic-метод аутентификации, используя stream_context/http/header/Proxy-Authorization.
  • Изменено значение serialize_precision по умолчанию с 100 на 17.
  • Устранена регрессия при обработке обратных слешей в open_basedir.

Также отмечается, что ветка 5.2 больше не поддерживается.

Полный список изменений

>>> Подробности

★★★★

Проверено: maxcom ()
Последнее исправление: Dendy (всего исправлений: 1)
Ответ на: комментарий от anonymous

> Вау, пятизвездатый регистраст пришел на помощь анонимному наркоману-неосилятору.

Вас смущают звёздочки? Block image вам поможет.

sv75 ★★★★★
()
Ответ на: комментарий от heisenberg

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

Это, как я понимаю, официальное признание в сливе?

если бы нишу простых и удобных инструментов вместо пхп занимал бы питон (чего никогда не будет априори), то ботнеты писали бы на питоне.

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

А веб и так уже на python - только python-проекты google и яндекса это в разы больше, чем домашние страницы всех вась пупкиных россии, с 1-2 посетителя в год.

это специализированный профессиональный инструмент, заточенный под веб.

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

то, что новички начинают с пхп, не говорит о его убогости. просто он действительно простой и удобный.

жду аналога «wiki на bottle.py за 23 минуты» на php. можно даже за 46 минут, и чтобы в 2 раза больше строчек.

anonymous
()
Ответ на: комментарий от anonymous

> У тебя аллергия на серверы? Или это еще одна область, которую ты не осилил?

У тебя плохое понимание слова простой? я не программист, и не связан с it, и дети у меня воспитаны в духе, что любой бомж престижнее любого it-шника по определению, потому что в сфере it самодуров с зашкаливающим самомнением процентов 99. И почему-то python позволяет делать быстро и просто, даже не зная самого python практически никак, а php, хотя сайты на нём у меня с 2002 года, не позволяет.

anonymous
()
Ответ на: комментарий от anonymous

> Дадад. А еще эта вся конструкция нуждается в электричестве, охренеть же, верно?

Нуждается. То, что ты можешь писать своими низкоквалифицированными ручонками низкоквалифицированный занудный copy-paste правил переадресации, который стремает писать даже индуса за пачку доширака, не значит, что этот набор костылей только для того, чтобы в определённой папке (у тебя в винде они же папками называются, верно?) определённого веб-сервера можно было запустить этот фреймворк, является хоть сколько нибудь удобным - такой способ является занудным, отвлекающим от задач (хотя какие задачи у вас могут быть? что хозяин сказал, то и штампуется, не подключая мозг), и нифига не удобным.

Особенно по сравнению с:

Server: Built-in HTTP development server and support for paste, fapws3, bjoern, Google App Engine, cherrypy or any other WSGI capable HTTP server

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

anonymous
()
Ответ на: комментарий от anonymous

Мало того, что неосилятор, так он еще и размножается. Можешь не флудить дальше - твоя позиция «все, что недоступно моему пониманию - плохое», предельно ясна.

anonymous
()
Ответ на: комментарий от anonymous

> Мало того, что неосилятор

Я так понимаю, это ещё одно уведомление о собственном сливе? Кроме слов «php рулит в сферическом вакууме» фактов так и не увидели? Уныло.

Можешь не флудить дальше - твоя позиция «все, что недоступно моему пониманию - плохое», предельно ясна.

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

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

anonymous
()
Ответ на: комментарий от anonymous

> То, что заставляет делать бессмысленные телодвижение - хуже и неудобнее, чем то, что заставляет делать осмысленные.

засмотрелся.... тут должно быть:

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

anonymous
()
Ответ на: комментарий от anonymous

>Я так понимаю, это ещё одно уведомление о собственном сливе? Кроме слов «php рулит в сферическом вакууме» фактов так и не увидели? Уныло.

Неосилятор, где рулит php, в этом топике сказали уже не раз, а если ты этого не увидел/не понял/уже забыл - так это твои проблемы.

anonymous
()
Ответ на: комментарий от anonymous

> Неосилятор, где рулит php, в этом топике сказали уже не раз, а если ты этого не увидел/не понял/уже забыл - так это твои проблемы.

Я не вижу ни одного приложения типа redmine/trac. а быдлоблог я могу написать за полдня хоть на lua или tcl, хотя что такое lua или tcl, я себе слабо представляю.

Я не вижу вики за 46 минут и размером в несколько десятков строк.

Я не вижу хоть каких-нибудь фактов, объясняющих, что каждый раз залазить в конфиг nginx, писать там на каждый чих набор правил рерайта проще, чем один раз написать:

@route('/:page')
def page(page): return template('page', page=page)

anonymous
()
Ответ на: комментарий от anonymous

> Все ясно с тобой, иди проспись, потом приходи.

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

anonymous
()
Ответ на: комментарий от anonymous

> Эх, когда я заходил за команду php-шников, мы этих питонщиков так гоняли, так заваливали и аргументами и фактами,

«Я-то в советское время о-о-о!!!»

sv75 ★★★★★
()
Ответ на: комментарий от anonymous

> Неосилятор, где рулит php, в этом топике сказали уже не раз

Было сказано «на php написано много софта, который можно использовать». Это всё.

sv75 ★★★★★
()
Ответ на: комментарий от anonymous

>Я не вижу ни одного приложения типа redmine/trac

php и разработка софта (тобишь программирование)? Вы наверное шутите ). Мантис появился каким-то чудом.

Aman
()
Ответ на: комментарий от Aman

Хотя наврал. Есть еще eventum - образец от sun microsystems, что можно максимум выжить из php (я про внутренности). Багтрекинг кстати очень удобный, своей простотой.

Aman
()

когда suhosin patch будет не в курсе?

qbbr ★★★★★
()
Ответ на: комментарий от anonymous

> Я не вижу ни одного приложения типа redmine/trac

А я не вижу ни одного приложения типа magento на этих ваших питонах. И что?

yaws
()
Ответ на: комментарий от anonymous

>Судя по коментам, топикстратер - троль)
Только вот срач уныл :)
Всего лишь php vs python - и то не на уровне...

yaws
()
Ответ на: комментарий от yaws

Как ни странно, но они есть )! Ищите обзор на хабре python e-commerce. До уровня наверное все-таки не дотягивают, но тем не менее есть живые магазины.

Aman
()
Ответ на: комментарий от anonymous

Более того, я не вижу архикрутости обсуждаемого тут питона на типовых задачках (коих over100500):

Капча на php:

   function CaptchaSecurityImages($width='120',$height='40',$characters='6') {
      $code = $this->generateCode($characters);
      /* font size will be 75% of the image height */
      $font_size = $height * 0.75;
      $image = imagecreate($width, $height) or die('Cannot initialize new GD image stream');
      /* set the colours */
      $background_color = imagecolorallocate($image, 255, 255, 255);
      $text_color = imagecolorallocate($image, 20, 40, 100);
      $noise_color = imagecolorallocate($image, 100, 120, 180);
      /* generate random dots in background */
      for( $i=0; $i<($width*$height)/3; $i++ ) {
         imagefilledellipse($image, mt_rand(0,$width), mt_rand(0,$height), 1, 1, $noise_color);
      }
      /* generate random lines in background */
      for( $i=0; $i<($width*$height)/150; $i++ ) {
         imageline($image, mt_rand(0,$width), mt_rand(0,$height), mt_rand(0,$width), mt_rand(0,$height), $noise_color);
      }
      /* create textbox and add text */
      $textbox = imagettfbbox($font_size, 0, $this->font, $code) or die('Error in imagettfbbox function');
      $x = ($width - $textbox[4])/2;
      $y = ($height - $textbox[5])/2;
      imagettftext($image, $font_size, 0, $x, $y, $text_color, $this->font , $code) or die('Error in imagettftext function');
      /* output captcha image to browser */
      header('Content-Type: image/jpeg');
      imagejpeg($image);
      imagedestroy($image);
      $_SESSION['security_code'] = $code;
   }

Капча на python:

def captcha():
    import StringIO
    import Image, ImageDraw, ImageFont
    from random import randint, choice

    key = ''.join( [choice('QWERTYUIOPLKJHGFDSAZXCVBNM1234567890') for i in xrange(5)] )
    
    img = Image.new('RGB', (100,30), 0xffffff )
    draw = ImageDraw.Draw(img)
    
    for i in xrange(40):
        draw.line( [(randint(0,100),randint(0,30)),(randint(0,100),randint(0,30))] ,  randint(0, 0xffffff), 1)
    
    font = ImageFont.truetype('/usr/share/fonts/truetype/freefont/FreeMono.ttf', 32)
    draw.text( (0,0), key, 0, font)
    
    f = StringIO.StringIO()
    img.save(f, "JPEG")
    raw = f.getvalue()
    
    return key,raw

Если python и рулит, то, откровенно говоря, очень незаметно.

yaws
()
Ответ на: комментарий от Aman

Видел на том хобре _оба_ обзора (php и python) Вам самим такие наводки давать не стыдно? ;)

И, да, я тут только запостил примеры капчи python vs php
А недавече ковырял исходники OpenERP (python) и Magento (php)
И знаете, чем я сильно остался недоволен?

Сырцы пистона - дай бог если на 100 строк кода будет хоть маленький но комментарий.
Сырцы пыха - почти каждая функция предварена заголовком как минимум.

Ну что за говнокод на пистоне пишут?.. Тяжело, что ли, строку комментария вписать?..

Кстати в примерах капчи - та же самая ситуация с окмментированием. Что намекает.

yaws
()

О чем разговор? Выбор ЯП всегда зависит от возлагаемых на приложение задач и в большенстве случаев PHP - лучше и точка! А если к нему запилить годное расширение для visual поделок, то он и б-г-мерзкую жабу похоронит!

anonymous
()

>Выход за допустимые границы памяти при обработке изображений со специально оформленным тегом в блоке EXIF-параметров.

Можно подробнее?

gray ★★★★★
()
Ответ на: комментарий от yaws

Если кто-то что-то понял в первом коде, то он или индус, или php-шник. А во-втором разберётся даже тот, кто питона никогда в глаза не видел.

anonymous
()

> Кроме того, усилена безопасность в коде обработки протокола fastcgi в fpm SAPI.

Улучшена, а не усилена.

bbk123 ★★★★★
()

Пишу на яве, езжу на фокусе, костюм и запонки в обязательном порядке, но вечером одеваю футболку, потертые джинсы и ковыряю Lift, радуясь тому, что любимые библиотеки работают так же как и раньше, все быстро, кашерно и очень функционально.

А этот ваш пэхэпэ превратился из недоязычка для хоумпейджей в недоязычек для студентов на заработках.

Булшит на подобии блога с фотогалереей лепится на spring+orm за час, можно еще свестелок-перделок на extjs успеть прилепить. Только оно никому не надо, ерундой этой заниматься.

anonymous
()

Тред просто наполнен мега-хардкорными Ъ энтерпрайзниками (Ларри Эллисон срет кирпичами) и супер-стартапщиками (Цукерберг и Пол Грэм нервно курят в сторонке).

А между тем, для решения простых повседневных задач PHP и современные фреймворки и библиотеки на нем подходят более чем. Посмотрите например уже Doctrine, Twig, Yii Framework, Zend Framework 2.0, Symfony Framework 2.0 и не позорьтесь высказываниями в стиле «недоязычок для вставки кода в HTML». Разберитесь с PHP хотя бы, перед тем, как убивать Ораклы и Фейсбуки.

Не стоит обращать внимания на начинающих, вставляющих PHP/SQL прямо в HTML и не понимающих простейшие принципы построения ПО — все мы были начинающими.

anonymous
()
Ответ на: комментарий от yaws

> Более того, я не вижу архикрутости обсуждаемого тут питона на типовых задачках (коих over100500):

Капча на php:

...



Капча на python:

...



да.. крутости Пайтона никакой нет... :-)

..а просто навсего простой и понятный исходный код алгоритма,
с НОРМАЛЬНЫМИ [короткими] названиями функций (а не названиями в 20~40 символов длинной),
и с НОРМАЛЬНЫМИ [короткими] конструкциями

[Пайтон — это не крутой язык(!) — а простой и понятный :-)]

а что мы видимо в PHP-алгоритме?
* изобилие функций с 20~40~символьными названиями!
* устарелыми длинными динозавро-подобными for( $i=0; $i<...; $i++ ) !!

это конешно мега-круто..
и понятное дело что можно PHP-программистом после этого гнуть свои PHP-пальцы :-)
..но добства в этом никакого нет простите

user_id_68054 ★★★★★
()
Ответ на: комментарий от user_id_68054

>устарелыми длинными динозавро-подобными for( $i=0; $i<...; $i++ )

Ну и ну, вот так новость! А может switch/case и вызов функции тоже динозавро-подобные?

и понятное дело что можно PHP-программистом после этого гнуть свои PHP-пальцы

Гнут пальцы мега-фанбои (которые ни среди Python'щиков не являются адекватными, ни среди PHP'шников). Нормальные люди просто работают используя тот, или иной инструмент.

anonymous
()
Ответ на: комментарий от user_id_68054

>* изобилие функций с 20~40~символьными названиями!

Только очень базовые функции. Для остального есть ООПнутые SPL/PEAR/PECL. Самая длинная, которую я использовал в последний раз — это была preg_match_all (14 символов).

anonymous
()
Ответ на: комментарий от anonymous

>Если кто-то что-то понял в первом коде, то он или индус, или php-шник. А во-втором разберётся даже тот, кто питона никогда в глаза не видел.

И наговнокодить не хуже начинающего PHP программера в PHP проекте. Картина маслом! «Python не знаю, но по ходу дела на коленке в проекте и изучу». Вы сами то понимаете, чем это грозит? Это все-таки программирование, а не лепка пельменей — тут есть некоторый порог вхождения, в любом ЯП.

anonymous
()
Ответ на: комментарий от anonymous

> Не стоит обращать внимания на начинающих, вставляющих PHP/SQL прямо в HTML ...

какбы PHP-язык — именно так и призывает поступать! :-)

глупо получается :-D ..

1. сначало:

«„“
PHP — это же такой простой и понятный язык! поглядите, выже можете написать просто вот так:

<h1>hellow, <?=$name ?></h1>
»«»

2. потом:

«„“
ну выже должны понимать что нельзя вставлять код прямо в HTML... ...blahblahblah...
»«»

************************************************************

ЙПТ! а какого ж фига тогда в PHP так много конструкций сделанных именно для того чтобы люди так вставляли код? :-) :-)

...неужеле это сделано специально чтобы в получаемых сайтах было побольше XSS-брешей-безопасности? :-)

очень глупо!

наделать конструкций которые позваляют стрелять себе в ногу...
а потом писать о том что «пажалайта не стреляйте себе в ногу» :-/

такое только маркетологи умеют делать:
"купите вот этот чудесное ароматное мыло!"
(а на обратной сторон мыла написать "пожалуйста не используйте это мыло слишком часто, а иначе у вас может быть рак")

user_id_68054 ★★★★★
()
Ответ на: комментарий от user_id_68054

> устарелыми длинными динозавро-подобными

другое школоло по тем же причинам ругало длинные непонятные регулярки

wxw ★★★★★
()
Ответ на: комментарий от anonymous

> Ну и ну, вот так новость! А может switch/case и вызов функции тоже динозавро-подобные?

ну я незнаю кто придумал switch/case :-)
..но почемуто работать со switch/case используя НЕ базовые-типы-данных — у меня ни разу не получалось :-(

хотя вот например в выражении:

my_hash = {}
my_hash[my_key_varible] = my_value_varible
* переменная my_key_varible — может быть любого (неизменяемого) типа данных, и совсем не обязательно базового... [к примеру это может быть сложный пользовательский тип данных]

* переменная my_value_varible — может быть указателем на функцию

таким образом всегда можно выполнить выражение:

function_result = my_hash[my_key_varible] (function_argument_0, function_argument_1, ...)
.... ......но почемуже создатели switch/case — запрещают нам использовать в качестве ключевых переменных — переменные НЕ от базавых типов?

...чем объясняется такая ограниченность?

......тем что switch/case это конструкция только для крутых АССЕМБЛЕРСКИХ операций?

....кто вообще мог додуматься ПРИВЯЗАТЬ определённый вид циклической конструкции к определённому виду базовых типов данных?

.....теперь мне всю жизнь придётся использовать только базовый тип данных чтобы была возможность использовать его в switch/case цыклах?

но ведь конструкции:

if switch_my_key == ..... :
    ...
elif switch_my_key == ..... :
   ...
elif switch_my_key == ..... :
   ...
elif switch_my_key == ..... :
   ...
else:
   ...
 — СПОСОБНЫ работать с переменной switch_my_key — любого типа!

выходит что ушербной остаётся только лишь операция switch/case x_X x_X x_X

user_id_68054 ★★★★★
()
Ответ на: комментарий от user_id_68054

Вы опять не осилили PHP и современных принципов построения веб-приложений. Поясняю на пальцах и еще раз объясняю MVC в пределах PHP (и даже в какой-то мере в JSP).

1. Модель — толстый слой, отвечающий за работу с данными, валидацию данных, пришедших с форм, получение данных из RDBMS. Верстки, HTML, CSS и диспетчера URL там быть не может — это всем ясно.

2. Контроллер — дергает нужное представление по вызванному URL. Это опять таки понятно. Верстки и HTML тут тоже нет.

3. Наконец шаблоны (view), где «черт побери, можно PHP смешивать с HTML!» Да, тут смешивают PHP и HTML. И это нормальная практика как в PHP, так и в JSP. Можно прикрутить Twig/XSLT/Smarty/etc., но суть не сильно изменится. Тут запрещено все, кроме непосредственно логики шаблона.

В Python в этой части MVC работают Django templates/jinja2/Mako/Myghty/etc. Это тоже всем ясно. В PHP же есть вариант использовать сам PHP и как язык для логики шаблонов (на вкус и цвет), и как язык общего назначения. Ну такое у него свойство.

Покажите пожалуйста _авторитетные ресурсы_, заявляющие первое высказывание:

1. «PHP хорош тем, что код можно в HTML вставлять»; 2. «PHP хорош тем, что его можно использовать и как язык для логики шаблонов, и как язык общего назначения».

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

PS: Я не PHP фанбой. Использую как PHP, так и Python в своей работе. Просто хочу на пальцах пояснить, почему все-таки PHP не «тотальная хуита», как вы пытаетесь тут сказать. :)

anonymous
()
Ответ на: комментарий от user_id_68054

По поводу выстрелов себе в ногу. Python тоже позволяет сделает это, в равной степени, что и PHP.

Пример, который всплыл в голове сразу же: http://softwaremaniacs.org/forum/python/26441/

Python просто такой сам по себе. По ссылке же пояснения Сагалаева по этому поводу. Копипастить не буду.

anonymous
()
Ответ на: комментарий от user_id_68054

По поводу hash array VS switch/case полностью согласен и не спорю. :)

anonymous
()
Ответ на: комментарий от anonymous

> По поводу выстрелов себе в ногу. Python тоже позволяет сделает это, в

равной степени, что и PHP.


Пример, который всплыл в голове сразу же:

http://softwaremaniacs.org/forum/python/26441/



да... конфликт имён идентификатором — это я щитаю серъёзная тема..
и разработчики языков к этой теме относяться не так тщательно как например хотелось бы мне

впрочем я согласен с комментарием Сагалаева

(хотя — приватные переменные это __x а не _x ...
но и сёравно даже с __x нет 100%й защиты от конфликта)

однако я щитаю потенциальных возможностей конфликтов имён — намного больше в языках C/C++/C#/PHP/Ruby , чем в языках D/Java/Python . так как в последних — более тщательно продумана модель модулей

н и конешно в Python — тоже можо выстрелеть себе в ногу.. при сильном желании то :-)

user_id_68054 ★★★★★
()
Ответ на: комментарий от anonymous

> 3. Наконец шаблоны (view), где «черт побери, можно PHP смешивать с HTML!» Да, тут смешивают PHP и HTML.

это действительно тот пример, где недостаток PHP оказывается его приемуществом

(например в WordPress именно таким образом делатся шаблоны)

...с другойже стороны — используя PHP как шаблонизаторный-язык (для модели MVC/MTV) — получаем кучу недостатков как шаблонного языка :-(

например такой недостаток как — слишком длинная конструкция

<h1>Привет, <?=htmlspecialchars($isden_name)?></h1>

[я уже запутался %) %) :-) , тоесть получается что это не приемущщество? %) %)]

с другойже стороны — в шаблонах Django — изза специализированного шаблонного языка (в PHP тоже есть свои шаблоннизаторы, такчто это не приемущество Python.. но всёже для примера приведу Django :-)) — можно написать шабон короче:

<h1>Привет, {{ isden_name }}</h1>

user_id_68054 ★★★★★
()
Ответ на: комментарий от anonymous

> ..., почему все-таки PHP не «тотальная хуита», как вы пытаетесь тут сказать. :)

ну конешно... всё познаётся в сравнении

...сравнивая например asp и php — очевидно что тотальная х*та — это asp :-)

user_id_68054 ★★★★★
()
Ответ на: комментарий от user_id_68054

>но всёже для примера приведу Django

<h1>Привет, {{ isden_name }}</h1>

В Twig будет 1 в 1 тоже самое. Юзай, не хочу.

[я уже запутался %) %) :-) , тоесть получается что это не приемущщество? %) %)]

Спорить по поводу удобства или не удобства такого решения я не буду, но лично я (и многие другие PHP-разработчики) привык к конструкциям типа <h1>Привет, <?php echo $isden_name; ?>!</h1>

anonymous
()
Ответ на: комментарий от kid_lester

> http://51t.ru/php.html

какой же чудесный сайт! *__* ^__^

# p.s.: а если не секрет — то подскажите пожалуйста — какую кодировка главной страниццы выставить необходимо в броузере? :-[

user_id_68054 ★★★★★
()
Ответ на: комментарий от user_id_68054

...сравнивая например asp и php — очевидно что тотальная х*та — это asp :-)

Сравнивать тупо по удобству опять-таки будет некорректно. ASP.NET, ASP MVC юзают там, где все завязано на решениях MS и нужна очень хорошая интеграция уже с готовым ПО, которое построено на решениях на MS.

PHP под виндой на продакшн сервере — это как минимум неудобно для администратора.

anonymous
()
Ответ на: комментарий от anonymous

> В Twig будет 1 в 1 тоже самое. Юзай, не хочу.

«Вот если бы губы Ивана Никифоровича...»

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

Потому что, если уж использовать фреймворк, то проще использовать 'лучший фреймворк на этой улице', а не лучший 'фреймворк на php', и вполне логично выбрать фреймворк на ruby или python. PHP выбирают совсем из-за другого.

В python же никто не пишет без фреймворков. А, учитывая, что многие из них есть почти во всех дистрибутивах (django есть даже в slitaz), то использовать фреймворк это вопрос одного апт-гета и одной строки.

И в python как раз логично использовать губы Ивана Никифоровича, дёргая, что нужно из джанги, а шаблонизатор из тех, что нравится, накрывая всё это нужными модулями. Подавать хоть горячим, хоть холодным, хоть без закуски.

.

2user_id: Кодировка - UTF-8, а что не так, кроме того, что я торопился и поэтому head не закрыл? Iceweasel парсит.

kid_lester
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.