• Как установить библиотеку php-v8js на openserver?

    1) Распаковать архив в папку с Open Server (замены файлов не спросит т.к. все файлы новые, если конечно вы не устанавливали v8js ранее).
    2) Подключить расширение в шаблоне конфига PHP (прописать extension = v8js или extension = php_v8js.dll в зависимости от версии PHP).
    3) Перезапустить Open Server Panel.
    Сам архив: https://ospanel.io/forum/download/file.php?id=1941
    Тема на форуме: https://ospanel.io/forum/viewtopic.php?p=28355#p28355
    Ответ написан
    Комментировать
  • Как определиться со стеком для торговой площадки(marketplace)?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Главный вопрос это связное изложение на 1-2 страницах сути проекта.
    Там должно быть железобетонно понятно что проект делает, как и на кого расчитан.

    Это ваш бриф, или презентация инвесторам.
    Дальше обыкновенное ТЗ
    Пока составляете можете оставлять пробелы или несколько кандидатов на технологии.
    Потом вычитываете несколько раз, что то добавляете смотрите на свою команду, подставляете в ТЗ.
    В конце концов у вас получится документ по которому вы сможете составить бизнес план.
    Подбираете специалистов и стартуете
    Ответ написан
    Комментировать
  • Где можно брать идеи для пет-проетов с четким ТЗ?

    like-a-boss
    @like-a-boss
    Признайся,тебяТянетНаКодМужика,ты—программный гей
    Написать пет-проект, генерирующий идеи проектов с чётким ТЗ.
    Ответ написан
    Комментировать
  • Какая из систем аутентификации для spa на laravel предпочтительнее?

    @RichyNix
    Программирование, Серверное администрирование
    Зависит от конкретных задач.
    Если вам нужен токен как механизм сессии для spa, подойдет sanctum.
    Если вы будете работать с jwt токеном (читать из него данные, расшифровывать, проверять хеш и т.д), тогда jwt.

    Я чаще использую sanctum, в большинстве случаев этого достаточно.
    Ответ написан
    1 комментарий
  • Почему vscode жалуется на методы из пакета tymon/jwt-auth?

    Alex_Wells
    @Alex_Wells
    PHP/Kotlin
    Эти методы не с какого-то пакета, а с illuminate/auth, тобишь laravel.

    Начни использовать IDE. VSCode это редактор кода. Тогда появится хоть какая-нибудь поддержка, например через Laravel Plugin + ide-helper.

    Этих методов на самом деле нет, но работает оно либо из-за тупой магии laravel'а, либо, как в данном случае, в рамках случайности того, что в возвращенном из auth() Guard'е будут нужные методы. И.е. опять несуществуещее качество кода laravel, и ты с этим ничего не сделаешь. Да и никто не сделает, Тэйлору нравится так.
    Ответ написан
    Комментировать
  • Почему vscode жалуется на методы из пакета tymon/jwt-auth?

    @jazzus
    Это не vscode ругается, а плагин Intelephense. Попробуй переписать с фасадом
    Auth::login($user);
    У меня работает, но у меня платная версия.
    Также обязателен к установке laravel-ide-helper, которым нужно сгенерировать все включая PHPstorm meta, который Intelephense также читает. Ну либо забить и отключить в настройках плагина диагностику методов.
    Ответ написан
    Комментировать
  • Как записать строку в JSON-файл?

    AlekseySychev
    @AlekseySychev
    Программирую в небольшой веб-студии.
    Из js данные отправляете GET, а принимаете POST.
    И проверьте пути. Мне кажется в php адрес файла должен быть без /api/
    Ответ написан
    Комментировать
  • Как вы справляетесь на удаленной работе?

    @uroot
    Лично я делаю так:

    1) Слушаю непринуждённую музыку в процессе работы (SYML, например) если это мне не мешает. Отлично помогает проснуться.
    2) Работая, переодически делаю зарядку (фитнес трекер оповещяет о том, что я засиделся)
    3) Сплю на обеде
    4) Проветривание - это самое важное. Затхлый воздух убивает мозг.
    5) Прогуливаюсь после работы

    UPD: не так давно начал бегать 2-3 раза в неделю после работы или на выходных. Из музыки отлично стали заходить прямые трансляции на канале ChilledCow (просто мелодии без слов). Слушаю весь день на небольшой громкости, а то со словами музыка отвлекает.
    Ответ написан
    Комментировать
  • В чем преимущества использование React в Laravel?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега React
    Но это также есть и в PHP фреймворках описанных выше.
    Есть, но это работает на сервере, а Реакт на клиенте. Это принципиально разные сценарии использования сайта.

    На вопрос "зачем нужен react" вы найдёте огромное количество ответов в поисковике.
    Ответ написан
    2 комментария
  • Как сделать такую расширенную пагинацию в yii2?

    myks92
    @myks92 Куратор тега Yii
    Нашёл решение — пометь вопрос ответом!
    Очень просто. Измените дефолтные настройки в DI контейнере этого класса.

    1. С использованием DI Контейнера
    <?php
    
    declare(strict_types=1);
    
    namespace frontend\bootstrap;
    
    use Yii;
    use yii\base\BootstrapInterface;
    use yii\di\Container;
    use yii\widgets\LinkPager;
    
    /**
     * @author Maxim Vorozhtsov <myks1992@mail.ru>
     */
    class Bootstrap implements BootstrapInterface
    {
        /**
         * @inheritDoc
         */
        public function bootstrap($app)
        {
            /** @var Container $container */
            $container = Yii::$container;
    
            $container->set(LinkPager::class, [
                'prevPageLabel' => false,
                'nextPageLabel' => false,
                'maxButtonCount' => 3,
            ]);
        }
    }

    Так же DI можно настаивать в config. Я обычно настраиваю там, но кто-то создает такой bootstrap файл. Тут уж выбирайте сами. Я выбираю config. Вот пример:
    'container' => [
            'singletons' => [
                CheckAccessInterface::class => yii\rbac\DbManager::class,
                IdentityInterface::class => function () {
                    return Yii::$app->user->getIdentity();
                },
            ],
        ],

    Но для понимания оформил в bootstrap. Чтобы работало не забудьте поместить этот класс в секцию Bootstrap config фала:
    'bootstrap' => [
            frontend\bootstrap\Bootstrap::class
        ],


    2. C созданием класса, наследованный от базового
    <?php
    
    declare(strict_types=1);
    
    namespace frontend\widgets;
    
    class LinkPager extends \yii\widgets\LinkPager
    {
        public $prevPageLabel = false;
        public $nextPageLabel = false;
        public $maxButtonCount = 3;
    }


    И используйте как обычно. Если нужно заменить в DataProvider используйте DI контейнер. Либо подмените класс на свой:
    Yii::$container->set('yii\widgets\LinkPager',  'frontend\widgets\LinkPager');
    Ответ написан
    9 комментариев
  • Как сделать такую расширенную пагинацию в yii2?

    @smigles
    Ссылки на первую и последнюю страницу настраиваются через firstPageLabel и lastPageLabel. Ссылки на предыдущую и следующую страницу — через prevPageLabel и nextPageLabel. Количество постраничных кнопок — через maxButtonCount. Документация.

    Пример из представления:
    echo LinkPager::widget([
        'pagination' => $pagination,
        'maxButtonCount' => 7,
        'firstPageLabel' => 'Начало',
        'lastPageLabel' => 'Конец',
    ]);
    Ответ написан
  • Как отключить Asset в Yii2?

    slo_nik
    @slo_nik Куратор тега Yii
    Доброй ночи.
    Чтобы не создавались директории в web/assets в конфигурационном файле, в разделе components пропишите
    'assetManager' => [
      'linkAssets' => true 
    ]

    Директории создаваться не будут, а будут создаваться ссылки на файлы. Это полезно при разработке, при каждой перезагрузке страницы будут обновляться css, js и прочие ресурсы.
    Если хотите напрочь отключить, пишите так
    'assetManager' => [
                'bundles' => [
                    'yii\web\JqueryAsset' => [
                        'js'=>[]
                    ],
                    'yii\bootstrap\BootstrapPluginAsset' => [
                        'js'=>[]
                    ],
                    'yii\bootstrap\BootstrapAsset' => [
                        'css' => [],
                    ],
                ],
            ],

    Отключит и jquery и bootstrap.
    Но я бы не советовал Вам так делать, yii2 подключает сам нужные jquery, js скрипты, без них будет не очень хорошо работать с yii2.
    Можно ещё поиграться с настройками в AppAsset. Он расположен в корне приложения в директории assets.
    Подробнее об этом файле и подключении разных css, js здесь
    Ответ написан
    6 комментариев
  • Как избавиться от этой ошибки?

    В ошибке пишется, что директория для сессий не найдена, ее надо либо создать, либо переопределить путь, попробуйте так
    session_save_path('путь до нужной папки');
    Ответ написан
  • Как nginx указать на php-fpm на другом докере?

    ivankomolin
    @ivankomolin
    Вместо
    fastcgi_pass 127.0.0.1:9000;
    Указать
    fastcgi_pass php:9000;

    Ваша ошибка указывает на то, что nginx не может найти по адресу 127.0.0.1 php-fpm.
    А происходит это потому, что адрес 127.0.0.1 это адрес внутри контейнера nginx, а php-fpm лежит за его пределами внутри другого контейнера.
    Благодаря тому, что docker-compose по умолчанию создает сеть между контейнерами указанными в файле, то достучаться до сервиса можно по его имени из docker-compose.yml. В вашем случае это php
    Ответ написан
    1 комментарий
  • Как сделать такой слайдер?

    daemonhk
    @daemonhk
    ПсиХоПат
    Вот вам для вдохновения - https://codemyui.com/vertical-column-image-expandi...
    Ответ написан
    Комментировать
  • Можно ли комментарии от anycomment вывести в произвольном месте?

    mihdan
    @mihdan
    WordPress-евангелист, ведущий РНР - разработчик
    Можно воспользоваться встроенным шорткодом от самого плагина:

    <?php echo do_shortcode( '[anycomment include="true"]' ); ?>


    Если нужно вручную вытащить комментарии, которые были созданы через плагин AnyComment, то в запросе get_posts/WP-Query надо указать поиск по мете anycomment_updated_at.
    Ответ написан
    8 комментариев
  • Как в Contact Form 7 отменить отправку формы?

    @ser_jika
    Вариант с событием "click" может не сработать в некоторых случаях, поскольку отправка форм идет по событию "submit", а контексте WPCF7 нужно использовать событие "wpcf7submit":
    document.addEventListener( 'wpcf7submit', function( event ) {
    	// здесь проверяем условие и определяем дальнейшие действия
    }, false );
    Ответ написан
    Комментировать
  • Почему монтируется папка .env вместо файла .env при попытке поднять Octobercms на docker?

    deepblack
    @deepblack
    Потому что .env подключается вот так
    version: "3.5"
    services:
      db:
        build:
          context: ./docker
          dockerfile: postgresql.Dockerfile
        env_file:
          - .env
        restart: always
        volumes:
          - postgres:/var/lib/postgresql/data
        ports:
          - "127.0.0.1:5432:5432"
      redis:
        env_file:
          - .env
        restart: always
        image: redis:3.0
        expose:
          - "6379"


    UPD:
    .env файл обычно (всегда) не ложат в контейнер, скорее наоборот всячески избегают этого,
    т.к. в нём хранится чувствительная информация, как правило это различные токены и т.д.
    Хранение подобного в репозитории это плохой тон. Но можно хранить какой-нибудь example.env
    в качестве образца.

    В данном образе .env файл создается автоматически при билде образа и содержит одну единственную строку.
    Вот команда которой он создается:
    echo 'APP_ENV=docker' > .env

    Если вы внимательно посмотрите в README, то увидите что там об этом говорится .
    Помимо этого, автор рекомендует монтировать .env файл из вне, либо копировать его в контейнер (что является общепринятой практикой)

    В Readme написано:
    Database credentials and other sensitive information should not be committed to the repository. Those required settings should be outlined in .env.example

    Passing environment variables via Docker can be problematic in production. A phpinfo() call may leak secrets by outputting environment variables. Consider mounting a .env volume or copying it to the container directly.


    Честно говоря, не понятно ваше стремление редактировать .env в самом контейнере, вместо того чтобы его пробрасывать внутрь.
    Ответ написан
    4 комментария
  • Почему php json_encode() и js JSON.parse() не дружат и как их помирить?

    Immortal_pony
    @Immortal_pony
    Вот так делать нельзя потому что при вставке в html закодированные каавычки преобразовываются обратно.
    <group-task :task="'{{ json_encode( $task ) }}'"></group-task>


    Вот такое кодирование безопасно:
    <group-task :task="'{{ urlencode(json_encode( $task )) }}'"></group-task>


    И на клиенте соответственно:
    JSON.parse(decodeURIComponent(serialized))
    Ответ написан
    3 комментария