Количество методов в классе, количество строк.

caballero

Новичок
php это такая система костыликов, на которой, обмешав немного своими костыликами, можно на удивление быстро и удобно делать веб-проекты. За эстетикой не сюда точно.
Ну это не я доказываю какие класные шняги у PHP теперь. Проблема в том что чем больше костыликов тем усложняется компилятор и утяжеляется язык. Не удивлюсь если завтра засунут какую нибудь generalization чтобы быть не хуже других. А на фига превращать в монстра легкий удобный язык. Который и так подходит для написания большинства сайтов просто потому что подавляющее большинство сайтов - с простой логикой и минимальной нагрузкой. Особый вид маразма - фреймворки и CMS размером десятки мегабайт (шаблонизаторы поверх PHP, ORM и прочие плоды больного воображения или стараний индусов) которые без мемкеша даже не стоит пытатся запускать
 

AmdY

Пью пиво
Команда форума
caballero
ты где-то в прошлом, нынче php является enterprise уровня и на нём пишутся приложения со сложной бизнес логикой, которые замещают место JAVA. Потому что костыли оказываются гораздо удобнее и эффективнее чем классические подходы а-ля JAVA.
 

caballero

Новичок
этот код аналогичен в опкодах, всего лишь ещё один вид вывода строки.
а в асемблерных кодах вообще все языки аналогичные.
Угадай с одного раза что будет проще править дизайнеру в дримвьювере мой вариант или твой. Возможность вставки кода в виде скриплетов и есть существенное отличие от CGI и тому подобного. Очень сомневаюсь что среда исполнения PHP превращает HTML в принты как это делает JSP. Это и есть шабюлонизация - базовая фича PHP. Остальное - просто функции написаные на C. И расшифровывается PHP что то типа Hypertext Preprocessor. именно процесор - обработчик гипертекста.

В демонах вполне себе долгоживущие объекты используются.
а еще можно GUI писать на PHP. А зачем?

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

MiksIr

miksir@home:~$
Особый вид маразма - фреймворки и CMS размером десятки мегабайт (шаблонизаторы поверх PHP, ORM и прочие плоды больного воображения или стараний индусов) которые без мемкеша даже не стоит пытатся запускать
мемкеш к объему кода фреймворков никакого отношения не имеет вообще. вы опкод кеш имели ввиду?
 

MiksIr

miksir@home:~$
Ragazzo
да ладно, человек грамотный, с кругозором возможно большим чем у меня, очень даже интересно его почитать, пускай даже взаимный интеллектуальный троллинг.
Как-то сложно соотносится проявляемая зашоренность и "большой кругозор". Да и одновременное потрясание жавой и ссылки на котерова тоже как-то удивляют. Что-то тут не так.
 

caballero

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

Потому что костыли оказываются гораздо удобнее и эффективнее чем классические подходы а-ля JAVA.
Не оказываются и никаким каком оказатся не могут. Почти все сервера приложений написаны на яве.
 

caballero

Новичок
мемкеш к объему кода фреймворков никакого отношения не имеет
имеет когда страница грузится полчаса потому что надо перечитать несколько тысяч файлов стопицот раз сходить в БД и распарсить стопицот xml. ничего не остается как с помощью мемкеша эмулировать персистентное хранилище.
 

AmdY

Пью пиво
Команда форума
это люди у которых не хватило ума выучить язхык посложнее городят ентерпрайз системы.. Точнее пытаются городить без особого успеха.
собака лает, караван идёт.

имеет когда страница грузится полчаса потому что надо перечитать несколько тысяч файлов стопицот раз сходить в БД и распарсить стопицот xml. ничего не остается как с помощью мемкеша эмулировать персистентное хранилище.
ууу..... как всё плохо.
 

caballero

Новичок
еще раз.
Для подавляющего числа сайтов достаточно обычного PHP как шаблонизатора, обычных классов для структуирования и удобства сопровождения кода и функции работы с БД не сложнее уровня PDO (лично мне для любого проекта хватает ADODB)
не надо пытатся городить на PHP ентерпрайз системмы, многомегабайтные фреймворки и юзать костыли потому что это круто (к примеру упомянутые выше DI и IoC).
результатом будет только одно - темы в форумах "что мне делать с классом у которого 600 строк кода".
 

caballero

Новичок
ууу..... как всё плохо.
Да, я в курсе что такое джумла. Ну главное чтобы там было MVC а железо нынче дешевое - corei7 поставим и куда оно денется. Или подопрем костыликами с мемкеша или какого нибудь редиса. Главное мозги не напрягать.
 

AmdY

Пью пиво
Команда форума
fixxxer
человек не решает проблемы на таком уровне и для него DI, apc, memcache, redis это магия высшего уровня.

меня, в php очень бесит реализация namespace, то что если в нём вызывать в namespace Foo; PDO, то он его идет только в текущем неймспейсе и не пробует искать \Foo\PDO, а затем в глобально \PDO. или я что-то не так готовлю?
 

caballero

Новичок
Расскажи, чем тебе DI-то не угодил?
не видел ни одного вменяемого примера практического примененрия. Релизации в symfony и (кажется) битриксе - невменяемы по причине невменяемости самих проектов.

человек не решает проблемы на таком уровне и для него DI, apc, memcache, redis это магия высшего уровня
это не магия а бред сивой кобылы в применении к PHP. Или как верно было замечено - костылики.
 

fixxxer

К.О.
Партнер клуба
DI это очень удобно, когда у тебя есть один интерфейс и множество вариантов его реализации, при том реализация этого интерфейса нужна слишком дофига где, чтобы замучаться передавать везде явным параметром.

DI это не обязательно монстроузная IoC-хрень из symfony 2 (там я тоже офигел). Вполне пишется в один нетбучный экран кода.

А шо в битриксе есть DI? :confused: Я думал, там все через global и задницу :)
 

caballero

Новичок
Ну с DI в некотрых случаях еще можно смирится если делать грамотно и так и где нужно. Но такие фичи снижают понимание и читабельность кода

А шо в битриксе есть DI? Я думал, там все через global и задницу
это я с какой то другой задницей попутал

Но если с умом то и global можно. Я так всегда массив конфига передаю - переменная единственная глобальная на проект нигде не меняется не может - global - самое то
 

AmdY

Пью пиво
Команда форума
fixxxer
во-во, очень простая штука, можно обычный реестр чуть расширить для хранения карты, а всё остальное это обвеска и сахарок, кои необязательны. а есть и вовсе решения через иерархическую файловую систему, вроде в кохане что-то подобное.

apc, который caballero путает с memcache тоже не является костылём, что удивительного что системе требуется хранить опкоды для виртуальной машины, удивительно что это не входит в ядро. Вот shmop для шаринга памяти уже входит в ядро.

memcache и redis - средства для хранения информации и используются независимо от языка. Так что костылями php не являются.

удивительно что caballero запутался в трёх соснах, хотя теория ООП от него звучала убедительно.
 

caballero

Новичок
apc, который caballero путает с memcache
я ничего не путаю
удивительно что это не входит в ядро
потому что нормально написаный сайт и без акселераторов работает
Так что костылями php не являются.
Они являются костылями для сайтов когда некие умники пытаются городить на PHP ентерпрайз системы или пишут фреймворки размеров полсотни мегабайт.
удивительно что caballero запутался в трёх соснах, хотя теория ООП от него звучала убедительно.
ты не зря удивился. То чего нет всегда вызывает удивление.
 

fixxxer

К.О.
Партнер клуба
Вот про так называемые "акселераторы", а на самом деле опкод кэшеры, ты глупости говоришь.) Ты понимаешь как они работают? Собственно кэшера байткода, который вообще-то обязательный элемент компилирующего интерпретатора с виртуальной машиной, изначально в ядре не было явно из маркетинговых соображений, зенду же надо что-то продавать. А сейчас вообще даже неясно почему apc не сунут в поставку, видимо просто рук не хватает чтобы довести его до production ready решения по умолчанию. Это не какая-то там непоймикакаяускорялка, это обязательный элемент для данной архитектуры ВМ, который из определенных соображений отсутствует
 

AmdY

Пью пиво
Команда форума
Они являются костылями для сайтов когда некие умники пытаются городить на PHP ентерпрайз системы или пишут фреймворки размеров полсотни мегабайт.
caballero
какая разница, сколько весит, когда отсутствие малюсенького DI обходится как минимум в пятизначную сумму из-за сложностей с апгрейд сейф поддержкой и кустомизацией продукта. важно не сколько кода написано, а сколько недописанно.
потому что нормально написаный сайт и без акселераторов работает
Ты небось сишные приложения тоже каждый раз компилируешь перед запуском, так же тоже работает? Сохранения результатов компиляции это нормальный процесс, в php есть решения для хранения опкодов в виде расширения, а есть и вовсе hip-hop. Это инфраструктуры языка, ничем принципиально не отличающаяся от других.
некие умники пытаются городить на PHP ентерпрайз системы
Пока фантазёры фантазируют, другие не стесняются браться за серьёзные задачи и главное успешно их выполняют. Код при этом далеко не идеальный, но главное чтобы заказчик был доволен результатом и проект работал как надо.

Забавно что ты так наезжал на ООП в php, а помимо отсутсвия синтаксического захара для лямбд ничего не вспомнил и принялся называть костылями использования внешних стораджей, небось отсутствие встроенной реляционной базы это тоже позор для любого языка.
 
Сверху