| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Для профи > Проблемы PHP |
| Автор: SergeCpp 31.12.2006, 13:20 |
| http://nuclight.livejournal.com/107170.html |
| Автор: Mal Hack 31.12.2006, 14:26 |
| Все, что там описано, имеет место быть.К сожалению это факт. Это первая статья, за последние года 2-3, без шапкозакидательства, а с грамотным анализом. Не соглашусь с автором в том, что PHP не пригоден для крупных проектов. Все зависит от умения программировать. Не соглашусь и с цитатой, что PHP прогеры деградируют... Нет. Рано или поздно переходят на другой уровень, Си, C#. |
| Автор: SergeCpp 31.12.2006, 15:31 | ||||
http://www.heise-security.co.uk/news/82500
http://www.opennet.ru/opennews/art.shtml?num=9234
|
| Автор: Mal Hack 31.12.2006, 15:35 | ||
| SergeCpp, это я еще тут в новостях давал... Тут любопытно привести еще одну цитату: http://phpclub.ru/talk/showthread.php?postid=676365#post676365
При этом, хочу отметить, что автор этих строк не последний человек в PHP сообществе. |
| Автор: Vidocq 22.1.2007, 11:03 | ||||
Так ведь смарти уже давно придумали. Почему не использовать его?
Так и PEAR же придумали уже. Поддерживает постгрес, майскл, мс скл |
| Автор: pento 22.1.2007, 13:31 | ||
По ссылке есть пара интересных замечаний, в частности по поводу именования функций и вообще их большого количества. Но в оценках прослеживается явный субъективизм...Автор просто не знает о многих вещах. |
| Автор: Sardar 22.1.2007, 14:08 |
| Автор не указал на платформозависимость многих нативных функций PHP, а также отсутствие всякой логики (зачастую просто мэпят C'шные функции в пространство PHP). Мне реально не хватает пакетов/неймспейсов, некого общего фреймворка (PEAR вешь хорошая, но не всё) и "декларативности" языка (closure, конструкции для работы со списками, match etc). PHP5 как язык ещё не плох, но стандартная либа для него явно не подходит. Но! пишем, в умелых руках и х. отвёртка Сейчас складываю свои общие часто используемые компоненты http://forum.vingrad.ru/topic-133199/kw-php-back--end-backend.html, по идее может получиться ещё один фреймворк под 5'ку. |
| Автор: pento 22.1.2007, 16:52 |
| Sardar, Уверены, что не получите ещё один велосипед? Есть вполне приличные фреймворки. Тот же CakePHP. |
| Автор: Sardar 22.1.2007, 18:25 |
Посмотрим. В любом случае я не фанатичен и не бросаюсь переписывать что уже есть. Во фреймворке сейчас именно то, что я не видел в других (даже в Zend Framework) или видел, но "криво". |
| Автор: pento 22.1.2007, 18:30 | ||
Можно поподробнее? |
| Автор: Mal Hack 22.1.2007, 18:34 |
| Secandr на днях ссылку подкинул: http://www.onphp.ru/index.ru.html |
| Автор: pento 22.1.2007, 18:44 |
| Mal Hack, спасибо! Почитаю. |
| Автор: Sardar 22.1.2007, 19:00 | ||
Будет оффтопом Ну хотя бы просто конфиги по всей системе. Компоненты не должны конфигурироваться в коде (define и прочее). Также компонент не должен иметь каких либо .setParam(), т.к. использующий его код не должен знать какие настройки он по дефолту имеет. Я написал http://de29.vingrad.ru/svn/vijio/ImaEngine/lib/Configuration.php класс, с по мощью которого любой компонент в системе может сам себя сконфигурировать (дефолтовых значений в код тоже не вшиваеться). К примеру такой код:
Построит страницу, запишет в кешь и выдаст из кеша при последующем запросе. На первый взгляд просто, но если же углубимся в код то заметим:
Все пути и настройки не зашиты в коде, а беруться у http://de29.vingrad.ru/svn/vijio/ImaEngine/lib/Configuration.php, который читает опции по первому требованию из /data/config/*.props файлов (XML). Все конфиги прописаны в начале кажого файла, глянь на "[template]dir:source-base-dir" и подобные строки. В итоге: с ничего получаем локализованный механизм шаблонов, где использующий код ничего не знает о внутренних конфигурациях. Естественно особо продвинутая логика может использовать функциональные классы на прямую, без "обёрток". Это только о конфиге, а если о шаблонизаторе поговорим? Модератор: извиняюсь Если кому интересно, спрашивайте/пишите http://forum.vingrad.ru/ViJio_framework.html. |
| Автор: Mal Hack 22.1.2007, 19:03 |
| Я попозже тему разделю на "Проблемы PHP" и "PHP Framework", если никто не против. |
| Автор: Vidocq 23.1.2007, 12:35 |
Я хотел сказать, что используя смарти можно добиться разделения кода и представления. На невозможности чего автор статьи делает акцент. |
| Автор: Eugene_Bond 23.1.2007, 14:28 |
как раз смарти позволяет перекладывать логику в представление. а если поставить цель полного разделения, то использование смарти лишено смысла. для полного разделения шаблонизатор должен поддерживать блоки и переменные. все. |
| Автор: Tony 23.1.2007, 15:55 |
| Статья объективная. Коне4но основная проблема это огромное коли4ество public функций |
| Автор: BobiKK 23.1.2007, 18:56 | ||
А вам для того, чтобы пукнуть в браузер клиенту надо составить 5-и ступенчатую классовую иерархию с имплементацией стандартных интерфейсов и с наследованием от 10-ка абстрактных классов? Хотите, пишите всё в pure-ООП. Готовых PEAR-классов хватает. Не хотите - никто не заставляет. С++ от этого не страдает. И ещё. А какие есть, простите, бесплатные ИДЕ для других языков не уступающие своим платным аналогам? |
| Автор: Tony 23.1.2007, 20:34 | ||||
Если писать хомяки то да. Меня не очень впе4атляет если у мнея большое приложение и мне надо разбиратся в коде.А редактор максимум поддерживает подцветку кода и CTRL+SPACE вываливает все функции каторые есть в PHP.
Для java есть http://kldp.org/files/eclipse-wtp_176.png , http://platform.netbeans.org/ Полностью безплатные с поддержкой плагинов. При4ём они не уступают платному Borlad JBuilder/ Для С\C++\NET есть VisualStudio, но в кастрированном варианте можно ска4ать с МС сайта. Но это лутше 4ем блакнот и компиляция из CMD. Я не понимаю по4ему php community так и не написала free IDE, вед язык так популярен. |
| Автор: Sardar 23.1.2007, 21:36 | ||
Потому что круче Zend Studio нет ничего, действительно мощный и чрезвычайно тормознутый IDE. Вероятно большинство использует его с левыми серийными (читай доступен), отсюда все довольны и открытые подукты идут не смело. А NetBeans вроде как совсем недавно свободной стала. Рулит тулами для рефакторинга конечно, но отсутствие авто дополнения с плавающей подсказкой после Zend Studio угнетает. |
| Автор: Mal Hack 23.1.2007, 22:16 |
| Модератор: обсуждение редактров, пожалуйста, в другой теме |
| Автор: smartov 24.1.2007, 00:33 |
| Статья интересная. Автор во многом прав. Но именно в этом и шарм PHP. Автор PHP явно сделал правильный шаг (для расширения популярности языка), что принимал почти любой новый код в него. Это сделало его понятный и малышу как говорится. А именование функций конечно раздражает,... потом.. когда уже долго с ним работаешь, а до этого нормально. Как и с любым языком. Кто-нибудь забумывался например как либы в линуксе именуются? Как бог на дущу положит. И ничего. Живут люди. Хотя замечания в статья и правильные. Но язык удобен для старта. Потом хочется чего-то более светлого... Виндузятник ;) Я бы сказал Java. |