powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / PHP: Завершить выполнение кода из include-файла
25 сообщений из 54, страница 2 из 3
PHP: Завершить выполнение кода из include-файла
    #38662340
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HettПрограмёрТак что, в поддержание слова "говнокод" жду не говнокод в ответ :)
Думаю как завернуть этот же код хотя бы в функцию вы себе представить можете, поэтому не вижу смысла тратить время на ерунду, доказывая что-то тут :)

могу ))) Говорю же, что подобный код поддерживаю сейчас :)

Вот у нас умник какой-то завернул код в функцию, и теперь вызов функции, отвечающий за привязку модуля к админке выглядет вот так:
Код: php
1.
2.
3.
4.
5.
6.
7.
WritingEngine($CN1, $pageId, $actsite, $session_id, $page,
              $writestatus, $mode, $pageId_name, $Del, $menuname,
              $comment, $url, $file, $metadescr, $metakey, $title,
              $counters, $active, $visible, $printable, $year, $month, $day, $fio,
              $adminaction, $ulogin, $ipa, $ipb, $ipc, $ipd, $company,
              $email, $pass1, $pass2, $userId, $restoreword, $site,
              $param, $border, $UserId, $mysqlIds, $x, $y, $siteId,$eventact,$event_id,$title,$start,$end);



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

Ну как? удобнее стало, от того, что код в функцию завернули? или лучше было просто include вызывать с использованием только того, что надо модулю?
...
Рейтинг: 0 / 0
PHP: Завершить выполнение кода из include-файла
    #38662348
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
О каких модулях вы вообще говорите, если у вас там все работает на функциях и вообще не пойми как? Если бы ли бы дейстительно модули, таких городушек бы не возникало. Для начала установите у себя в голове правильное понятие модульности.

PS^ В любом случае этот вариант лучше с простым инклюдом хотя бы тем, что из модуля переменные случайно не поменяются, а то потом будете неделю ошибку искать.
...
Рейтинг: 0 / 0
PHP: Завершить выполнение кода из include-файла
    #38662350
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
*вариант с функцией лучше варианта с простым иклюдом
...
Рейтинг: 0 / 0
PHP: Завершить выполнение кода из include-файла
    #38662465
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HettО каких модулях вы вообще говорите, если у вас там все работает на функциях и вообще не пойми как?

Не понял ) А что, в структурном программировании модульность отменили? А как же например dll файлы написанные на Cи, они уже не являются модулями приложения? ))

Я ещё раз повторю задачу, есть список входных параметров, есть модули, которым из этого списка требуется лишь малая часть.

Ну например есть модуль личного кабинета (личные данные), который нуждается в знании данных пользователя для отображения, а есть модуль галереи, которой наплевать на данные пользователя, но обязательно требуется знать pageId для отображения правильного списка изображений, но в то же время есть модуль каталога, который предусматривает множество действий (просмотр товара, просмотр категории, управление товарами, управление категориями, сортировка, и т.д.), такому модулю надо знать pageId, $event_act, $UserId и возможно ещё какие-то данные. Есть модуль меню, которому надо знать тоже много разной инфы для работы. И тому подобное.

Как мне сделать систему единую для них всех, что бы потом её было легко расширять? Ведь для каждого модуля определять свою функцию загрузки - это убиться можно )) Тогда ядро движка уже не будет ядром, так как мне в его код надо будет лазить для включения нового модуля. Выход - универсальная функция, которая может подгрузить любой модуль. Вызов такой функции я привёл выше.
Второй выход - отказ от функции и вклинивание кода модуля в основной код ядра, что бы он работал с переменными движка и сам разбирал то, что ему нужно. Если появляется страх перед изменением переменных движка, то можно сделать так:
Код: php
1.
2.
3.
4.
5.
6.
<?php
loadModule1($arg1, $arg2, $arg3, $...);
function loadModule1($arg1, $arg2, $arg3, $...){
    //и тут сам код
}
?>


Однако в этом случае мы опять же не будем грузить в функцию модуля всё(!!!) что ему может понадобиться, а отдадим только нужное, и заниматься данными будет строго сам модуль, а не ядро. Ядро - оно просто эти данные готовит и грузит модуль через include, а уже модуль определяет что из них он будет пользовать.
...
Рейтинг: 0 / 0
PHP: Завершить выполнение кода из include-файла
    #38662605
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторНе понял ) А что, в структурном программировании модульность отменили? А как же например dll файлы написанные на Cи, они уже не являются модулями приложения? ))

Структурное программирование это что? С использованием только структур (т.е. не функциональное, не используя функций)? На Си вы не напишите даже модуля без объявления хотя бы одной функции и ваш подход там использовать не получится.

авторЯ ещё раз повторю задачу, есть список входных параметров, есть модули, которым из этого списка требуется лишь малая часть.

Ну например есть модуль личного кабинета (личные данные), который нуждается в знании данных пользователя для отображения, а есть модуль галереи, которой наплевать на данные пользователя, но обязательно требуется знать pageId для отображения правильного списка изображений, но в то же время есть модуль каталога, который предусматривает множество действий (просмотр товара, просмотр категории, управление товарами, управление категориями, сортировка, и т.д.), такому модулю надо знать pageId, $event_act, $UserId и возможно ещё какие-то данные. Есть модуль меню, которому надо знать тоже много разной инфы для работы. И тому подобное.

Ничего не мешает инициализировать модуль с нужными данными, а не так, чтобы модуль эти данные брал из глобальной области видимости. Вы потом переменную решите какую-то удалить и что, будете править все модули?

авторКак мне сделать систему единую для них всех, что бы потом её было легко расширять? Ведь для каждого модуля определять свою функцию загрузки - это убиться можно ))

Ну да, проще сговнокодить. Да и в чем сложность то?

авторТогда ядро движка уже не будет ядром, так как мне в его код надо будет лазить для включения нового модуля.

Ядро движка, это че ваще такое?

Вы вообще нормальную архитектуру программы хоть раз видели?
...
Рейтинг: 0 / 0
PHP: Завершить выполнение кода из include-файла
    #38662628
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Програмёр,

А вместо пачки параметров единственный объект "контекст" никак не передать?
...
Рейтинг: 0 / 0
PHP: Завершить выполнение кода из include-файла
    #38662633
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: php
1.
2.
3.
4.
5.
6.
7.
WritingEngine($CN1, $pageId, $actsite, $session_id, $page,
              $writestatus, $mode, $pageId_name, $Del, $menuname,
              $comment, $url, $file, $metadescr, $metakey, $title,
              $counters, $active, $visible, $printable, $year, $month, $day, $fio,
              $adminaction, $ulogin, $ipa, $ipb, $ipc, $ipd, $company,
              $email, $pass1, $pass2, $userId, $restoreword, $site,
              $param, $border, $UserId, $mysqlIds, $x, $y, $siteId,$eventact,$event_id,$title,$start,$end);



А код ваш подверждает еще раз, что качество кода у вас хромает в проекте. Во первых если это функция модуля, то она названа не правильно, т.к. по ее названию не ясно, что это за модуль вообще, да и вообще что она делает не понятно и почему суффикс ing? Половина переменных в верблюжем синтаксисе, половина с подчеркиванием, часть с большой буквы, часть с маленькой, где-то вообще все в нижнем регистре. Названия переменных тоже хз че и где. Где-то после запятой пробелов нету местами.
...
Рейтинг: 0 / 0
PHP: Завершить выполнение кода из include-файла
    #38662635
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилПрограмёр,

А вместо пачки параметров единственный объект "контекст" никак не передать?

Ну или хотя бы не единственный, даже несколько. В нормально приложении мог бы быть объект User из которого можно получить часть данных и т.п.
...
Рейтинг: 0 / 0
PHP: Завершить выполнение кода из include-файла
    #38662637
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или пусть даже супер-объект с набором всех модулей к которым можно было обращаться.
...
Рейтинг: 0 / 0
PHP: Завершить выполнение кода из include-файла
    #38662654
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилПрограмёр,

А вместо пачки параметров единственный объект "контекст" никак не передать?

неее ))) это не по условиям... у нас нету объектов :) А если объект = ассоциативный массив, то в чём разница? Получится то же самое, просто в EngineWrite сейчас передаётся несколько десятков аргументов явно, а в предложенном варианте они будут передаваться неявно (что ещё неудобнее).
...
Рейтинг: 0 / 0
PHP: Завершить выполнение кода из include-файла
    #38662660
alex564657498765453
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПрограмёрИзопропилПрограмёр,

А вместо пачки параметров единственный объект "контекст" никак не передать?

неее ))) это не по условиям... у нас нету объектов :) А если объект = ассоциативный массив, то в чём разница? Получится то же самое, просто в EngineWrite сейчас передаётся несколько десятков аргументов явно, а в предложенном варианте они будут передаваться неявно (что ещё неудобнее).

масив удобней ...часто какието параметры могут не передаваться.
...
Рейтинг: 0 / 0
PHP: Завершить выполнение кода из include-файла
    #38662662
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HettИзопропилПрограмёр,

А вместо пачки параметров единственный объект "контекст" никак не передать?

Ну или хотя бы не единственный, даже несколько. В нормально приложении мог бы быть объект User из которого можно получить часть данных и т.п.

НЕТУ ОБЪЕКТОВ ))) Вы условия не воспринимаете. Мы уходим от ООП, потому у нас нету объектов... Нету User... В лучшем случае есть getUserData которая вернёт хэш массив с данными.
...
Рейтинг: 0 / 0
PHP: Завершить выполнение кода из include-файла
    #38662664
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex564657498765453Програмёрпропущено...


неее ))) это не по условиям... у нас нету объектов :) А если объект = ассоциативный массив, то в чём разница? Получится то же самое, просто в EngineWrite сейчас передаётся несколько десятков аргументов явно, а в предложенном варианте они будут передаваться неявно (что ещё неудобнее).

масив удобней ...часто какието параметры могут не передаваться.

а я и так могу их не передавать )) Просто вместо них передавать заглушки типа null :) Но если вдруг появится модуль, которому нужна половина аргументов, то получим не очень удобный код
...
Рейтинг: 0 / 0
PHP: Завершить выполнение кода из include-файла
    #38662671
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПрограмёрНо если вдруг появится модуль, которому нужна половина аргументов, то получим не очень удобный код
Как будто он щас удобный
...
Рейтинг: 0 / 0
PHP: Завершить выполнение кода из include-файла
    #38662685
Фотография -k2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПрограмёрНЕТУ ОБЪЕКТОВ ))) Вы условия не воспринимаете. Мы уходим от ООП, потому у нас нету объектов... ...
за ради интереса - а с чем связан уход от ООП?
...
Рейтинг: 0 / 0
PHP: Завершить выполнение кода из include-файла
    #38662695
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HettавторНе понял ) А что, в структурном программировании модульность отменили? А как же например dll файлы написанные на Cи, они уже не являются модулями приложения? ))

Структурное программирование это что? С использованием только структур (т.е. не функциональное, не используя функций)? На Си вы не напишите даже модуля без объявления хотя бы одной функции и ваш подход там использовать не получится.

авторТогда ядро движка уже не будет ядром, так как мне в его код надо будет лазить для включения нового модуля.

Ядро движка, это че ваще такое?

Вы вообще нормальную архитектуру программы хоть раз видели?

Начинаю терять интерес к беседе :) 2 секунды и википедия отвечает структурное программирование

Насчёт "ядро движка"... Неужели так сложно? :)
Нормальная система - это система которая обладает полной модульностью не ограничивая модули в функциональности (ну или ограничивая только в целях безопасности функционирования системы в целом).
Одним из примеров такой системы является ОС windows или unix. Если рассматривать эти системы, то несложно увидеть ядро, которое отвечает за загрузку приложений в память, распределение ресурсов и многое другое, а также модули (сами программы), которые позволяют расширить функционал системы до нужных пользователю. Там конечно структура сложнее... Есть модули, которые являются прослойками между ядром и программой... Примером такого модуля является драйвер, который позволяет выполнять некие действия, которые не предусматривает ядро системы (так как оно не нужно для работы программ в целом), но которое является промежуточным и напрямую не востребовано пользователем, а требуется именно в самом приложении для его правильной работы.
Ну это если по простому.

Как такая система функционирует? )) Она загружает из файла функцию под определённым именем и начинает её выполнение? НЕТ!!! Она загружает файл в память, определяет несколько переменных окружения для программы (то есть создаёт аналог глобальных переменных) и передаёт управление в определённую точку (у нас это начало файла). Вот чем занимается ядро... Аналог этой системы я и предлагаю на ПХП, только тут её структура в разы проще.

Ядро - для загрузки модулей. Модуль - конечный продукт востребованный пользователем (ну или другим продуктом, который востребован пользователем).
...
Рейтинг: 0 / 0
PHP: Завершить выполнение кода из include-файла
    #38662701
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-k2-ПрограмёрНЕТУ ОБЪЕКТОВ ))) Вы условия не воспринимаете. Мы уходим от ООП, потому у нас нету объектов... ...
за ради интереса - а с чем связан уход от ООП?

Ну в моём случае (в системе которую я поддерживаю), потому что она начинала писаться в 97 году :) . Насколько я знаю тогда ООП не очень то развито было вроде :). Но факт остаётся фактом... есть системы, где использование ООП не практикуется.

А уход от ООП в вопросе произошёл в момент когда представленный мной изначально код назвали говнокодом... вот с того момента и я стараюсь автору этого ответа пояснить случаи, когда именно этот код не будет говнокодом в отличие от любого другого (который я тоже уже предоставил)
...
Рейтинг: 0 / 0
PHP: Завершить выполнение кода из include-файла
    #38662706
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Про ядро и модули - полный бред
...
Рейтинг: 0 / 0
PHP: Завершить выполнение кода из include-файла
    #38662730
Фотография Hett
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторНормальная система - это система которая обладает полной модульностью не ограничивая модули в функциональности (ну или ограничивая только в целях безопасности функционирования системы в целом).
Одним из примеров такой системы является ОС windows или unix.
Да вы что, прям так и не ограничивает? :)
...
Рейтинг: 0 / 0
PHP: Завершить выполнение кода из include-файла
    #38662733
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилПро ядро и модули - полный бред

Вам виднее )) Бред из-за того что всё совсем иначе? (тогда как?)
или из-за того что не понятно?
...
Рейтинг: 0 / 0
PHP: Завершить выполнение кода из include-файла
    #38662737
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HettавторНормальная система - это система которая обладает полной модульностью не ограничивая модули в функциональности (ну или ограничивая только в целях безопасности функционирования системы в целом).
Одним из примеров такой системы является ОС windows или unix.
Да вы что, прям так и не ограничивает? :)
?! В чём ограничивает? Кроме, как я говорил уже, ограничений по безопасности. То есть запрета прямого вывода в порты устройств и других подобных ограничений? И то первое ограничение снимается с драйверов устройств насколько я помню (лично под ОС никогда драйвера не писал просто).
...
Рейтинг: 0 / 0
PHP: Завершить выполнение кода из include-файла
    #38662770
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
встретились два одиночества.
...
Рейтинг: 0 / 0
PHP: Завершить выполнение кода из include-файла
    #38662840
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ScareCrowвстретились два одиночества.

Дааааааааа.....
...
Рейтинг: 0 / 0
PHP: Завершить выполнение кода из include-файла
    #38662851
alex564657498765453
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТАК

ПРОГРАММЕР
1)ты не понял намёк, ты написал про структурное - как антоним ооп, а тебя протролили..ведь структурное, это как бы антоним функциональному (это не там где функции и процедуры). ещо есть процедурное, которое ты имел ввиду скорей всего, но сказал структурное.

2)ты ставишь для себя рамки, изза которых в споре заведомо проиграешь. по твоим постам неявно прослеживаеться мысль.
что есть куча идей твоих, есть куча идей опоннента. и один из вас дурак, а один умный. - ты сам то в такое веришь? все в чомто правы а в чомто ошибаються.

нащот передачи масива вместо уже такого числа аргументов, ну я думаю ты уже даже переделал в своём коде на масив, так как это удобней(а прикинь конфиг прокидываеться через несколько функций :) )

так что давай чтоб беседа не потеряла смысл, там где трошки перегнул соглашайся, а там где касманавты говорят про то что, создание истребителя 5 поколения это отстой, ведь его нельзя будет потом гибко в шестое поколение переделать, нельзя будет как звездолёт использовать, а главное что он не сможет быть в составе космической ударной группы на космическом авианосце который будет патрулировать отдалёную галактику... там стой на своём. ибо пускай косманавты покажут пример кода, который они помимо расхваления , реально гибко применяли под разные проекты, ибо круто обобщили(и имено расширяли меняя серьёзно общую логику, а не тупо использовали как есть - гавнокод последний тоже всегда можно использовать как есть и сказать что он вечный). а то вот что удивительно -
среднестатистический косманавт скажет что у него куча лет опыта в построении крутого кода с кучей патернов, и сейчас он пишет принципиально новый революционный клас для логирования скажем. и что больше всего удивляет. что основной аргумент таких космонавтов следующий

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

это естественный процесс вообщето. точно такиеже процесы но вдругой интерпритации
1)похудание
2)борьба с курением, алкоголизмом
3)разные системы личностного роста и повышения эффективности
4)среди менеджеров тоже есть тонна теорий про то как эефективно управлять...

и что интересно ни одна школа менеджмента не может похвастаться(вот великий менеджер стал виликим, ибо придерживался нашей школы)

или доктор по похуданию тем что у него худают все и всегда

или что у одного метода борбы с зависимостью результаты всегда с большим отрывом лучше чем у остальных (именно у метода, а не у одного доктора) чтоб было ясно - дело в методе а не в человеке его применяющего.

споров куча, но никто не может показать убедительный результат превосходства.
...
Рейтинг: 0 / 0
PHP: Завершить выполнение кода из include-файла
    #38662855
alex564657498765453
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex564657498765453,

СОРИ пропустил концовку мысли

...
а то вот что удивительно -
среднестатистический косманавт скажет что у него куча лет опыта в построении крутого кода с кучей патернов, и сейчас он пишет принципиально новый революционный клас для логирования скажем. (тоесть за столько лет ему не надо было логирование?! конечно надо, и конечно писал, так почему не использовать крутое решение? и на базе него расширить, если дело в новом драйвере для логирования , или формат лога другой... или почему писать заново? чтож это за ооп такое что решаем задачу заново снуля.)
...
Рейтинг: 0 / 0
25 сообщений из 54, страница 2 из 3
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / PHP: Завершить выполнение кода из include-файла
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]