Оптимизация кода модуля

Главные вкладки

Аватар пользователя web09 web09 29 января 2012 в 18:14

В процессе работы над модулем возникло несколько вопросов
1. Для экономии памяти лучше часть функций выносить в отдельные inc файлы. Как правильно подключить этот файл?
Планирую вынести в него свои функции которые вызываются из хуков
include_once или еще какие варианты?

2. Как правильно вызывать функции которые не возвращают данных? Или все таки возвращать true?

<?php
$sql
="DROP TABLE IF EXISTS {table}";
db_query($sql);
?>

Вопросы отчасти по программированию, но тут в знаниях пробел

Комментарии

Аватар пользователя Ch Ch 29 января 2012 в 18:29

О какой экономии памяти идёт речь, если вы всё равно это файл будете инклудить на каждой странице?

Аватар пользователя Chyvakoff Chyvakoff 29 января 2012 в 19:12

Не парься над этим...
Лучше будет чтоб функция всегда возвращала что либо.Или нужное значение,или хотя бы true/false-тогда легче будет делать проверки и отлавливать ошибки.
Ну и сложные sql запросы надо грамотно писать.

Аватар пользователя Shok211 Shok211 29 января 2012 в 19:13

1. module_load_include - Что делает смотри в api.drupal.org - Быстрее работать точно не будет, если важна скорость Drupal лучше не брать.

2. Правильно возвращать True или False. ИМХО возникнет ситуация когда надо будет проверить была функция вызвана или нет.

Аватар пользователя web09 web09 29 января 2012 в 21:00

Всем спасибо, у лулаботов видел рекомендации выносить функции в inc файлы, только там они обработчик формы если не ошибаюсь туда ставили, и соответственно писали file => 'file.inc',
Проблема в том что эти функции инклудят библиотеки, которые на порядок больше чем сам модуль, поэтому и не хочется грузить в память лишнее. Они грузятся постоянно, а зачем это делать, если сам модуль может использоваться раз в неделю.

А по поводу скорости, вы зря. По сравнению с той же джумлой разница ощутима. Достаточно быстро работает.