Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблемы PHP 
:(
    Опции темы
SergeCpp
Дата 31.12.2006, 13:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


 
**


Профиль
Группа: Участник
Сообщений: 955
Регистрация: 8.8.2005
Где: At Home

Репутация: нет
Всего: 124



PM MAIL WWW ICQ   Вверх
Mal Hack
Дата 31.12.2006, 14:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 8
Всего: 261



Все, что там описано, имеет место быть.К сожалению это факт.
Это первая статья, за последние года 2-3, без шапкозакидательства, а с грамотным анализом.

Не соглашусь с автором в том, что PHP не пригоден для крупных проектов. Все зависит от умения программировать.
Не соглашусь и с цитатой, что PHP прогеры деградируют... Нет. Рано или поздно переходят на другой уровень, Си, C#.



PM ICQ   Вверх
SergeCpp
Дата 31.12.2006, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


 
**


Профиль
Группа: Участник
Сообщений: 955
Регистрация: 8.8.2005
Где: At Home

Репутация: нет
Всего: 124



Security specialist leaves PHP security team — Report of 13.12.2006 21:57

Цитата
Stefan Esser, PHP security specialist and member of the official PHP Security Response Team has, he says, had enough - in his blog he has announced his immediate resignation from the PHP Security Response Team. He states that he has various reasons for doing so, the most important of which is that his attempt to make PHP safer "from the inside" is futile. According to Esser, as soon as you try to criticise PHP security, you become persona-non-grata in the security team. In addition many of his suggestions were ignored because the developers considered Esser's choice of words, too abrasive. He says that he had stopped counting the number of times he was called a traitor when he published a bug report on a vulnerability in PHP.


Эксперт по безопасности покидает команду PHP. Патчи для контроля почты — 14.12.2006 22:12

Цитата
Stefan Esser, занимавшийся выявлением проблем связанных с безопасностью, заявил об уходе из PHP security team, заявив, что потерял веру в возможность решения проблем безопасности PHP изнутри. 

Действительно, проблемы безопасности в PHP исправляются очень долго (в текущем дереве CVS находятся исправление проблем безопасности, которых пользователи ждут уже 6 месяцев), на них не обращается первоочередного внимания. Проблемы поднимаемые Stefan Esser просто игнорировали в PHP security team. Часто исправление ошибки приводило за собой появление новых ошибок. 

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

В заключение, Ilia Alshanetsky опубликовал просто необходимый для систем массового хостинга патч к mod_php. Патч позволяет вести полный лог отправки сообщений по электронной почте через функцию mail(), а также включать в тело письма заголовок с уточнением из какого именно скрипта и от какого пользователя осуществлена отправка.


PM MAIL WWW ICQ   Вверх
Mal Hack
Дата 31.12.2006, 15:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 8
Всего: 261



SergeCpp, это я еще тут в новостях давал...
Тут любопытно привести еще одну цитату:

http://phpclub.ru/talk/showthread.php?post...6365#post676365

Цитата
В связи с большой волной публикация насчет Stefan Esser и его ухода - мы публикуем еще один взгляд на ситуацию: нужен ли такой человек в PHP Team?

    * это тот человек, по вине которого были поломаны два релиза веток 4.1 и 4.2.
    * это тот человек, который за последние несколько месяцев не закоммитил ни строки кода, но устроил штук пять скандалов.
    * это тот человек, который продаст родную маму, если это хоть как-то навредит компании Zend, которую он ненавидит лютой ненавистью (по неизвестным причинам). 


При этом, хочу отметить, что автор этих строк не последний человек в PHP сообществе.
PM ICQ   Вверх
Vidocq
Дата 22.1.2007, 11:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 431
Регистрация: 15.12.2004
Где: Запорожье, Украин а

Репутация: нет
Всего: 7



Цитата

PHP поощряет смешение разметки страниц и логики приложения, тогда как этого следует всячески избегать. Для PHP только недавно (!) начал разрабатываться стандартный framework (существует некоторое количество их от сторонних разработчиков), однако большинство авторов сайтов на PHP, похоже, вовсе не слышали ни о том, что такое framwork, ни об MVC-модели.


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

Цитата

Отсутствует и много других важных для масштабной разработки вещей. Например, для Perl есть DBI - единый интерфейс к базам данных. Для PHP же, чтобы сменить одну СУБД на другую, придется переписать кучу кода (да, и в случае Perl скорее всего потребуется изменить часть запросов ввиду отличающихмя диалектов, но для PHP работы по переделке будет гораздо больше). 


Так и PEAR же придумали уже. Поддерживает постгрес, майскл, мс скл


--------------------
Всё течёт ©
PM MAIL ICQ   Вверх
Mal Hack
Дата 22.1.2007, 13:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 8
Всего: 261



Цитата(Vidocq @  22.1.2007,  11:03 Найти цитируемый пост)
Так и PEAR же придумали уже. Поддерживает постгрес, майскл, мс скл 

А еще есть PDO
И потом это по сути (PEAR) - пользовательские библиотеки, а речь идет о core & ext

Цитата(Vidocq @  22.1.2007,  11:03 Найти цитируемый пост)
Так ведь смарти уже давно придумали. Почему не использовать его?

Какое отношение Smarty имеет к framework'у?
PM ICQ   Вверх
pento
Дата 22.1.2007, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 97
Регистрация: 14.1.2007
Где: Россия

Репутация: нет
Всего: 4



Цитата(SergeCpp @ 31.12.2006,  16:20)
Очень хорошая статья о проблемах PHP...

По ссылке есть пара интересных замечаний, в частности по поводу именования функций и вообще их большого количества. Но в оценках прослеживается явный субъективизм...Автор просто не знает о многих вещах.
PM MAIL   Вверх
Sardar
Дата 22.1.2007, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 2
Всего: 317



Автор не указал на платформозависимость многих нативных функций PHP, а также отсутствие всякой логики (зачастую просто мэпят C'шные функции в пространство PHP).

Мне реально не хватает пакетов/неймспейсов, некого общего фреймворка (PEAR вешь хорошая, но не всё) и "декларативности" языка (closure, конструкции для работы со списками, match etc). PHP5 как язык ещё не плох, но стандартная либа для него явно не подходит. Но! пишем, в умелых руках и х. отвёртка smile

Сейчас складываю свои общие часто используемые компоненты сюда, по идее может получиться ещё один фреймворк под 5'ку.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
pento
Дата 22.1.2007, 16:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 97
Регистрация: 14.1.2007
Где: Россия

Репутация: нет
Всего: 4



Sardar
Цитата(Sardar @  22.1.2007,  17:08 Найти цитируемый пост)
о идее может получиться ещё один фреймворк под 5'ку. 

Уверены, что не получите ещё один велосипед? Есть вполне приличные фреймворки. Тот же CakePHP.
PM MAIL   Вверх
Sardar
Дата 22.1.2007, 18:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 2
Всего: 317



Цитата(pento @  22.1.2007,  15:52 Найти цитируемый пост)
Уверены, что не получите ещё один велосипед?

Посмотрим. В любом случае я не фанатичен и не бросаюсь переписывать что уже есть. Во фреймворке сейчас именно то, что я не видел в других (даже в Zend Framework) или видел, но "криво".


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
pento
Дата 22.1.2007, 18:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 97
Регистрация: 14.1.2007
Где: Россия

Репутация: нет
Всего: 4



Цитата(Sardar @  22.1.2007,  21:25 Найти цитируемый пост)
Во фреймворке сейчас именно то, что я не видел в других (даже в Zend Framework) или видел, но "криво". 

Можно поподробнее?
PM MAIL   Вверх
Mal Hack
Дата 22.1.2007, 18:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 8
Всего: 261



Secandr на днях ссылку подкинул: http://www.onphp.ru/index.ru.html
PM ICQ   Вверх
pento
Дата 22.1.2007, 18:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 97
Регистрация: 14.1.2007
Где: Россия

Репутация: нет
Всего: 4



Mal Hack, спасибо! Почитаю.
PM MAIL   Вверх
Sardar
Дата 22.1.2007, 19:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 2
Всего: 317



Цитата(pento @  22.1.2007,  17:30 Найти цитируемый пост)
Можно поподробнее?

Будет оффтопом smile

Ну хотя бы просто конфиги по всей системе. Компоненты не должны конфигурироваться в коде (define и прочее). Также компонент не должен иметь каких либо .setParam(), т.к. использующий его код не должен знать какие настройки он по дефолту имеет. Я написал Configuration класс, с по мощью которого любой компонент в системе может сам себя сконфигурировать (дефолтовых значений в код тоже не вшиваеться).

К примеру такой код:
Код
//группа кешей
$cache = new FileCache('static/pages');

//если нужно перестроить кешь
if(!$cache->captureRead('some.page')) { //если кешь есть, то он просто echo и if выполняться не будет
    $prov = new LocalizedTemplateDocumentProvider(); //для примера, обычно в системе он один и создаёться раньше
    $tpl = $prov->getTemplate('my/template');
    $tpl->processOutput($specific_handler); //хендлер предоставляет инфу в шаблоне и управляет блоками
    $cache->captureEnd();
}


Построит страницу, запишет в кешь и выдаст из кеша при последующем запросе. На первый взгляд просто, но если же углубимся в код то заметим:
  • определиться локаль пользователя на основе Accept-language и других источников (locale.phpLocalization.php)
  • допустим шаблоны лежат в /templates, текущий скин 'default', тогда путь до шаблона будет: /templates/default/ru/my/ru_RU.template.tpl. Естественно поиск локализованного ресурса дотаточно умён что бы выдать в любой подходящей локали (единый язык) или упасть на не локализованный шаблон (дефолтный).
  • по дефолту шаблонизатор компилируемый/транслирующий (CompiledTemplateDocument), допустим ложит он собранные PHP инклюды в /data/compiled_templates/...
  • кешь тоже знает свои пути и допустим ложит контент в: /data/cache/static/pages/some.page.cache

Все пути и настройки не зашиты в коде, а беруться у Configuration, который читает опции по первому требованию из /data/config/*.props файлов (XML). Все конфиги прописаны в начале кажого файла, глянь на "[template]dir:source-base-dir" и подобные строки.

В итоге: с ничего получаем локализованный механизм шаблонов, где использующий код ничего не знает о внутренних конфигурациях. Естественно особо продвинутая логика может использовать функциональные классы на прямую, без "обёрток".

Это только о конфиге, а если о шаблонизаторе поговорим? smile  Штука мощная, не псевдо-PHP как Smarty и подобные, но в то же время простой text-stream, что удобней для генерации страниц чем XML+XSLT (IMHO). Не имеет встроенных конструкций (только теги и блоки), расширяем и на мой взгляд довольно удобен.

Модератор: извиняюсь smile
Если кому интересно, спрашивайте/пишите здесь.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Mal Hack
Дата 22.1.2007, 19:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 8
Всего: 261



Я попозже тему разделю на "Проблемы PHP" и "PHP Framework", если никто не против.
PM ICQ   Вверх
Vidocq
Дата 23.1.2007, 12:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 431
Регистрация: 15.12.2004
Где: Запорожье, Украин а

Репутация: нет
Всего: 7



Цитата(Mal Hack @  22.1.2007,  13:26 Найти цитируемый пост)
Какое отношение Smarty имеет к framework'у?


Я хотел сказать, что используя смарти можно добиться разделения кода и представления. На невозможности чего автор статьи делает акцент.


--------------------
Всё течёт ©
PM MAIL ICQ   Вверх
Eugene_Bond
Дата 23.1.2007, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 138
Регистрация: 3.9.2006

Репутация: 1
Всего: 4



Цитата(Vidocq @  23.1.2007,  12:35 Найти цитируемый пост)
используя смарти можно добиться разделения кода и представления

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

PM MAIL   Вверх
Tony
  Дата 23.1.2007, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1159
Регистрация: 3.3.2006
Где: Riga

Репутация: нет
Всего: 12



Статья объективная. Коне4но основная проблема это огромное коли4ество public функций  smile . ИМХО если язык ОО, то надо было классы наражать. Типа File, Arrays..... И уже у них методы. Такое ощущение что ПХП налабли на колено4ке.Типа сей4ас нормално, а то4то в будущем будет по..... Нету нормалной безпалтной IDE. Всякие там блокноты ..... .


--------------------
user posted image
user posted image
PM MAIL Skype   Вверх
BobiKK
Дата 23.1.2007, 18:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 655
Регистрация: 1.12.2005
Где: Essen, Deutschlan d

Репутация: нет
Всего: 16



Цитата(Tony @  23.1.2007,  15:55 Найти цитируемый пост)
Коне4но основная проблема это огромное коли4ество public функций  smile . ИМХО если язык ОО, то надо было классы наражать. Типа File, Arrays..... И уже у них методы. Такое ощущение что ПХП налабли на колено4ке.Типа сей4ас нормално, а то4то в будущем будет по..... Нету нормалной безпалтной IDE. Всякие там блокноты ..... . 

А вам для того, чтобы пукнуть в браузер клиенту надо составить 5-и ступенчатую классовую иерархию с имплементацией стандартных интерфейсов и с наследованием от 10-ка абстрактных классов? Хотите, пишите всё в pure-ООП. Готовых PEAR-классов хватает. Не хотите - никто не заставляет. С++ от этого не страдает.
И ещё. А какие есть, простите, бесплатные ИДЕ для других языков не уступающие своим платным аналогам?
PM MAIL   Вверх
Tony
Дата 23.1.2007, 20:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1159
Регистрация: 3.3.2006
Где: Riga

Репутация: нет
Всего: 12



Код

А вам для того, чтобы пукнуть в браузер клиенту надо составить 5-и ступенчатую классовую иерархию с имплементацией стандартных интерфейсов и с наследованием от 10-ка абстрактных классов? Хотите, пишите всё в pure-ООП. Готовых PEAR-классов хватает. Не хотите - никто не заставляет. С++ от этого не страдает.

Если писать хомяки то да. Меня не очень впе4атляет если у мнея большое приложение и мне надо разбиратся в коде.А редактор максимум поддерживает подцветку кода и CTRL+SPACE вываливает все функции каторые есть в PHP.
Код

И ещё. А какие есть, простите, бесплатные ИДЕ для других языков не уступающие своим платным аналогам?

Для java есть Eclipse WTP , NetBeans
Полностью безплатные с поддержкой плагинов. При4ём они не уступают платному Borlad JBuilder/
Для С\C++\NET есть VisualStudio, но в кастрированном варианте можно ска4ать с МС сайта. Но это лутше 4ем блакнот и компиляция из CMD. Я не понимаю по4ему php community так и не написала free IDE, вед язык так популярен. smile


--------------------
user posted image
user posted image
PM MAIL Skype   Вверх
Sardar
Дата 23.1.2007, 21:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 2
Всего: 317



Цитата(Tony @  23.1.2007,  19:34 Найти цитируемый пост)
по4ему php community так и не написала free IDE, вед язык так популярен.

Потому что круче Zend Studio нет ничего, действительно мощный и чрезвычайно тормознутый IDE. Вероятно большинство использует его с левыми серийными (читай доступен), отсюда все довольны и открытые подукты идут не смело.

А NetBeans вроде как совсем недавно свободной стала. Рулит тулами для рефакторинга конечно, но отсутствие авто дополнения с плавающей подсказкой после Zend Studio угнетает.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Mal Hack
Дата 23.1.2007, 22:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 8
Всего: 261



Модератор: обсуждение редактров, пожалуйста, в другой теме
PM ICQ   Вверх
smartov
Дата 24.1.2007, 00:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: 1
Всего: 259



Статья интересная. Автор во многом прав. Но именно в этом и шарм PHP. Автор PHP явно сделал правильный шаг (для расширения популярности языка), что принимал почти любой новый код в него. Это сделало его понятный и малышу как говорится. А именование функций конечно раздражает,... потом.. когда уже долго с ним работаешь, а до этого нормально. Как и с любым языком. 
Кто-нибудь забумывался например как либы в линуксе именуются? Как бог на дущу положит. И ничего. Живут люди.
Хотя замечания в статья и правильные. Но язык удобен для старта. Потом хочется чего-то более светлого...
Цитата(Mal Hack @  31.12.2006,  13:26 Найти цитируемый пост)
Рано или поздно переходят на другой уровень, Си, C#
Виндузятник ;) Я бы сказал Java.
PM MAIL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса

Внимание: данный раздел предназначен для решения сложных, нестандартных задач.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Для профи | Следующая тема »


 




[ Время генерации скрипта: 0.1097 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.