|
0 / 0 / 1
Регистрация: 30.04.2014
Сообщений: 13
|
||||||
Устранение дублирования14.09.2017, 22:10. Показов 3035. Ответов 38
Метки нет (Все метки)
Приветствую участников форума!
Какие есть варианты сабжа к такому:
Каким образом можно устранить это дублирование? Думал вынести эти методы в классы с общим методом, который в конце заменяет строку на сформированное значение, но тогда в текущем экземпляре необходимо изменить $this->_body_content, а это выходит - шило на мыло. Единственное с этим вариантом, наверное, можно инициализировать классы с ссылкой на $this->_body_content чтобы не возвращать его?
0
|
||||||
| 14.09.2017, 22:10 | |
|
Ответы с готовыми решениями:
38
Как можно избежать дублирования постов? Устранение ошибок |
|
89 / 87 / 49
Регистрация: 09.10.2014
Сообщений: 571
|
|
| 07.10.2017, 19:08 | |
|
andr-xw. насчёт унификации, простоты обучения и поиска ответов глубоко сомневаюсь.. Друг мне рассказывал за чела, который нахваливалнахваливал плюсы фреймворков, полгода прошло,так и до сих пор с форумов не вылазит)) Очень сильно сомневаюсь что это экономит время. В самописе проще разобраться, а значит, и быстрее. Плюс потеря гибкости. У меня написан движок, в котором роуты построены на регулярных выражениях изначально, понимаешь вкус прикола?) А маленькие или большие сайты делать - это совершенно неважно. Что добавить новый контроллер в свою реализацию, что в чужую, всё равно писать придётся, за тебя этого никто не сделает, isn`t it? И я встречался не с одной реализацией с косяком index.php, а с двумя и это уже попахивает плохой тенденцией, а не случайностью.
0
|
|
|
123 / 77 / 33
Регистрация: 05.03.2013
Сообщений: 449
|
|
| 07.10.2017, 19:54 | |
|
sash, ты просто цепляешься за идею знать весь код как свои 5 пальцев. Но это совсем не обязательно. Работа с фреймворком это в том числе работа с гуглом, какие-то часто используемые вещи ты запомнишь, но остальные ты будешь гуглить и через 5 лет. И это нормально. И это все равно быстрее, чем писать самому. В php ты тоже не помнишь все функции и классы наизусть и многое приходится гуглить.
В самописи разобраться сложнее. Документации к ней обычно нет. Комментариев в коде тоже. Приходится читать сам код, который чаще всего не лучшего качества. Он и в фреймворках не всегда идеален, но там от него можно абстрагироваться и обойтись документацией. А в велосипедах нет. Роуты на регулярках на самом деле очень не гибки. Попробуй сделать обратную конвертацию контроллера/экшна/параметров обратно в урл, описанный в регулярке. А вот тенденции с index.php как раз обратные, все чаще точку входа именуют public/index.php, что возвращает нас на 15 лет назал, во времена шаред хостингов, когда точка входа называлась public_html/index.html
0
|
|
|
3900 / 3238 / 1353
Регистрация: 01.08.2012
Сообщений: 10,914
|
|||
| 07.10.2017, 21:04 | |||
|
Свой движок хорошо подходит для саморазвития, ну и для решений типичных задач клиентов - сайты-визитки, блоги и т.п. Для серьёзных проектов брать самописку бессмысленно - на доработку движка уйдёт гораздо больше времени, чем на изучение аналогичного функционала в фреймворке. Фреймворк - не волшебная палочка. Это инструмент, который тоже нужно уметь использовать. Вы в любом случае будете использовать сторонние решения, тот же PHPExcel к примеру. Вопрос только в том, почему подобные библиотеки никто с нуля писать не хочет, а тот же Router или Request должен быть свой.
0
|
|||
|
89 / 87 / 49
Регистрация: 09.10.2014
Сообщений: 571
|
|
| 08.10.2017, 18:03 | |
|
andr-xw, я честно пытался выучить фреймворки много раз. Но меня тошнит и воротит от них на второй день. Это просто чудовищно что там наворочено.. Душа художника не выдерживает
Лучше взять кусок сырой глины и нужные инструменты и вылепить что нужно, чем переделывать статую Венеры в Геркулеса. И удовольствие получишь и времени Меньше потратишь, не говоря уже про нервы. Раз напишешь и можешь ездить))) В качестве инструментов классно взять готовые решения (библиотеки, частичные решения), конечно не стоит писать свою джейкверю заново, но СКОМПОНОВАТЬ и выстроить свою структуру лучше самостоятельно. Я опытным путём прихожу к настолько простым решениям, что просто смешно в чужом копаться. Это доступно любому джуну. Ты только представь себе мучения бедных хомячков, если бы ВК или фэйсбук стояли на фреймворках Я за ручную работу, я на это не куплюсь, на эти фреймворки и цмс, слишком большую цену приходится платить за это бесплатное)
0
|
|
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
||||
| 08.10.2017, 18:24 | ||||
|
0
|
||||
|
89 / 87 / 49
Регистрация: 09.10.2014
Сообщений: 571
|
||||
| 08.10.2017, 20:11 | ||||
Неужели непонятно, что это коммерческий замут с этими фреймворками, галимый разводняк и головная боль(( Это должно быть написано просто и понятно, убраны все косяки, такие, например, как с индекс.похапе. Почему я должен этим заниматься, для кого и для чего это было сделано? Для облегчения или офигевания?? Всё гениальное - просто, это понятно, на нём много не заработаешь и жизнь его развитию и продвижению не посвятишь. Это можно усложнять бесконечно до тех пор пока там сам чёрт с божьей помощью перестанет разбираться)
0
|
||||
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
||||||||||
| 08.10.2017, 22:04 | ||||||||||
ЩИТО?
1
|
||||||||||
|
3900 / 3238 / 1353
Регистрация: 01.08.2012
Сообщений: 10,914
|
||||
| 08.10.2017, 23:44 | ||||
|
Сегодня для работы с БД достаточно пары функций вроде select и selectRow, завтра понадобится ещё десяток, послезавтра окажется, что для некоторых проектов гораздо проще использовать ActiveRecord или DataMapper. Потом захочется быстро настраивать связи между таблицами и т.д. В итоге всё равно придёте к своему Геркулесу, только окажется, что он гораздо хуже аналогов и нет смысла продолжать его развитие. 2. Если вы знакомы с фреймворком, на котором сделан сайт, логику работы поймёте в разы быстрей, поскольку уже знаете возможности движка.
0
|
||||
|
89 / 87 / 49
Регистрация: 09.10.2014
Сообщений: 571
|
|||||||
| 09.10.2017, 00:20 | |||||||
) Гораздо свободнее начать с меньшего, без этих html-хелперов для недоумков, шаблонизаторов и прочих фунционалов. Навалили кучу, а вы гребитесь в этом как хотите
0
|
|||||||
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
|||||
| 09.10.2017, 00:49 | |||||
|
Ок, я хочу увидеть что мне надо записать в этот массив, чтобы получить следующее Хорошо, например я хочу на сделать следующие роуты: GET /api/post?page={page}&per_page={per_page} GET /api/post/{id} POST /api/post PUT /api/post/{id} DELETE /api/post/{id} get запросы могут делать все, остальные пользователи группы ROLE_ADMIN оканчиваться они могут на .json и .xml, по-умолчанию формат json. Соответственно если формат json - данные приходят в json, отдавать надо в json, если xml то соответственно в xml. Такой простой REST API получился. Встречается повсеместно. Ну и покрыть тестами хочу.
0
|
|||||
|
89 / 87 / 49
Регистрация: 09.10.2014
Сообщений: 571
|
|||||||
| 09.10.2017, 01:43 | |||||||
|
Jewbacabra,
на /api/post?page={page}&per_page={per_page}
0
|
|||||||
|
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
|
||||||
| 09.10.2017, 01:53 | ||||||
|
В общем пока не столкнешься с проектом сложнее блога и небольшого ИМ не оценишь все ништяки которые предоставляет нормальный фреймворк.
0
|
||||||
|
89 / 87 / 49
Регистрация: 09.10.2014
Сообщений: 571
|
|||
| 09.10.2017, 02:06 | |||
![]()
0
|
|||
|
123 / 77 / 33
Регистрация: 05.03.2013
Сообщений: 449
|
|
| 09.10.2017, 03:23 | |
|
sash, если не секрет, сколько тебе лет?
0
|
|
|
89 / 87 / 49
Регистрация: 09.10.2014
Сообщений: 571
|
|
| 09.10.2017, 03:26 | |
|
andr-xw, тебе зачем?
0
|
|
|
123 / 77 / 33
Регистрация: 05.03.2013
Сообщений: 449
|
|
| 09.10.2017, 03:39 | |
|
sash, ну из твоих постов я сделал вывод, что перед тобой не стоит насущной проблемы зарабатывать себе на хлеб, у тебя дофига свободного времени и ты можешь тратить его на то, что тебе просто интересно. И если предположить, что ты школьник, или в крайнем случае студент, который живет с родителями, которые тебя содержат - то все складывается)))
Ну или ты просто очень толстый троль, такого варианта тоже нельзя исключать)))
0
|
|
|
89 / 87 / 49
Регистрация: 09.10.2014
Сообщений: 571
|
|
| 09.10.2017, 14:45 | |
|
andr-xw, Всё ещё хуже.. Тот неловкий момент, когда мама срывает с меня одеяло, а у меня стояк.. А мне ещё колготки в садик одевать
0
|
|
|
123 / 77 / 33
Регистрация: 05.03.2013
Сообщений: 449
|
|
| 09.10.2017, 15:02 | |
|
sash, даже не знаю, радоваться мне или сочувствовать...
0
|
|
|
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
|
|||||||||||||||||||
| 09.10.2017, 16:32 | |||||||||||||||||||
2) Если у вас есть гениальное решение с экранированием без написания хелперов, поделитесь. 3) Зачем свои хелперы, когда есть готовые. В 99% случаях их достаточно. Вообще экранирование это мелочь. Вы попробуйте наследование шаблонов написать. Вот это реально полезная штука.
Документацию всю учить не нужно. Вы же не учили документацию php на 100%?
2) Все зависимости фреймворка лежат в отдельной папке и при желании можно легко и быстро скачать заново. 3) Любые изменения фиксируются системой контроля версий. Отменяются одним кликом.
2) "копировать-вставить" и "творчество" явно не совместимые понятия. 3) Допустим вы уверены в своем движке. А другой человек? Например принесет заказчик написанный вами проект другому программисту, а тот в ответ "тут ничего не понятно, надо переписать с нуля" и будет делать абсолютно тоже самое но на своем движке, т.к. только в своем движке он уверен. 4) Радость понятие субъективное. В начале пути я любил копаться в коде и писать велосипеды. Потом я абстрагировался от конкретных инструментов и начал мыслить проектами - главное решить задачу. Сейчас же и это начинаю перерастать, пора работать на себя, а не на дядю.
Опыт не теряется даже при смене языка. Недавно пришлось впервые писать проект на node.js. Первый день я побаловался со своим движком, оценил затраты времени на изучение, плюнул и начал искать фреймворк. Нашел adonis.js, по сути аналог laravel но на node.js. Работал на нем как на родном, не зная толком ни node.js ни даже сам js.
В конце у вас идет пример движка. Ок, смотрим. 1) В глаза сразу же бросается mainPages.sql. Т.е. миграций нет, надо ручками все запросы править? 2) Контроллер жестко связывается с одной моделью. Ну да, очень гибко. К слову, модель это не класс, а целый слой. 3) При обработке эксепшнов вижу echo "Ошибка конструктора". echo "Ошибка выборки из БД". Вы серьезно такое пользователю показываете? 4) Функционал очень скудный. Где валидация, авторизация, роли, очереди, кэш, нормальные логи, отправка на почту, ORM, поддержка консольных скриптов, поддержка разных БД и нескольких коннектов одновременно...да тот же csrf в 2 строчки. Где обещанное вами "один раз напиши и пользуйся своим проверенным"?
0
|
|||||||||||||||||||
| 09.10.2017, 16:32 | |
|
Устранение избыточного кода Как избавится от дублирования страниц в постраничной навигации в PHP Устранение пустого действия после if Дублирования поля
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Запрет пометки на удаление и отмены проведения
Maks 16.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "ПутевойЛист" разработанного в КА2.
Задача: запретить помечать на удаление и отменять проведения путевого листа при условии, если он сдан. . .
|
Как надо было делать правильно - вообще не слушать ИИ, его дело - текст.
Hrethgir 15.07.2026
А вообще надо было делать не так, чтобы не исправлять ошибку https:/ / www. cyberforum. ru/ blogs/ 223907/ 10996. html , правильно было : удалил кнопку, а потом добавил её.
Всё это стресс конечно. Почему?. . .
|
Знаете, от чего появляется стресс?
kumehtar 15.07.2026
Стресс появляется оттого, что вы, зная как поступить правильно, делаете наоборот.
Ларри Уингет
|
Нас бьют, а мы крепчаем? Какая чушь!
kumehtar 15.07.2026
Вот это вот бытующее мнение, что человек меняется только под действием проблем, всегда считал вредоносным. Поверь, от проблем у людей появляются не изменения, а нервное расстройство и ПТСР. А. . .
|
|
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров
В текущей версии модели успешно реализован ключевой механизм. . .
|
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям
Реализованные компоненты:
Механизм закисления почвы через протонную помпу
Конкуренция между типами микориз
pH как триггер сукцессии
C/ P соотношение. . .
|
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
|
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
|