Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Оптимизация кода. [2]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): « 1 [2]   

> Описание: Если не сложно, посоветуйте, пожалуйста, как оптимизировать код и, возможно, структуру движка.
kto-to
Отправлено: 02 Мая, 2011 - 22:13:48
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




OrmaJever, EuGen, и вас благодарю за советы!

1. Я в итоге сделал, md5(md5(solt).md5(pass).md5(solt)). Не без фанатизма получилось.
2. От преждевременной оптимизации отказываюсь. Убедили.
3. С адаптерами и шаблонами проектирования пошел разбираться. С ООП у меня тяжело, так что будет не скучно...
(Добавление)
Мелкий пишет:
придёте к решению, что всё это надо выбросить и писать нормально

Собственно, уже пришел... Попробую начать с начала.

Основой проекта должна стать cms с функционалом схожим с функционалом доски объявлений. О дополнительных функциях, которые должны сделать проект уникальным, пока, говорить не имеет смысла. Расскажу, что должно быть в основной части. Примеры на авто, так проще.

По типам страниц:
1. Должны быть страницы каталога сортирующие товары по производителю (бмв/мерседес/ауди), наименованию товара (автомобиль/грузовик/мотоцикл) и сфере применения товара (бизнес авто/семейное авто/авто выходного дня).
2. Должна быть страница товара. На ней общая информация, технические характеристики, фотографии и прочая ерунда. Так же на странице товара должен быть список предложений (объявлений), по этому товару. Эти предложения содержат минимальную информацию 2-3 поля, но их очень много.
3. Должен быть поиск и расширенный поиск (примерно как на авто.ру).
4. Должен быть личный кабинет пользователя.

По функционалу:
1. На странице товара должны высвечиваться конкурирующие товары (предположим для бмв это будут мерседес и ауди соответствующих моделей).
2. Многоязычность. Языков очень много, почти все (боюсь представить, что там с кодировками начнется). Для каждой страны свой домен 3го уровня (как в википедии).
3. Функции только для пользователей (ну это банально).
4. Псевдостатические страницы на всех языках.

Вот как-то так должна выглядеть основа. Дальше весь функционал будет крепиться к этой основе.

Как лучше структурировать БД? Как лучше с многоязычностью быть? Как лучше организовать структуру движка? Вопросов море...

Если не сложно, подскажите, с чего начать, чтоб было по уму все? Задайте вектор правильного движения!
 
 Top
Haron
Отправлено: 03 Мая, 2011 - 16:49:38
Post Id



Частый гость


Покинул форум
Сообщений всего: 197
Дата рег-ции: Июнь 2010  
Откуда: Оттуда


Помог: 5 раз(а)




Я как-то был уже на подобном распутье, и вот к чему пришёл в итоге:

В базе данных две основных таблицы.
- Первая: Содержит все возможные материалы. Материалом может быть что угодно, статья, товар, баллон пива... НО - главный смысл в том, "материал" может быть собственно "объектом содержащим какие-либо данные (типа файл)" и "Категорией (типа папка)".
- Вторая: В ней содержится информация, для постройки так называемого "дерева объектов", в частности там содержатся указатели, в какой "категории" какой "файл" лежит.

В итоге получилась очень удобная, некая "файловая система", а интерфейс для работы с данной структурой занял очень мало кода, и получился весьма шустрым.

В итоге моя CMS строит сайт согласно дереву зависимостей, и параметров - что где показывать, причём с неограниченной вложенностью. И сам сайт фактически является таким вот деревом объектов.

Кроме того - впоследствии оказалось что систему удобно расширять, например добавить права доступа к узлам дерева. Наследование прав идёт от "корня" системы, но в то же время - для каждого отдельного узла можно свои права назначать. Ну и естественно, понадобилась третья табличка, хранящая права.

(Отредактировано автором: 03 Мая, 2011 - 16:52:06)



-----
И чё?
 
 Top
Stierus Супермодератор
Отправлено: 04 Мая, 2011 - 10:41:09
Post Id



Рекордсмен по количеству сообщений за 7 дней


Покинул форум
Сообщений всего: 2132
Дата рег-ции: Дек. 2008  
Откуда: Москваль


Помог: 52 раз(а)




"Трудность в том, что очень критична скорость работы скриптов и вопрос информационной безопасности."

Я правильно понимаю, что не имея номрального опыта программирования, зная только основы языка, вы хотите, следуя советам с форума, написать приложение, для которого критичны безопасность, скорость и качество?

Просто вдумайтесь, о чем вы просите и какой абсурд тут сейчас происходит.

(Отредактировано автором: 04 Мая, 2011 - 10:42:05)

 
My status
 Top
kto-to
Отправлено: 09 Мая, 2011 - 22:03:21
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




Прошу прощения, что не отписался сразу, отсутствовал.

Haron:
То-есть, каждый элемент (вне зависимости от того, каталог это, или страница) помещается в основную таблицу, для каждого элемента задается тип (каталог, страница), и согласно этому типу, обрабатываются данные, полученные из БД?
По поводу второй таблицы, не совсем понял. Просто указываем родительский элемент, или как? Указать родительский элемент можно и в основной таблице, зачем создавать вторую?

Stierus, и вас благодарю, что присоединились к нашей дискуссии!
Я вдумался еще до того, как начал этим заниматься, и поверьте, если бы у меня была возможность, я бы, с превеликим удовольствием, предложил заняться этим профессионалам. Более того, если мне удастся раскрутить проект, или привлечь инвестиции, я это сразу сделаю. А по поводу абсурда... Что я могу сказать, не без этого.

Я очень прошу вас, Stierus, и всех остальных форумчан, не отговаривать меня, а, если есть что посоветовать, дать дельный совет. В конце концов, опыт приходит с практикой, а до этого момента, многие "познают мир", в том числе, и на форумах.
 
 Top
Страниц (2): « 1 [2]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Наработки по собственным проектам »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB