Как я могу создать свои собственные функции в CMS в октябре? - PullRequest
0 голосов
/ 23 октября 2018

«Глобальные» означает функции, которые я могу вызывать везде на страницах и в макетах, не повторяя их в каждом месте, где я должен их использовать

Ответы [ 3 ]

0 голосов
/ 23 октября 2018

Создание файла глобальных функций - это его автозагрузка непосредственно из композитора.

  1. Создайте файл functions.php, в этом примере мы собираемся создать его внутри app/Helpers.

  2. Добавьте свои функции

    <?php
    function global_function_example($str)
    {
       return 'A Global Function with '. $str;
    }
    
  3. В composer.json внутри секции autoload добавьте следующую строку:

    "files": ["app/Helpers/functions.php"]
    
  4. Выполнить composer dump-autoload

Теперь вы можете получить доступ к форме global_function_example ('hello world') в любом месте вашего приложения,простой способ проверить ваш blade file:

{{ global_function_example('hello world') }}
0 голосов
/ 29 мая 2019

Вы можете создать свой собственный плагин и использовать registerMarkupTags внутри Plugin.php

public function registerMarkupTags()
{
    return [
        'functions' => [
            'currentUrl' => function () {
                return request()->getRequestUri();
            },
            'currentUrlFull' => function () {
                return URL::to(request()->getRequestUri());
            },
            'ip' => function () {
                return Request::ip();
            }
        ]
    ];
}
0 голосов
/ 23 октября 2018

зарегистрируйте функцию здесь попробуйте

\System\Classes\MarkupManager::instance()->registerCallback(function($manager){
    $manager->registerFunctions([
        'myFunction' => function($param1){
            return "Hello " . $param1;
        },
    ]);
]);

при вызове страницы макета

{{ myFunction('world!') }}

для глобальной функции в laravel

создайте файл helpers.php впапка приложения app/helpers.php

if (! function_exists('showMessage')) {
    function showMessage($message = null)
    {
        return $message;
    }
}

добавить файл composer.json для автозагрузки

"autoload": {
    "files": [
        "app/helpers.php"
    ],
    "classmap": [
        "database/seeds",
        "database/factories"
    ],
    "psr-4": {
        "App\\": "app/"
    }
},

и дамп composer

composer dump-autoload

для большего понимания прочитайте учебник

...