Русскоязычный форум, посвященный фреймворку Kohana http://forum.kohanaframework.su/ |
|
Поиск по сайту http://forum.kohanaframework.su/viewtopic.php?f=38&t=521 |
Страница 1 из 4 |
Автор: | websto [ 20 дек 2012, 15:49 ] |
Заголовок сообщения: | Поиск по сайту |
Условие - таблица должна быть MyISAM, колонки поиска проиндексированы(FULLTEXT). Форма Код:
Контроллер Код:
Файл вида do_search Код:
Роут Код:
|
Автор: | AmberLEX [ 27 дек 2012, 10:49 ] |
Заголовок сообщения: | Re: Поиск по сайту |
Зачем вам фреймворк, если вы его не используете? Это не пример кода - это безобразие. |
Автор: | websto [ 28 дек 2012, 12:56 ] |
Заголовок сообщения: | Re: Поиск по сайту |
Извините уважаемый что не соответствую вашим представлениям правильного кодинга!Не все такие умные как вы,есть люди из средними способностями и даже ниже среднего.Это рабочий код, как пример может кому-то пригодится.А вообще что не так,то что я не использовал хелперы и валидатор?Объясните дураку! |
Автор: | AmberLEX [ 28 дек 2012, 13:16 ] |
Заголовок сообщения: | Re: Поиск по сайту |
Я не писал о "своих представлениях правильного кодинга" Вы его оформите для начала, чтобы можно было прочитать (это по поводу безобразия) Для кода есть тег [ code=php ]...[/code] (без пробелов перед скобками) Цитата: А вообще что не так - mysql_real_escape_string (http://kohanaframework.org/3.2/guide/da ... ameterized) - $search = !empty($_REQUEST['text']) ? mysql_real_escape_string(trim(strip_tags($_REQUEST['text']))) : NULL; Для этого есть хелпер $search = trim(strip_tags(Arr::get($_GET, 'text')));, где уже проверяется наличие $_GET['text'] и возвращает NULL если нет - Зачем if (empty($search) || strlen($search) < 4) если запрос потом все равно выполняется - Зачем if (isset($meta)) - если он всегда установлен Код:
Вообще мое мнение, если что-то выложил для всеобщего обозрения, тем более "пример кода", то нужно хоть как-то уважать читающих, а не вывалить гору неформатированного текста. А код рабочий, я не спорю) Давайте вы наведете порядок в нем учитывая пожелания, а потом его приведем (если понадобится) в оптимизированное решение готове для использования. |
Автор: | AmberLEX [ 28 дек 2012, 16:18 ] |
Заголовок сообщения: | Re: Поиск по сайту |
В общем понятно: "а нас - рать!", главное работает) После праздников и бодуна выложу стандартный пример для поиска (тем более prickle тоже решала и решила, насколько я знаю) ). |
Автор: | websto [ 28 дек 2012, 20:23 ] |
Заголовок сообщения: | Re: Поиск по сайту |
В принцепе вы правы - главное работает,естетическая красота для меня на втором плане. Цитата: Зачем if (empty($search) || strlen($search) < 4) если запрос потом все равно выполняется Вы знаете как работает MATCH AGAINST ? Не вижу большой разницы между Код:
и Код:
Это знаете как почерк он у каждого свой! И по-вашему получается если человек не использует некоторие хелперы значит фреймворк зря используется!?Это круто!!!Прежде всего я хотел передать сам алгоритм поиска,как вариант а с кодом можна делать что угодно,использовать хелпер или не использовать.Лично мне удобней так!Может вы не в курсе но Кохана от версии к версии обновляется и иногда бывает такое что в новой версии забудут добавить например какой небудь хелпер. |
Автор: | admin [ 30 дек 2012, 20:58 ] |
Заголовок сообщения: | Re: Поиск по сайту |
У Попова тоже код работает Но его почему-то не любит большинство программистов и ненавидят те, кто потом разбирается в коде его последователей Впрочем у всех нас поначалу код был далек от идеала. Постоянное совершенствование - в этом весь цимус. |
Автор: | AmberLEX [ 04 янв 2013, 12:35 ] |
Заголовок сообщения: | Re: Поиск по сайту |
Цитата: Не вижу большой разницы между Ну не знаю, когда после кого-то такой код смотришь, думаешь, блин, неужели сложно нормально отступы хотя бы сделать, чтоб читать легко было. Ну это ваше дело, хотя, когда вы в код коханы смотрите там тоже так?) Вот бы они так писали, а вы вместо того, чтобы сразу увидеть что к чему искали где заканчивается, а где начинается строка (в принципе, в IDE это можно и выровнять быстро). Хотя это просто соглашение о нотации кода (но его не просто так придумали).Цитата: И по-вашему получается если человек не использует некоторие хелперы значит фреймворк зря используется! А почему бы и не стараться использовать? Для этого же писали фреймворк? Я тоже не всё, естесственно, использую, но стараюсь, тем более, если это к стати и вы сами почти так написали) Код:
Если начинаешь изучение, то о них можно элементарно и не знать. И как скзал admin: "у всех нас поначалу код был далек от идеала" Я подсказал, ну типа че не используете)). И вы так "агрессивно" реагируете, вроде я от балды пишу какую-то хрень бесполезную и не нужную)) Код:
Ну я не к тому, а к тому, что если if (empty($search) || strlen($search) < 4) логично в else поместить и сам запрос. Цитата: Может вы не в курсе но Кохана от версии к версии обновляется и иногда бывает такое что в новой версии забудут добавить например какой небудь хелпер. Да я не то что не в курсе, я вообще в шоке как она обновляется!)))) Я уже начал смотреть Laravel, то что видел - понравилось. Ну они (он) явно у коханы много позаимствовали) На рутрекере есть 2 видео обучалки (скачал чтоб быстро в курс дела войти). И то, что я писал сам для коханы, там уже есть и тоже все просто и лаконично.
|
Автор: | websto [ 04 янв 2013, 20:18 ] |
Заголовок сообщения: | Re: Поиск по сайту |
Цитата: Зачем вам фреймворк, если вы его не используете? Это не пример кода - это безобразие. Это по-моему тоже немного агрессивно. Кохана меня тем и подкупила что это гибкий,легкий фреймворк,нет никаких строгих правил.Я уверен в одном, единственное что не изменится в Кохане - это сам ПХП.Да нужно использовать все возможности фреймворка,но это же не обязательно.На счет кода согласен,он далек от идеала. Основная цель была показать решение задачи,просто не встречал нигде "поиска", думал может кому-то пригодиться. |
Автор: | prickle [ 26 мар 2013, 14:38 ] |
Заголовок сообщения: | Re: Поиск по сайту |
а как сделать так, чтобы не результат поиска выводился, а делался редирект на страницу с найденным материалом??? |
Страница 1 из 4 | Часовой пояс: UTC + 4 часа [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |