maximka787
27.02.2014 - 14:20
Привет мужики. Подскажите, как грамотней подключать файлы с функциями. (не классы)
1. Вначале основного скрипта, все сразу.
2. Часть вначале, а часть при разных условиях, таким образом нужные функции компилируются и инициализируются уже по мере надобности.
Вопрос можно отнеси к оптимизации и ускорении выполнения приложения.
_____________
..Работает - не трогай!
Игорь_Vasinsky
27.02.2014 - 14:27
я классы подключаю через автолоадер.
в этом случае - когда я создаю объект какого-либо класса - автолоадер сам подключает нужный файл с классом
если функции - то просто инклуд в самом верху
_____________
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
27.02.2014 - 23:27
На фронтире автолодер, в тылу геттер, который кеширует. Щас найду...
Меньше автолодера не бывает:
spl_autoload_register(function ($class) {
include APP_LIB_PATH . '/' . $class . '.php';
});
Зато бывают аще гораздо больше.
Геттер, например коннект
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
27.02.2014 - 23:34
При таком подходе модель которая залетает и ей ничего не надо - вылетает ничего не задев вообще, считай включилась и выключилась, хотя все идет через индекс как обычно с полным фаршем.
zelenuy
27.02.2014 - 23:38
С объектами удобней в этом плане, сам инклюдится тот который нужен, а функции банально складываю в один файл и инклюдят в самом начале всем скопом чтоб не запутаться)
maximka787
28.02.2014 - 14:56
Чего-то вы про классы заговорили) А я именно про функции спрашиваю. Не могу понять, быстрее ли обрабатываются скрипты и большими ли усилиями, если инклуды идет по мере надобности. По моему разницы нет. Хотел спросить у вас про это, мож кто сталкивался.
Ну да,чтоб не запутаться, лучше сразу вверх сайта инклудить.
_____________
..Работает - не трогай!
Игорь_Vasinsky
28.02.2014 - 14:57
а зачем речь вести о скорости, когда нужно об архитектуре?
зачем все пихать в одно место, когда удобней разложить всё по полочкам и подключать - то когда то нужно
_____________
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
1.03.2014 - 14:45
Цитата (maximka787 @ 28.02.2014 - 14:56) |
Чего-то вы про классы заговорили) А я именно про функции спрашиваю. |
Начав писать классно вы перестанете писать функции. Ну кроме самых тупых типа return '"'.$s.'"';
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.