Форум программистов, компьютерный форум, киберфорум
OpenCart
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
90 / 40 / 17
Регистрация: 24.10.2015
Сообщений: 574
1

Разбор кода OpenCart 2

07.01.2017, 01:15. Показов 1024. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Разбираюсь в коде данной cms и вот возник вопрос:

в system/engine/loader.php есть метод config() , который как я понял загружает файл конфига
PHP
1
2
3
public function config($config) {
        $this->registry->get('config')->load($config);
    }

ну и код вызываемого метода load() из system/library/config.php
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
class Config {
    private $data = array();
 
    public function get($key) {
        return (isset($this->data[$key]) ? $this->data[$key] : null);
    }
 
    public function set($key, $value) {
        $this->data[$key] = $value;
    }
 
    public function has($key) {
        return isset($this->data[$key]);
    }
 
    public function load($filename) {
        $file = DIR_CONFIG . $filename . '.php';
 
        if (file_exists($file)) {
            $_ = array();   // пустой массив  - зачем?
 
            require($file);
 
            $this->data = array_merge($this->data, $_);   // слияние с пустым массивом -  зачем ?
        } else {
            trigger_error('Error: Could not load config ' . $filename . '!');
            exit();
        }
    }
}
Зачем сливать 2 массива ??
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.01.2017, 01:15
Ответы с готовыми решениями:

Прокомментируйте эти три строки кода из OpenCart, что здесь происходит?
Сам не смог понять, что это, гугление этих функций тоже не особо прояснило ситуацию. Если можно,...

Разбор кода
Здравствуйте! Подскажите, пожалуйста, что обозначает вот это Utf8_16::utf8 Utf8_16::k_Boms зачем...

Разбор кода
Добрый вечер! Помогите разобраться в коде программы: import javax.swing.JLabel; import...

Разбор кода
Помогите, пожалуйста, разобрать данный код. Многое из этого мне еще не знакомо. Поэтому не могу...

3
7 / 7 / 4
Регистрация: 04.04.2016
Сообщений: 43
03.02.2017, 22:43 2
это не пустой массив. это надо для загрузки массива с языковыми перменными. посмотри любой файл с языками. там как раз и идет, например:
$_['heading_title'] = 'Изменить пароль';

Добавлено через 6 минут
а не, сорри. не то. есть у меня подозрение что это либо для безопасности подгрузки конфигурационных файлов, либо же создатели опенкарта скопировали эту функцию откуда то еще и не удосужились переделать и зафигачили как есть
0
90 / 40 / 17
Регистрация: 24.10.2015
Сообщений: 574
04.02.2017, 17:22  [ТС] 3
brontazavr, насколько я понял, да это для подгрузки других конфигов, которые можно самому хранить ( так делают некоторые модули), т.к. конфиги имеют такой же формат что и языковые файлы
0
1931 / 1522 / 703
Регистрация: 17.11.2012
Сообщений: 6,585
26.02.2017, 18:01 4
Цитата Сообщение от rodigy Посмотреть сообщение
$this->data = array_merge($this->data, $_); // слияние с пустым массивом - зачем ?
я тоже так сначала думал
ответ
0
26.02.2017, 18:01
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.02.2017, 18:01
Помогаю со студенческими работами здесь

Разбор кода
Помогите разобраться с кодом. В чём ошибка? qry1.Close; qry1.SQL.Clear; qry1.SQL.Text := 'UPDATE...

Разбор кода
#include <stdio.h> int main() { int l,i,j,k=0,S=1,A,x,y,n,p; for(i=0;i<3;i++) for(j=0;j<3;j++)...

Разбор кода
class EchoTestDrive { public static void main(String args) { Echo e1 = new Echo(); ...

Разбор кода C++
Объясните пожалуйста как работает этот код. Особенно строки 10-12 и 18. int transf() { int...

Разбор кода на С
Всем привет, объясните пожалуйста поэтапно, как реализуется этот код! int x, ost, y=0, i;...

Разбор кода
Всем привет! Собственно, помогаю подруге с изучением C# (сам занимаюсь Java & C++), скинула код и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru