P.S. т.к. не услышал ответа в соседней
теме.
Почему нельзя все функции записать в один файл и потом подключать к скриптам через include например. По крайней мере, если эта функция используется не один раз.
_____________
Принимаю заказы, писать в ЛС
Игорь_Vasinsky
21.01.2016 - 19:23
Медведь
можно, просто бывает когда кажется что у тебя на сервере оперативки 256мб - и начинается паника - вся память уходит на инициализацию функций...бррРрррр
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Это сколько функций там должно быть
_____________
Принимаю заказы, писать в ЛС
сначала 3... потом хз сколько
AllesKlar
21.01.2016 - 22:41
Цитата (Медведь @ 21.01.2016 - 17:10) |
P.S. т.к. не услышал ответа в соседней теме.
Почему нельзя все функции записать в один файл и потом подключать к скриптам через include например. По крайней мере, если эта функция используется не один раз. |
Можно.
Никакой там инициализации или нагрузки на сервер нет. Кто в танке, открываем учебник по ассемблеру / С++ и читаем до просветления, что такое процедуры, как они размещаются в памяти, что такое передача управления функции, что такое стек вызовов.
Пока функции 3, как уже заметили, то пофиг.
Когда у тебя функций уже 100 штук, и разный набор отвечает за разное поведение, то имеет смысл разбить на файлы чисто по логической принадлежности, чтобы легче было поддерживать проект.
_____________
[продано копирайтерам]
Valick
21.01.2016 - 23:13
AllesKlar, ты хоть вывернись, но РНР это интерпретатор, и он загружает всю твою богодельню в оперативку, 3 функции это 20 строк, 100 функций это 3000 строк и тд
и только законченный дурак пишет своё приложение в расчёте на одного пользователя в единицу времени, поэтому помножим портяночку на количество пользователей, и вот уж оперативочка в тугой петельке и ругается матершиной на недопрограммиста....
я конечно утрирую, но не [продано копирайтерам] красиво не расскажешь
_____________
Стимулятор ~yoomoney - 41001303250491
AllesKlar
22.01.2016 - 00:04
Цитата (Valick @ 21.01.2016 - 21:13) |
AllesKlar, ты хоть вывернись, но РНР это интерпретатор, и он загружает всю твою богодельню в оперативку |
А что, компилятор делает не так же? Если вызывается dll, то она не грузится целиком?
И потом, ты хочешь сказать, что сервер загружает исходники в текстовом виде в память?
Ему пофиг, как наказывается твоя переменная $a или $anfidfkfldssdidhhugf в любом случае, это будет ссылка на адрес в памяти.
Объем исполняемого кода - это капля.
Вот то, что делает этот код, как засирает данными память и их обработкой - это уже весь айсберг.
_____________
[продано копирайтерам]
Valick
22.01.2016 - 00:52
Цитата (AllesKlar @ 21.01.2016 - 23:04) |
Объем исполняемого кода - это капля. |
AllesKlar
22.01.2016 - 01:11
Цитата (Valick @ 21.01.2016 - 22:52) |
ну ну |
Что ну-ну?
Ты уже когда-нибудь начнешь апеллировать фактами, а не "сам дурак"?
Интересная тема.
Иди в гугль, ищи, как работает интерпретатор, как он анализирует код, как он его оптимизирует, что у него на выходе, как процессор получает исполняемые команды.
Ты же не думаешь, что разработчики php не предусмотрели того, что если функция не используется, то она просто будет проигнорирована и для нее не будет сгенерированы опкоды?
Или проблема в загрузке лишних 200 кб исходного кода в память?
ты же не будешь утверждать, что кто-то реально пишет исходники по 10 метров на файл?
Не нужно теоретизировать, давай отталкиваться от практики.
_____________
[продано копирайтерам]
Valick
22.01.2016 - 01:23
Цитата (AllesKlar @ 22.01.2016 - 00:11) |
Ты уже когда-нибудь начнешь апеллировать фактами, а не "сам дурак"? |
Цитата (AllesKlar @ 22.01.2016 - 00:11) |
Иди в гугль |
icedfox
22.01.2016 - 06:04
Цитата (AllesKlar @ 22.01.2016 - 03:11) |
Valick, Ты уже когда-нибудь начнешь апеллировать фактами, а не "сам дурак"? |
в ответку
Цитата (Valick @ 22.01.2016 - 03:23) |
сам иди |
Занавес
П.С.
AllesKlar , объясни мне нерадивому плиз. Для какой цели используются автолоадеры в ПХП , ну кроме прямого назначения (инклуда). Более того, может два одних из самых популярных фреймворка зря используют "ленивую" загрузку и им стоит сразу при старте страницы инклудить все 100500 файлов, нагрузки же нет, как ты говоришь.
Valick
22.01.2016 - 09:31
icedfox, читай внимательнее кто что говорит.
_____________
Стимулятор ~yoomoney - 41001303250491
icedfox
22.01.2016 - 12:42
Valick, ошибка, поправил свой сабж, не тому случайно адресовал.
AllesKlar
22.01.2016 - 18:25
Цитата (icedfox @ 22.01.2016 - 04:04) |
П.С. AllesKlar , объясни мне нерадивому плиз. Для какой цели используются автолоадеры в ПХП , |
Объясняю тебе, нерадивому:
Чтобы писать $obj = new MyClass;
И не заботиться об подключении файла.
Цитата (icedfox @ 22.01.2016 - 04:04) |
Более того, может два одних из самых популярных фреймворка зря используют "ленивую" загрузку и им стоит сразу при старте страницы инклудить все 100500 файлов, нагрузки же нет, как ты говоришь. |
Я где-то писал, что нужно инклюдить файлы, которые не используются?
Читай тему сначала и до просветления.
О чем был вопрос ТС и что я ему ответил, не выдергивая контекста.
_____________
[продано копирайтерам]
icedfox
22.01.2016 - 18:45
Цитата (AllesKlar @ 22.01.2016 - 20:25) |
Я где-то писал, что нужно инклюдить файлы, которые не используются? |
Читаю и вижу:
Цитата (Медведь) |
очему нельзя все функции записать в один файл и потом подключать к скриптам через include например. |
Цитата (AllesKlar @ 22.01.2016 - 00:41) |
Можно. Никакой там инициализации или нагрузки на сервер нет. ............................................... Когда у тебя функций уже 100 штук, и разный набор отвечает за разное поведение, то имеет смысл разбить на файлы чисто по логической принадлежности, чтобы легче было поддерживать проект. |
Если я понял, что вы не видите разницы подключении 3х файлов и 100500, то остальные вас поймут так же.
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.