• Где можно посмотреть готовый проект на laravel + vue?

    Voenniy
    @Voenniy
    https://github.com/laracasts/Lets-Build-a-Forum-in...

    Серия уроков по этому проекту есть на торрентах
    Ответ написан
    Комментировать
  • Где можно посмотреть готовый проект на laravel + vue?

    @iGanza
    Ответ написан
    Комментировать
  • Где в Yii2 файлы ошибок 404 и 403(хочется перевести эти страницы)?

    Isolution666
    @Isolution666
    Full-Stack Developer
    Здравствуйте товарищи программисты.
    ---
    Не так страшен код, как его трактуют ))
    Подсказку к этому вопросу как ни странно, я нашёл в папке "views/site/"
    Файл: error.php
    ===
    Разработчики поняли, что программисты столкнуться с таким вопросом, поэтому оставили подсказки:
    <?php
    
    use yii\helpers\Html;
    
    /* @var $this yii\web\View */
    /* @var $name string */
    /* @var $message string */
    /* @var $exception Exception */
    
    $this->title = $name;
    ?>


    Из них мы видим, что переменную <?=$name?>
    нам даёт <?=$this->title;?>
    А свалился этот нейм на наши головы из класса View !
    Проведя рефакторинг, я понял, что за <?=$message;?>
    Отвечает языковой пакет Yii2/
    А именно. /vendor/yiisoft/yii2/messages/ru/
    Если конечно вы в конфиге файла main.php указали русский язык. Там их куча, вы можете в этом убедится, да и сам класс показал, что используется модель подставки сообщений, через конструкцию: <?=Yii::t('yii','значение');?>

    Вы спросите, а нахера такой геморрой нужен??

    Отвечаю, во-первых, это не геморрой, а очень даже классное решение! Убивает сразу двух зайцев наповал! Мультиязычность - раз, Повторяющиеся элементы - два! Благодаря такому решению не надо ковырять весь код, достаточно заменяющие элементы заменить такой конструкцией, и всё, поменял текст или дизайн кнопки "обновить", сделал это в одном месте, в файле yii.php и всё, дизайн и текст поменялся во всём сайте, а отредактировали один файл!!! Это невероятно удобно. Так и с ошибками и с сообщениями, зачем писать на каждой страничке ручками "ваше сообщение успешно отправлено", если можно прописать значение = перевод. Так вот, в голове кода была ещё одна подсказка /* @var $exception Exception */
    и в самом классе ссылка на мануал php7 - php.net/manual/ru/exception.getmessage.php

    Таким образом мы имеем:
    class HttpException extends UserException
    {
        /**
         * @var int HTTP status code, such as 403, 404, 500, etc.
         */
        public $statusCode;
    
    
        /**
         * Constructor.
         * @param int $status HTTP status code, such as 404, 500, etc.
         * @param string $message error message
         * @param int $code error code
         * @param \Exception $previous The previous exception used for the exception chaining.
         */
        public function __construct($status, $message = null, $code = 0, \Exception $previous = null)
        {
            $this->statusCode = $status;
            parent::__construct($message, $code, $previous);
        }
    
        /**
         * @return string the user-friendly name of this exception
         */
        public function getName()
        {
            if (isset(Response::$httpStatuses[$this->statusCode])) {
                return Response::$httpStatuses[$this->statusCode];
            } else {
                return 'Error';
            }
        }
    }

    Ну так, раз мы можем указать код ошибки, public $statusCode;
    То можно тупо и условия поставить, например:
    <?=($exception->statusCode == '404') ? $this->title = "Ошибка 404" : ''; ?>
    <?=($exception->statusCode == '403') ? $this->title = "Доступ запрещён" : ''; ?>
    <?=($exception->statusCode == '500') ? $this->title = "Внутренняя ошибка сервера" : ''; ?>

    А текст ошибки под заголовком редактируется в языковом пакете:
    /vendor/yiisoft/yii2/messages/ru/yii.php
    $message

    <?php
    return [
    ...
    'Page not found.' => 'Страница не найдена.',
    'You are not allowed to perform this action.' => 'Вам не разрешено производить данное действие.',
    'An internal server error occurred.' => 'Возникла внутренняя ошибка сервера.',
    ...
    ];

    Выводится как <?=Yii::t('yii', 'Page not found.');?> и т д...
    Но вам выводить ничего не надо, класс сам определит код ошибки и выведет её текст.
    Как заменить заголовок ошибки я уже написал выше.

    --
    Это был полный разбор страницы ошибок, благодарю всех за внимание. Пока :)
    Ответ написан
    Комментировать
  • Как контролировать работу удаленного программиста?

    customtema
    @customtema
    arint.ru
    Для начала, не надо было пытаться так экономить. Судя по тому, что на решение задачи тратятся месяцы - вы искали самого дешевого программиста, и с вами согласился сотрудничать новичок. Он сейчас скорее всего жалеет о том, что с вами связался. Простите, но вы сами виноваты. Семь шапок из одной овцы не выкроишь никак.

    Любая задача решается не более, чем за одну неделю. Подавляющее большинство программ выпускаются в бету за 2-3 месяца. Если дольше - нужно бить тревогу. Или неправильное планирование, или проблемы в команде.

    Мониторить просто - по списку задач в трекере и/или по коммитам. Не нужно ожидать, что разработчик будет выдавать какой-то прогресс ежедневно. Программирование - это не линейный процесс. Можно день-два протупить, а потом за десять минут сделать - такое происходит постоянно. Удобными для всех будут ежеденедельные итерации. Например, каждый понедельник проверять прогресс за неделю, и при необходимости, скорректировать его.

    Не выносите разработчику мозги длинными беседами. У программистов мозг несколько иначе устроен, и длинными беседами вы ему мозг выносите. После чего ему работать сложно - таким образом вы сами создаете проблемы. Пишите вопросы текстом, и делайте это не чаще, чем один раз в неделю. Накапливайте вопросы, прежде чем отправить их письмом. Если вы нашли ответ на вопрос самостоятельно - удалите его из списка. Проверьте, нет ли ответов на вопросы в интернете.

    Это удивительно, но многие, будто конченные олигофрены, не понимают, что консультации отнимают и силы, и время. И именно поэтому должны быть регламентированы.

    С консультациями, как с сексом. Хотите, чтобы было качественно? Тогда нужно хорошо подготовиться. И вести себя прилично. Всегда. Хотите хорошие ответы? Продумайте свои вопросы.

    В состоянии потока любая хрень может отвлечь и нарушить рабочее состояние. Особенно - вопросы. Особенно - глупые вопросы. Глупые не с вашей точки зрения, а с точки зрения разработчика. Программист работает циклами по 2-4 часа. Если нарушить цикл (например, задав глупый вопрос или позвонив по телефону) - теряется ПОЛОВИНА ДНЯ.

    Поэтому мое второе замечание - проверьте, а не мешаете ли вы ему работать?
    Ответ написан
    3 комментария
  • Какие плагины Gulp вы используете для front-end?

    artemmalko
    @artemmalko
    Frontend developer 2gis
    Рекомендую ознакомится с TARS, есть все, что нужно)
    Ответ написан
    2 комментария