[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Прядок подключения файлов
maximka787
Привет мужики. Подскажите, как грамотней подключать файлы с функциями. (не классы)

1. Вначале основного скрипта, все сразу.
2. Часть вначале, а часть при разных условиях, таким образом нужные функции компилируются и инициализируются уже по мере надобности.

Вопрос можно отнеси к оптимизации и ускорении выполнения приложения.

_____________
..Работает - не трогай!
Игорь_Vasinsky
я классы подключаю через автолоадер.
в этом случае - когда я создаю объект какого-либо класса - автолоадер сам подключает нужный файл с классом


если функции - то просто инклуд в самом верху

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
dr.nomore
На фронтире автолодер, в тылу геттер, который кеширует. Щас найду...


Меньше автолодера не бывает:

spl_autoload_register(function ($class) {
include APP_LIB_PATH . '/' . $class . '.php';
});

Зато бывают аще гораздо больше.

Геттер, например коннект

	/*
* LINK
*/

private function get_link() {
$this->_c['link'] = new CLink();
return $this->_c['link'];
}


Кажется что баян, на самом деле я сам регулярно забываю как оно устроено, потому что сделал не канонично, но практично:

	public function __get($name) {

$getter = 'get_' . $name;

if(array_key_exists($name, $this->_c))
return $this->_c[$name];
elseif(method_exists($this, $getter))
return $this->$getter();
else
return
null;

}


Метод вызовется ровно 1 раз и создаст инстансь, которую затем попросту будет выдавать по запросу из проперти, ну, переменной в массиве.

dr.nomore
При таком подходе модель которая залетает и ей ничего не надо - вылетает ничего не задев вообще, считай включилась и выключилась, хотя все идет через индекс как обычно с полным фаршем.
zelenuy
С объектами удобней в этом плане, сам инклюдится тот который нужен, а функции банально складываю в один файл и инклюдят в самом начале всем скопом чтоб не запутаться)
maximka787
Чего-то вы про классы заговорили) А я именно про функции спрашиваю. Не могу понять, быстрее ли обрабатываются скрипты и большими ли усилиями, если инклуды идет по мере надобности. По моему разницы нет. Хотел спросить у вас про это, мож кто сталкивался.
Ну да,чтоб не запутаться, лучше сразу вверх сайта инклудить.

_____________
..Работает - не трогай!
Игорь_Vasinsky
а зачем речь вести о скорости, когда нужно об архитектуре?

зачем все пихать в одно место, когда удобней разложить всё по полочкам и подключать - то когда то нужно



_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
dr.nomore
Цитата (maximka787 @ 28.02.2014 - 14:56)
Чего-то вы про классы заговорили) А я именно про функции спрашиваю.

Начав писать классно вы перестанете писать функции. Ну кроме самых тупых типа return '"'.$s.'"';
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.