|
Заблокирован
|
|
PHP приложение на чистом процедурном стиле27.09.2018, 20:54. Показов 5330. Ответов 55
Доброго времени суток! Изучаю пхп и пытаюсь написать что то большое. Но пока не изучил ООП. Все говорят что можно большие приложения и без ООП написать. Но не смог найти примеры таких реализации. Что имело бы единую точку входа, использовало что то вроде роутинга и легко поддерживался и расширялся. Если кто нибудь знает где найти, имеет соображения или имеет какие то исходники прошу поделиться?
0
|
|
| 27.09.2018, 20:54 | |
|
Ответы с готовыми решениями:
55
[Mono] Приложение на чистом .Net и Mono Оконное приложение на чистом Win API |
|
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
|
|||
| 29.09.2018, 14:21 | |||
|
Для работы с плагинами в системе изначально должен быть соответствующий код, неважно ООП или процедурный. В ООП это может быть например класс PluginLoader, который берет плагины из папки и работает с ними через интерфейс.
0
|
|||
|
|
||
| 29.09.2018, 14:43 | ||
|
Глобальные переменные, как говорят - зло, однако в классе те же самые глобальные переменные просто внутри класса, а методы на них жёстко завязаны. Да ещё каждый класс тянет за собой внутри много всего на всякий случай и по разному поводу, а обьектам иногда этого не нужно, ибо работают с одним методом, отсюда перерасход памяти.
1
|
||
|
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
|
||||||||
| 29.09.2018, 15:29 | ||||||||
![]() Если мне нужно изменить класс, то я меняю класс. Проблем в этом не вижу. Вы напишите код аналогичный как у andyyy, но в процедурном стиле. Сравним "тормоза, зависимости, сложность кода". Кстати, может открою для вас америку, но давно уже есть автозагрузчик классов, который грузит только то, что нужно. А у вас небось везде
0
|
||||||||
|
|
|||
| 29.09.2018, 16:19 | |||
|
0
|
|||
|
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
|
|||||
| 29.09.2018, 19:12 | |||||
![]() И про какие тормоза вы постоянно говорите я хз. У нас в компании с десяток микросервисов, которые мало того что все ООП, так еще и общаются друг с другом по АПИ и всё нормально. Сдается мне один из нас все-таки индус. И это точно не я.
0
|
|||||
| 29.09.2018, 19:39 | ||||
|
Добавлено через 5 минут Плюсы ООП - это систематизация, легкость расширения. ООП актуально, в основном, при командной работе, когда часто меняются разработчики. Минусы - тормоза по сравнению с процедурным подходом.
0
|
||||
|
Заблокирован
|
|
| 05.10.2018, 00:14 [ТС] | |
|
Доброго времени суток! Спасибо всем за такой оживленный спор) Из-за загруженности на работе давно не заходил на форум. Сейчас два часа ночи по нашему времени. На процедурном стиле хотел попробовать для опыта как дань уважения истории ПХП. Ведь он был изначально процедурным. Хороший пример нашел здесь https://elisdn.ru/blog/47/rout... l-managing. И здесь же познакомился с ООП. Прочитал про компосер, шаблонизаторы, пср, и многое друое. Думаю что бы быть востребованным все же придется изучить все это вместе с ООП. Спасибо всем!
0
|
|
|
377 / 319 / 73
Регистрация: 15.09.2017
Сообщений: 1,436
|
|
| 05.10.2018, 08:23 | |
|
Это несомненно. Но приложения, написанные с использованием процедурного стиля, - вовсе не извращения, как некоторые тут пытались показать. Они также хорошо поддаются структурированию, поддержке и т.д. Кто этого не понимает, явно ни разу ничего подобного не писал и просто высказывает свои предпочтения на пустой сравнительной базе (по-русски это часто немного по-другому называют). Успехов в освоении языка!
0
|
|
|
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
|
||
| 05.10.2018, 10:04 | ||
|
0
|
||
|
|
|||
| 05.10.2018, 11:46 | |||
|
0
|
|||
|
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
|
|||
| 05.10.2018, 12:15 | |||
|
0
|
|||
|
|
||
| 05.10.2018, 14:51 | ||
|
0
|
||
|
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
|
||
| 05.10.2018, 17:34 | ||
|
В общем примера мы видимо не увидим, ООП -> AUTO WIN.
0
|
||
|
936 / 693 / 236
Регистрация: 01.02.2015
Сообщений: 1,848
|
||||||
| 05.10.2018, 18:28 | ||||||
От себя хочу отметить, что писать красиво в процедурном стиле вы буде когда выучите ООП Тогда, когда вы будете четко понимать минусы и преимущества подхода Холиварить же на данную тему можно много, все равно, что обсуждать какую нотацию использовать в объявлении переменных P.S. Попробуйте писать на Go
1
|
||||||
|
377 / 319 / 73
Регистрация: 15.09.2017
Сообщений: 1,436
|
|||
| 05.10.2018, 19:24 | |||
|
tarasalk, с вашей космической логикой трудно спорить:
0
|
|||
|
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
|
|||
| 05.10.2018, 20:52 | |||
|
Fedor Vlasenko, вот, хоть кто-то код написал. Но, увы, это не аналог примера на ООП.
Очевидно что в проекте на 22 строчки ООП не нужен. Но что будет при увеличении сложности системы? Чем заменяется наследование, абстракции... неужели всё дублируется? Что с областью видимости? Вот тут неплохо описаны некоторые из проблем, про которые я говорю. Еще интересно про тесты послушать, как там подменяются зависимости.
0
|
|||
|
377 / 319 / 73
Регистрация: 15.09.2017
Сообщений: 1,436
|
|
| 05.10.2018, 21:28 | |
|
tarasalk, вы про извращения написали в своем первом сообщении применительно к процедурному стилю в целом.
0
|
|
|
936 / 693 / 236
Регистрация: 01.02.2015
Сообщений: 1,848
|
|||
| 05.10.2018, 22:09 | |||
|
0
|
|||
|
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
|
||||
| 05.10.2018, 23:40 | ||||
|
От ТС есть конкретный кейс - показать примеры проектов с использованием чисто процедурного кода. Я как бы сразу намекнул что это плохая идея, но адепты процедурок со мной не согласились. Тем не менее нормальных примеров предоставлено так и не было. Я видел отсылку на древний PHP Nuke, видел простейший проект на 22 строчки и это в лишний раз подтвердило мое мнение. Процедурки не подходят для серьезных современных PHP проектов. Могу сделать исключение для каких-нибудь super highload, и то там далеко не только процедурки идут.
0
|
||||
|
936 / 693 / 236
Регистрация: 01.02.2015
Сообщений: 1,848
|
|||
| 06.10.2018, 00:09 | |||
|
есть разные задачи и разные решения для этих задач, решение, язык, реализацию выбирает программист исходя из своего опыта если вы видите решение только в ООП, то это говорит о ваших знаниях и подходе другой может это решить красивее и изящнее исходя из своего опыта и тут чье решение будет быстрее, рациональнее того и тапочки вне зависимости от какого стиля программирования в нем было использовано
0
|
|||
| 06.10.2018, 00:09 | |
|
Можно ли создать приложение под Android на чистом С++? О чистом коде html,css,js,php сайт на чистом php плюсы и минусы Как сделать приложение в стиле Office 2007 в VS2008 Можно ли в css стиле(на HTML странице) использовать php? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства.
Жизнь действительно предъявляет каждому. . .
|
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
|
Лето уходит
kumehtar 17.08.2026
|
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
|
|
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины".
За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html
Задача: . . .
|
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|