Модераторы: 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   Вверх
Ответ в темуСоздание новой темы Создание опроса

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

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


 




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


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

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