Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
PHP: Завершить выполнение кода из include-файла
|
|||
|---|---|---|---|
|
#18+
HettПрограмёрТак что, в поддержание слова "говнокод" жду не говнокод в ответ :) Думаю как завернуть этот же код хотя бы в функцию вы себе представить можете, поэтому не вижу смысла тратить время на ерунду, доказывая что-то тут :) могу ))) Говорю же, что подобный код поддерживаю сейчас :) Вот у нас умник какой-то завернул код в функцию, и теперь вызов функции, отвечающий за привязку модуля к админке выглядет вот так: Код: php 1. 2. 3. 4. 5. 6. 7. А прикольно то, что разумеется бОльшая часть модулей во всех этих данных и не нуждается вовсе, только в какой-то части... А ведь система расширяется... и вскоре, если я не перепишу эту всю фигню как надо, туда ещё начнут переменные падать)) Ну как? удобнее стало, от того, что код в функцию завернули? или лучше было просто include вызывать с использованием только того, что надо модулю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2014, 11:24 |
|
||
|
PHP: Завершить выполнение кода из include-файла
|
|||
|---|---|---|---|
|
#18+
О каких модулях вы вообще говорите, если у вас там все работает на функциях и вообще не пойми как? Если бы ли бы дейстительно модули, таких городушек бы не возникало. Для начала установите у себя в голове правильное понятие модульности. PS^ В любом случае этот вариант лучше с простым инклюдом хотя бы тем, что из модуля переменные случайно не поменяются, а то потом будете неделю ошибку искать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2014, 11:29 |
|
||
|
PHP: Завершить выполнение кода из include-файла
|
|||
|---|---|---|---|
|
#18+
*вариант с функцией лучше варианта с простым иклюдом ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2014, 11:30 |
|
||
|
PHP: Завершить выполнение кода из include-файла
|
|||
|---|---|---|---|
|
#18+
HettО каких модулях вы вообще говорите, если у вас там все работает на функциях и вообще не пойми как? Не понял ) А что, в структурном программировании модульность отменили? А как же например dll файлы написанные на Cи, они уже не являются модулями приложения? )) Я ещё раз повторю задачу, есть список входных параметров, есть модули, которым из этого списка требуется лишь малая часть. Ну например есть модуль личного кабинета (личные данные), который нуждается в знании данных пользователя для отображения, а есть модуль галереи, которой наплевать на данные пользователя, но обязательно требуется знать pageId для отображения правильного списка изображений, но в то же время есть модуль каталога, который предусматривает множество действий (просмотр товара, просмотр категории, управление товарами, управление категориями, сортировка, и т.д.), такому модулю надо знать pageId, $event_act, $UserId и возможно ещё какие-то данные. Есть модуль меню, которому надо знать тоже много разной инфы для работы. И тому подобное. Как мне сделать систему единую для них всех, что бы потом её было легко расширять? Ведь для каждого модуля определять свою функцию загрузки - это убиться можно )) Тогда ядро движка уже не будет ядром, так как мне в его код надо будет лазить для включения нового модуля. Выход - универсальная функция, которая может подгрузить любой модуль. Вызов такой функции я привёл выше. Второй выход - отказ от функции и вклинивание кода модуля в основной код ядра, что бы он работал с переменными движка и сам разбирал то, что ему нужно. Если появляется страх перед изменением переменных движка, то можно сделать так: Код: php 1. 2. 3. 4. 5. 6. Однако в этом случае мы опять же не будем грузить в функцию модуля всё(!!!) что ему может понадобиться, а отдадим только нужное, и заниматься данными будет строго сам модуль, а не ядро. Ядро - оно просто эти данные готовит и грузит модуль через include, а уже модуль определяет что из них он будет пользовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2014, 12:58 |
|
||
|
PHP: Завершить выполнение кода из include-файла
|
|||
|---|---|---|---|
|
#18+
авторНе понял ) А что, в структурном программировании модульность отменили? А как же например dll файлы написанные на Cи, они уже не являются модулями приложения? )) Структурное программирование это что? С использованием только структур (т.е. не функциональное, не используя функций)? На Си вы не напишите даже модуля без объявления хотя бы одной функции и ваш подход там использовать не получится. авторЯ ещё раз повторю задачу, есть список входных параметров, есть модули, которым из этого списка требуется лишь малая часть. Ну например есть модуль личного кабинета (личные данные), который нуждается в знании данных пользователя для отображения, а есть модуль галереи, которой наплевать на данные пользователя, но обязательно требуется знать pageId для отображения правильного списка изображений, но в то же время есть модуль каталога, который предусматривает множество действий (просмотр товара, просмотр категории, управление товарами, управление категориями, сортировка, и т.д.), такому модулю надо знать pageId, $event_act, $UserId и возможно ещё какие-то данные. Есть модуль меню, которому надо знать тоже много разной инфы для работы. И тому подобное. Ничего не мешает инициализировать модуль с нужными данными, а не так, чтобы модуль эти данные брал из глобальной области видимости. Вы потом переменную решите какую-то удалить и что, будете править все модули? авторКак мне сделать систему единую для них всех, что бы потом её было легко расширять? Ведь для каждого модуля определять свою функцию загрузки - это убиться можно )) Ну да, проще сговнокодить. Да и в чем сложность то? авторТогда ядро движка уже не будет ядром, так как мне в его код надо будет лазить для включения нового модуля. Ядро движка, это че ваще такое? Вы вообще нормальную архитектуру программы хоть раз видели? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2014, 14:29 |
|
||
|
PHP: Завершить выполнение кода из include-файла
|
|||
|---|---|---|---|
|
#18+
Програмёр, А вместо пачки параметров единственный объект "контекст" никак не передать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2014, 14:40 |
|
||
|
PHP: Завершить выполнение кода из include-файла
|
|||
|---|---|---|---|
|
#18+
Код: php 1. 2. 3. 4. 5. 6. 7. А код ваш подверждает еще раз, что качество кода у вас хромает в проекте. Во первых если это функция модуля, то она названа не правильно, т.к. по ее названию не ясно, что это за модуль вообще, да и вообще что она делает не понятно и почему суффикс ing? Половина переменных в верблюжем синтаксисе, половина с подчеркиванием, часть с большой буквы, часть с маленькой, где-то вообще все в нижнем регистре. Названия переменных тоже хз че и где. Где-то после запятой пробелов нету местами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2014, 14:42 |
|
||
|
PHP: Завершить выполнение кода из include-файла
|
|||
|---|---|---|---|
|
#18+
ИзопропилПрограмёр, А вместо пачки параметров единственный объект "контекст" никак не передать? Ну или хотя бы не единственный, даже несколько. В нормально приложении мог бы быть объект User из которого можно получить часть данных и т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2014, 14:43 |
|
||
|
PHP: Завершить выполнение кода из include-файла
|
|||
|---|---|---|---|
|
#18+
Или пусть даже супер-объект с набором всех модулей к которым можно было обращаться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2014, 14:44 |
|
||
|
PHP: Завершить выполнение кода из include-файла
|
|||
|---|---|---|---|
|
#18+
ИзопропилПрограмёр, А вместо пачки параметров единственный объект "контекст" никак не передать? неее ))) это не по условиям... у нас нету объектов :) А если объект = ассоциативный массив, то в чём разница? Получится то же самое, просто в EngineWrite сейчас передаётся несколько десятков аргументов явно, а в предложенном варианте они будут передаваться неявно (что ещё неудобнее). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2014, 14:53 |
|
||
|
PHP: Завершить выполнение кода из include-файла
|
|||
|---|---|---|---|
|
#18+
ПрограмёрИзопропилПрограмёр, А вместо пачки параметров единственный объект "контекст" никак не передать? неее ))) это не по условиям... у нас нету объектов :) А если объект = ассоциативный массив, то в чём разница? Получится то же самое, просто в EngineWrite сейчас передаётся несколько десятков аргументов явно, а в предложенном варианте они будут передаваться неявно (что ещё неудобнее). масив удобней ...часто какието параметры могут не передаваться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2014, 14:56 |
|
||
|
PHP: Завершить выполнение кода из include-файла
|
|||
|---|---|---|---|
|
#18+
HettИзопропилПрограмёр, А вместо пачки параметров единственный объект "контекст" никак не передать? Ну или хотя бы не единственный, даже несколько. В нормально приложении мог бы быть объект User из которого можно получить часть данных и т.п. НЕТУ ОБЪЕКТОВ ))) Вы условия не воспринимаете. Мы уходим от ООП, потому у нас нету объектов... Нету User... В лучшем случае есть getUserData которая вернёт хэш массив с данными. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2014, 14:56 |
|
||
|
PHP: Завершить выполнение кода из include-файла
|
|||
|---|---|---|---|
|
#18+
alex564657498765453Програмёрпропущено... неее ))) это не по условиям... у нас нету объектов :) А если объект = ассоциативный массив, то в чём разница? Получится то же самое, просто в EngineWrite сейчас передаётся несколько десятков аргументов явно, а в предложенном варианте они будут передаваться неявно (что ещё неудобнее). масив удобней ...часто какието параметры могут не передаваться. а я и так могу их не передавать )) Просто вместо них передавать заглушки типа null :) Но если вдруг появится модуль, которому нужна половина аргументов, то получим не очень удобный код ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2014, 14:58 |
|
||
|
PHP: Завершить выполнение кода из include-файла
|
|||
|---|---|---|---|
|
#18+
ПрограмёрНо если вдруг появится модуль, которому нужна половина аргументов, то получим не очень удобный код Как будто он щас удобный ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2014, 15:00 |
|
||
|
PHP: Завершить выполнение кода из include-файла
|
|||
|---|---|---|---|
|
#18+
ПрограмёрНЕТУ ОБЪЕКТОВ ))) Вы условия не воспринимаете. Мы уходим от ООП, потому у нас нету объектов... ... за ради интереса - а с чем связан уход от ООП? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2014, 15:08 |
|
||
|
PHP: Завершить выполнение кода из include-файла
|
|||
|---|---|---|---|
|
#18+
HettавторНе понял ) А что, в структурном программировании модульность отменили? А как же например dll файлы написанные на Cи, они уже не являются модулями приложения? )) Структурное программирование это что? С использованием только структур (т.е. не функциональное, не используя функций)? На Си вы не напишите даже модуля без объявления хотя бы одной функции и ваш подход там использовать не получится. авторТогда ядро движка уже не будет ядром, так как мне в его код надо будет лазить для включения нового модуля. Ядро движка, это че ваще такое? Вы вообще нормальную архитектуру программы хоть раз видели? Начинаю терять интерес к беседе :) 2 секунды и википедия отвечает структурное программирование Насчёт "ядро движка"... Неужели так сложно? :) Нормальная система - это система которая обладает полной модульностью не ограничивая модули в функциональности (ну или ограничивая только в целях безопасности функционирования системы в целом). Одним из примеров такой системы является ОС windows или unix. Если рассматривать эти системы, то несложно увидеть ядро, которое отвечает за загрузку приложений в память, распределение ресурсов и многое другое, а также модули (сами программы), которые позволяют расширить функционал системы до нужных пользователю. Там конечно структура сложнее... Есть модули, которые являются прослойками между ядром и программой... Примером такого модуля является драйвер, который позволяет выполнять некие действия, которые не предусматривает ядро системы (так как оно не нужно для работы программ в целом), но которое является промежуточным и напрямую не востребовано пользователем, а требуется именно в самом приложении для его правильной работы. Ну это если по простому. Как такая система функционирует? )) Она загружает из файла функцию под определённым именем и начинает её выполнение? НЕТ!!! Она загружает файл в память, определяет несколько переменных окружения для программы (то есть создаёт аналог глобальных переменных) и передаёт управление в определённую точку (у нас это начало файла). Вот чем занимается ядро... Аналог этой системы я и предлагаю на ПХП, только тут её структура в разы проще. Ядро - для загрузки модулей. Модуль - конечный продукт востребованный пользователем (ну или другим продуктом, который востребован пользователем). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2014, 15:15 |
|
||
|
PHP: Завершить выполнение кода из include-файла
|
|||
|---|---|---|---|
|
#18+
-k2-ПрограмёрНЕТУ ОБЪЕКТОВ ))) Вы условия не воспринимаете. Мы уходим от ООП, потому у нас нету объектов... ... за ради интереса - а с чем связан уход от ООП? Ну в моём случае (в системе которую я поддерживаю), потому что она начинала писаться в 97 году :) . Насколько я знаю тогда ООП не очень то развито было вроде :). Но факт остаётся фактом... есть системы, где использование ООП не практикуется. А уход от ООП в вопросе произошёл в момент когда представленный мной изначально код назвали говнокодом... вот с того момента и я стараюсь автору этого ответа пояснить случаи, когда именно этот код не будет говнокодом в отличие от любого другого (который я тоже уже предоставил) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2014, 15:19 |
|
||
|
PHP: Завершить выполнение кода из include-файла
|
|||
|---|---|---|---|
|
#18+
Про ядро и модули - полный бред ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2014, 15:21 |
|
||
|
PHP: Завершить выполнение кода из include-файла
|
|||
|---|---|---|---|
|
#18+
авторНормальная система - это система которая обладает полной модульностью не ограничивая модули в функциональности (ну или ограничивая только в целях безопасности функционирования системы в целом). Одним из примеров такой системы является ОС windows или unix. Да вы что, прям так и не ограничивает? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2014, 15:55 |
|
||
|
PHP: Завершить выполнение кода из include-файла
|
|||
|---|---|---|---|
|
#18+
ИзопропилПро ядро и модули - полный бред Вам виднее )) Бред из-за того что всё совсем иначе? (тогда как?) или из-за того что не понятно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2014, 15:56 |
|
||
|
PHP: Завершить выполнение кода из include-файла
|
|||
|---|---|---|---|
|
#18+
HettавторНормальная система - это система которая обладает полной модульностью не ограничивая модули в функциональности (ну или ограничивая только в целях безопасности функционирования системы в целом). Одним из примеров такой системы является ОС windows или unix. Да вы что, прям так и не ограничивает? :) ?! В чём ограничивает? Кроме, как я говорил уже, ограничений по безопасности. То есть запрета прямого вывода в порты устройств и других подобных ограничений? И то первое ограничение снимается с драйверов устройств насколько я помню (лично под ОС никогда драйвера не писал просто). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2014, 15:59 |
|
||
|
PHP: Завершить выполнение кода из include-файла
|
|||
|---|---|---|---|
|
#18+
встретились два одиночества. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2014, 16:36 |
|
||
|
PHP: Завершить выполнение кода из include-файла
|
|||
|---|---|---|---|
|
#18+
ScareCrowвстретились два одиночества. Дааааааааа..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2014, 17:42 |
|
||
|
PHP: Завершить выполнение кода из include-файла
|
|||
|---|---|---|---|
|
#18+
ТАК ПРОГРАММЕР 1)ты не понял намёк, ты написал про структурное - как антоним ооп, а тебя протролили..ведь структурное, это как бы антоним функциональному (это не там где функции и процедуры). ещо есть процедурное, которое ты имел ввиду скорей всего, но сказал структурное. 2)ты ставишь для себя рамки, изза которых в споре заведомо проиграешь. по твоим постам неявно прослеживаеться мысль. что есть куча идей твоих, есть куча идей опоннента. и один из вас дурак, а один умный. - ты сам то в такое веришь? все в чомто правы а в чомто ошибаються. нащот передачи масива вместо уже такого числа аргументов, ну я думаю ты уже даже переделал в своём коде на масив, так как это удобней(а прикинь конфиг прокидываеться через несколько функций :) ) так что давай чтоб беседа не потеряла смысл, там где трошки перегнул соглашайся, а там где касманавты говорят про то что, создание истребителя 5 поколения это отстой, ведь его нельзя будет потом гибко в шестое поколение переделать, нельзя будет как звездолёт использовать, а главное что он не сможет быть в составе космической ударной группы на космическом авианосце который будет патрулировать отдалёную галактику... там стой на своём. ибо пускай косманавты покажут пример кода, который они помимо расхваления , реально гибко применяли под разные проекты, ибо круто обобщили(и имено расширяли меняя серьёзно общую логику, а не тупо использовали как есть - гавнокод последний тоже всегда можно использовать как есть и сказать что он вечный). а то вот что удивительно - среднестатистический косманавт скажет что у него куча лет опыта в построении крутого кода с кучей патернов, и сейчас он пишет принципиально новый революционный клас для логирования скажем. и что больше всего удивляет. что основной аргумент таких космонавтов следующий поддержка кода, всё ради поддерки, особено если поддерживать будет другой человек. но вот что дивно - то что наделал один космонавт, другой косманавт не хочет использовать :) пока не запостят на гитхабе и статью на хабре не склепают. тогда он будет юзать это как решение некой команды джедаев обладающих силой, а про баги у трудности умалчивать... правда если выйдет статья про то что решение отстой, вот тогда он начнёт тоже лошить. это естественный процесс вообщето. точно такиеже процесы но вдругой интерпритации 1)похудание 2)борьба с курением, алкоголизмом 3)разные системы личностного роста и повышения эффективности 4)среди менеджеров тоже есть тонна теорий про то как эефективно управлять... и что интересно ни одна школа менеджмента не может похвастаться(вот великий менеджер стал виликим, ибо придерживался нашей школы) или доктор по похуданию тем что у него худают все и всегда или что у одного метода борбы с зависимостью результаты всегда с большим отрывом лучше чем у остальных (именно у метода, а не у одного доктора) чтоб было ясно - дело в методе а не в человеке его применяющего. споров куча, но никто не может показать убедительный результат превосходства. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2014, 17:56 |
|
||
|
PHP: Завершить выполнение кода из include-файла
|
|||
|---|---|---|---|
|
#18+
alex564657498765453, СОРИ пропустил концовку мысли ... а то вот что удивительно - среднестатистический косманавт скажет что у него куча лет опыта в построении крутого кода с кучей патернов, и сейчас он пишет принципиально новый революционный клас для логирования скажем. (тоесть за столько лет ему не надо было логирование?! конечно надо, и конечно писал, так почему не использовать крутое решение? и на базе него расширить, если дело в новом драйвере для логирования , или формат лога другой... или почему писать заново? чтож это за ооп такое что решаем задачу заново снуля.) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2014, 18:00 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=38662730&tid=1462721]: |
0ms |
get settings: |
6ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
56ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
| others: | 214ms |
| total: | 362ms |

| 0 / 0 |
