|
160 / 159 / 59
Регистрация: 19.02.2015
Сообщений: 830
|
||||||
Насколько можно оптимизировать?22.08.2016, 21:39. Показов 1669. Ответов 20
Метки нет (Все метки)
Здравствуйте!
Написал контроллер, который выводит данные из БД с возможностью удалить любые данные. Интересует, можно ли написать подобный код короче и что можно изменить в текущем в сторону его улучшения...
0
|
||||||
| 22.08.2016, 21:39 | |
|
Ответы с готовыми решениями:
20
Насколько можно оптимизировать этот программный код? Насколько можно разогнать камень? |
|
160 / 159 / 59
Регистрация: 19.02.2015
Сообщений: 830
|
|
| 23.08.2016, 06:58 [ТС] | |
|
и вот такая структура пойдет?)
0
|
|
|
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
|
|||||||
| 23.08.2016, 19:20 | |||||||
|
Не стоит данные записывать в свойство
$this->data, если Вы их устанавливаете только для текущего метода.Достаточно локальной переменной в методе. То есть:
Далее, эта конструкция switch не добавляет качества. Сдаётся мне, что можно выполнить лучше. В чём различия вызываемых методов в switch? Добавлено через 6 минут Файл "functions.php", что в папке с моделями, обычно принято называть "helpers.php". Ну это чтобы совсем красиво. И в папке с моделями ему тоже не место, я думаю. Только куда её перенести, я ещё не придумал.
1
|
|||||||
|
160 / 159 / 59
Регистрация: 19.02.2015
Сообщений: 830
|
||||||||||
| 23.08.2016, 19:23 [ТС] | ||||||||||
Добавлено через 1 минуту
0
|
||||||||||
|
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
|
|||||||
| 23.08.2016, 19:35 | |||||||
Добавлено через 5 минут Switch пока не трогаю -- боюсь, за ним потянется куча других изменений.Добавлено через 1 минуту Почему у Вас для удаления разных сущностей используется флаг в $this->data['del']?
1
|
|||||||
|
160 / 159 / 59
Регистрация: 19.02.2015
Сообщений: 830
|
|||
| 23.08.2016, 19:42 [ТС] | |||
|
А рядом с каждым из этих элементов - ссылка "Удалить". Я не придумал другого метода формирования ссылки, кроме как в GET del передавать "что_удаляем"&"по_какому_параметру(id)". .. Можно конечно к каждому элементу добавить форму с чекбоксом, но это по сути то же самое, только через POST...
0
|
|||
|
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
|
||||
| 23.08.2016, 20:00 | ||||
Singleton. В других случаях он не нужен.switch отношения не имеет, но на будущее скажу: удаление нужно делать только через POST/DELETE запрос.Потому что некоторые обозреватели имеют функцию предварительной загрузки страниц и могут перейти по этим ссылкам, совершив таким образом запрос на удаление. С POST такого не произойдёт.
1
|
||||
|
160 / 159 / 59
Регистрация: 19.02.2015
Сообщений: 830
|
||||
| 23.08.2016, 20:14 [ТС] | ||||
$db->Delete(***)
0
|
||||
|
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
|
|||
| 23.08.2016, 20:26 | |||
|
1
|
|||
|
160 / 159 / 59
Регистрация: 19.02.2015
Сообщений: 830
|
|||||||||
| 23.08.2016, 20:30 [ТС] | |||||||||
|
Кликните здесь для просмотра всего текста
0
|
|||||||||
|
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
|
|
| 23.08.2016, 20:32 | |
|
Вот я думаю, почему бы этот switch не разложить по разным методам контроллера? Если маршрутизатор позволяет это сделать. Иначе и его поменять можно.
1
|
|
|
160 / 159 / 59
Регистрация: 19.02.2015
Сообщений: 830
|
||||||||||||||||||||||||||||
| 23.08.2016, 20:44 [ТС] | ||||||||||||||||||||||||||||
|
Я уже вам как-то раз скидывал логику работы этого проекта. В индекс вызываем нужный контроллер, а затем метод request (он в C_Controller). На примере C_Info:
Кликните здесь для просмотра всего текста
C_Base: Кликните здесь для просмотра всего текста
C_Info: Кликните здесь для просмотра всего текста
Добавлено через 2 минуты
0
|
||||||||||||||||||||||||||||
|
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
|
|||||||
| 23.08.2016, 20:58 | |||||||
Сообщение было отмечено Serj190492 как решение
Решение
Сейчас разбираться времени особо нет. Положим, если сделать такой контроллер:
OnInput() допустим?Если можно вызвать -- хорошо. Если нет -- придётся оставить, как есть. Добавлено через 1 минуту
1
|
|||||||
|
160 / 159 / 59
Регистрация: 19.02.2015
Сообщений: 830
|
|||
| 23.08.2016, 21:00 [ТС] | |||
|
0
|
|||
|
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
|
|
| 23.08.2016, 21:08 | |
|
1
|
|
|
936 / 693 / 236
Регистрация: 01.02.2015
Сообщений: 1,848
|
|||||||
| 23.08.2016, 22:23 | |||||||
|
Роутеров в сети масса и есть достаточно хорошие решения Стоит подумать и ответить на ряд вопросов 1. По какому принципу будет построена система роутинга, как будут отрабатываться ссылки (это будет подписка или установленная система правил) 2. Где будут хранится правила роутинга( массив, ini, yaml, база данных) 3. Будут ли отличатся роутинг для (API и для страниц) в таком случае система могла быть смешанной включая несколько типов роутинга 4. Где будет происходить и нужна-ли валидация параметров роутинга. Пример использования reflection и проверка, подстановка параметров функцию обработчик 5. Обработчик ошибок роутера и вывод сообщения когда не найдено правил для роутера И пусть не будет вам это слово(роутер) страшным приведу пример микро роутинга на php7
1
|
|||||||
|
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
|
||
| 24.08.2016, 06:45 | ||
|
1
|
||
|
160 / 159 / 59
Регистрация: 19.02.2015
Сообщений: 830
|
||
| 24.08.2016, 10:13 [ТС] | ||
|
0
|
||
|
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
|
|
| 24.08.2016, 10:29 | |
|
1
|
|
|
160 / 159 / 59
Регистрация: 19.02.2015
Сообщений: 830
|
||
| 24.08.2016, 10:34 [ТС] | ||
|
Сначала пробовал $db = new M_MSQL в index.php прописать, но тогда его не видят методы классов и все равно приходится в каждом классе снова создавать $db и пользоваться $this->db
0
|
||
| 24.08.2016, 10:34 | |
|
Помогаю со студенческими работами здесь
20
Ценообразование в Seopult насколько можно верить? Насколько быстро можно перейти с VB,C++,PHP на VB.Net?
Можно ли оптимизировать код Можно ли оптимизировать код? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2.
Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники".
В. . .
|
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии.
. . .
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
|
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
В качестве источника данных. . .
|
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер
Написал заготовку:
dotnet new console --aot -o UrlHandler
var items = args. Split(":");
var tag = items;
var id = items;
var executable = args;. . .
|
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3.
Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
|