Что означает "::` в php magento?


В приведенном ниже коде что означает или делает оператор ::?

<?php $_helper = Mage::helper('catalog/category') ?>

Также, что именно делает helper?

Author: Zergoon, 2016-06-28

2 answers

В терминах PHP :: является оператором разрешения области . Используется для доступа к статическим элементам класса.

В Magento, Mage::helper(), здесь helper() - СТАТИЧЕСКАЯ функция, указанная в файле Mage.php, например public static function helper($name).

Из вашего примера, Mage::helper('catalog/category'), это вернет объект помощника Mage_Catalog_Helper_Category. Проверьте эту строку в определении функции helper, $helperClass = self::getConfig()->getHelperClassName($name);

 6
Author: Anil Suthar, 2016-06-28 07:15:36

В PHP, :: specify scope resolution operator,

Его собственные функции php для getting static function,variable из файла php.

Mage::helper() means static helper function is defined inside `app/Mage.php file`.

Сначала получите вспомогательную функцию из Mage.php файл,

 public static function helper($name)
    {
        $registryKey = '_helper/' . $name;
        if (!self::registry($registryKey)) {
            $helperClass = self::getConfig()->getHelperClassName($name);
            self::register($registryKey, new $helperClass);
        }
        return self::registry($registryKey);
    }

Вспомогательная функция вызывается первой из файла mage.php, когда вы можете использовать любого помощника в модуле. Они определяют полный путь к модулю для доступа к нему.

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

$_helper = Mage::helper('catalog/category')

Теперь $_helper переменная получает доступ ко всем функциям Mage_Catalog_Helper_Category.php файла

Если вы хотите извлечь функции getStoreCategories() из вышеуказанного файла, вы можете просто вызвать $_helper->getStoreCategories(false,false,true) и вернуть объект категории хранилища.

 5
Author: Rakesh Jesadiya, 2016-06-28 07:24:00