Задать вопрос
  • Setproctitle laravel как установить имя процесса?

    JhaoDa
    @JhaoDa
    LaravelRUS Team
    setproctitle находится в PECL-расширении proctitle. При чём тут ларавел?
    Ответ написан
    Комментировать
  • Как создают программы, внедряющиеся в память другой программы/игры (чит)?

    jamakasi666
    @jamakasi666
    Просто IT'шник.
    Базово существует 3 подхода:
    1) Путем чтения\записи памяти. Самый простой вариант это поиск нужного адреса памяти а далее воля фантазии в виде замены значения дав себе +1000 хп или просто чтение значения к примеру чтобы сделать wallhack. Самый простой вариант и делается очень легко.
    2) Путем инжекции в игру\программу. Пример игра использует некую стороннюю библиотеку library.dll, в случае если она опенсурс то цепляются в ней к методу типа init() и дальше копаются в игре или на асме инжектятся в нужную функцию. Сложность в том что придется восстанавливать структуры данных, искать функции и т.д. а уже потом дергать нужные с нужными параметрами.
    3) Типа MItM, пишут простенький прокси сервер который ловит весь трафик между игрой и сервером. Придется разбираться в пакетах и также восстанавливать структуры если они есть, быть очень быстрой и хранить очень много данных. Самый профитный среди всех и одновременно самый сложный. Не так давно подобным способом роняли ММ в КСГО, роняли сервера в ОВ, загубили пару онлайн ММО но давно(вечная память разрабу той универсальной софтины).

    Как правило 95% читов относятся к 1 категории public и private, оставшиеся 5% ко 2й и 3й personal и именно они самые дорогие и делаются под заказ ограниченному числу людей(часто ценник уходят за 1к бакс и выше).
    Ответ написан
    2 комментария
  • Yii2: Насколько new Query() и createCommand() являются признаком плохого кода?

    qonand
    @qonand
    Software Engineer
    В этой связи у меня напрашивается вопрос - насколько new Query() и createCommand() являются признаками говнокода? Придется ли краснеть, когда этот код увидит другой программист, или можно будет сказать "и так нормально"?

    Применение не считается говнокодом, если оно действительно оправдано, оправдано ли оно у Вас в проекте известно только Вам.

    Но, жизненный опыт подсказывает, что когда задача будет сделана в черновом варианте, появятся новые "срочные штуки", и код будет оставлен таким, как есть

    Не надо рефакторить приложение полностью, надо рефакторить небольшими кусочками по мере работы над другими задачами. Так сказать делать код с которым Вы работаете немножко чище чем он был
    Ответ написан
    Комментировать
  • Как после AJAX запроса сохранить картинку?

    AlexMaxTM
    @AlexMaxTM
    Правильно ли я понял, что данные формы были отправлены на удаленный сервер и уже был получен положительный результат. И после этого нужно те же данные формы уже отправить на локальный сервер, чтобы сохранить их уже у себя?
    Думаю, что это невозможно.
    Нужно отсылать данные изначально на локальный сервер. Скрипт получивший данные из формы отсылает curl-ом данные на удаленный сервер, и если оттуда возвращается true, тогда сохраняет данные на локальном сервере. И затем уже отвечает клиенту об успехе или неудаче.
    Ответ написан
    2 комментария
  • Почему нельзя передавать свойство текущего объекта в замыкание?

    начиная с пхп 5.4 у тебя $this доступен внутри анонимной функции объявленной внутри класса.
    не надо ничего туда передавать.
    Ответ написан
    3 комментария
  • Как отсортировать таблицу по значению агрегатной функции?

    @vanillathunder Автор вопроса
    $restaurants = DB::table('restaurants')
                ->join('restaurant_reviews', function($join)
                {
                    $join->on('restaurants.id', '=', 'restaurant_reviews.id_restaurant')
                    ->orderByRaw('avg(rating)');
                })
                ->get();
    Ответ написан
    Комментировать
  • Какие PHP стили записи существуют?

    stanislav-belichenko
    @stanislav-belichenko
    Backend PHP Developer
    Я пишу на Laravel мне не нравится что постоянно необходимо создавать 2 функции 1ну для отображения вьюхи 2 для самой логики


    Если коротко, то все ваши проблемы из-за того, что вы не совсем верно неверно поняли модель MVC. Если вы бы иначе построили структуру своего приложения, то вас не смущали бы "две функции".

    Модель MVC, которой следуют практически все фреймворки, за которые вы сможете взяться, предполагает именно такую структуру - на каждое действие должен быть свой контроллер или его конкретный метод, при этом контроллер объединяет методы для какой-то одной логической единицы.

    Попробуйте почитать именно что про MVC, и скорее всего вы оцените красоту такого подхода, так как в будущем именно он позволит вам, при росте приложения, быстро в нем ориентироваться, да и не только вам.

    То, что вы в данный момент используете - это совсем не right way. И точно так же не right way делать в одном контроллере две "функции" (на самом деле - два метода класса вашего контроллера), одна из которых будет что-то вроде showRegister(), а другая - createRegister(). Правильный в вашем конкретном примере вариант - это разбить вашу логику на две (три) логические единицы (два/три контроллера или группы контроллеров), одна - показ страниц бекенда / фронтенда, а другая - обработка задач авторизации. В итоге у вас должно будет получиться что-то вроде:

    app
    ...
    ├── Http
    │   ├── Controllers
    │   │   ├── Auth // 1. тут мы обрабатываем роуты, ответственные за авторизацию
    │   │   │   ├── ForgotPasswordController.php
    │   │   │   ├── LoginController.php
    │   │   │   ├── RegisterController.php
    │   │   │   └── ResetPasswordController.php
    │   │   ├── Backend // 2. тут мы показываем бекенд
    │   │   ├── Frontend // 3. тут мы показываем фронтенд
    │   │   │   ...
    │   │   ├── Controller.php
    │   │       ...
    ...


    В пунктах 2 и 3 вы в выводимых ими вьюхах используете роуты, которые про авторизацию, и у вас в итоге будет отдельная группа роутов вроде /auth/* и отдельные группы вроде /* (главная) и /admin/*.

    Согласитесь, теперь все выглядит логично и понятно. И "стили записи" тут совершенно ни при чем.
    Ответ написан
    4 комментария
  • Можно ли обрывать выполнение приложения из кода модели?

    chelkaz
    @chelkaz
    Так в контроллере делается firstOrFail() почему этим не пользуетесь? И что стоит дописывать к модели в контроллере ->firstOrFail()
    Ответ написан
    2 комментария
  • Возможно записать в переменную данные в цикле foreach?

    @pantagruel964
    @php ($user = $profile->user_id)
    или
    @php
    $user = $profile->user_id
    @endphp
    Ответ написан
    1 комментарий
  • Как вывести значения переменных php в html странице?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега PHP
    Запишите нужные данные в сессию до редиректа. Или добавьте их в виде get-параметров в адрес редиректа.
    Ответ написан
    Комментировать
  • Фильтр товаров, как лучше сделать (большой каталог)?

    sim3x
    @sim3x
    30к маленький магазин

    Делайте на sql

    Когда будут тормоза - тогда будет о чем думать
    Ответ написан
    1 комментарий
  • Какие не большие проекты знаете на Laravel фреймворке (Open Source)?

    gephaest
    @gephaest
    PHP, Yii2, Laravel
    Да хоть официальный сайт ларавела: https://github.com/laravel/laravel.com
    Ответ написан
    Комментировать
  • Как и где можно научиться делать такие сайты?

    Ahen
    @Ahen
    Универсальный дилетант
    Вот например pixijs фреймворк, который предполагается как визуальный 2D WebGL движок.
    У них в галерее много красивых сайтов и презентаций, написанных с его помощью (Rain Forest Foods из вашего списка, кстати, тоже).
    www.pixijs.com/gallery
    Ответ написан
    3 комментария
  • Как удалить ключ из массива?

    function compac(array $data)
    {
        return array_filter($data, function($el) {
            return !empty($el);
        });
    }
    
    print_r(compac([0,1,2,3,null,5]));


    И функция compact уже определена в php. используйте другое название

    Ну вообще можно сделать так

    function compac(&$data)
    {
        $data = array_filter($data, function($el) use ($data)  {
            return !empty($el);
        });
    }
    
    $array = [0,1,2,3,null,5];
    
    compac($array);
    
    print_r( $array );
    Ответ написан
    3 комментария
  • Как правильно вывести двойной массив, где ошибка?

    LosYear
    @LosYear
    На мой взгляд, целесообразнее использовать обход массива при помощи foreach
    $arr = [
        ["Sir", "Eskaban", "Lorderon"],
        [13,22,51,6463,1231],
        ["Moscow", 13]
      ];
      
    
    foreach($arr as $row){
      foreach($row as $element){
        echo "$element<br/>";
      }
    }
    Ответ написан
    2 комментария
  • Что такое REST и RESTful api?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    может, как в Хабре дойдет
    Ответ написан
    Комментировать
  • Как сделать такие глаза?

    MikeKosulin
    @MikeKosulin
    https://dimon.navalny.com/static/js/script.fbb501e...
    смотреть с 438-500 строки отвечают за глаза
    // Глаза
    
    var head = document.querySelector('.head');
    var eyeLeft = document.querySelector('.eye--left');
    var eyeRight = document.querySelector('.eye--right');
    
    var x_coef = 5.0;
    var y_coef = 3.5;
    
    // для мобильных другие радиусы вращения глаз
    if (!window.matchMedia('(min-width: 768px)').matches) {
      x_coef = 3.5;
      y_coef = 3;
    }
    
    var doc = document.documentElement;
    
    function onMove(e) {
      var r, dist, y, x1, y1, x2, y2;
    
      x2 = e.clientX;
      y2 = e.clientY;
    
      // учет положения скролла
      // var left = (window.pageXOffset || doc.scrollLeft) - (doc.clientLeft || 0);
      var top = (window.pageYOffset || doc.scrollTop)  - (doc.clientTop || 0);
    
      // левый глаз
    
      x1 = eyeLeft.offsetLeft + 22;
      y1 = eyeLeft.offsetTop + 80 - top;
    
      dist = Math.sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));
      r = Math.atan(dist/20);
    
      var x_l = ((r * x_coef * (x2 - x1)) / dist);
      var y_l = ((r * y_coef * (y2 - y1)) / dist);
    
      // правый глаз
    
      x1 = eyeRight.offsetLeft + 22;
      y1 = eyeRight.offsetTop + 80 - top;
    
      dist = Math.sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));
      r = Math.atan(dist/20);
    
      var x_r = ((r * x_coef * (x2 - x1)) / dist);
      var y_r = ((r * y_coef * (y2 - y1)) / dist);
    
      // по вертикали беру среднее значение
      y = (y_l + y_r) / 2;
    
      // коэффициет независимости подвески зависит от расстояния
      // var indep_coef = 1.0 - 1 / (dist/10 + 2);
      var indep_coef = 0.8;
    
      var x_l1 = indep_coef * x_l + (1 - indep_coef) * x_r;
      var x_r1 = indep_coef * x_r + (1 - indep_coef) * x_l;
    
      eyeLeft.style.transform = "matrix(1, 0, 0, 1," + x_l1 + "," + y + ")";
      eyeRight.style.transform = "matrix(1, 0, 0, 1," + x_r1 + "," + y + ")";
    
    }


    Сами глаза:
    правый https://dimon.navalny.com/static/img/head/small/ey...
    левый https://dimon.navalny.com/static/img/head/small/ey...

    P.S. комментарии к коду прекрасны)
    Ответ написан
    1 комментарий
  • Максимальный размер POST?

    GavriKos
    @GavriKos
    М - это мегабайт.

    В символах это внезапно - 64 мегабайта символов. ЗА вычетом служебной инфы.

    А вот в количестве - сказать сложно - нужно знать сколько занимает один символ, а это зависит от кодировки. В ASCII - 1 символ-1 байт, соответственно 67108864 символов. В юникоде - меньше - там символы толще.
    Ответ написан
    Комментировать
  • Есть ли практические бесплатные видео уроки по Laravel 5?

    @brunen9
    Не совсем прямой ответ на вопрос, но смежный. После просмотра видеоуроков у меня обычно остается впечатление некой недосказанности/недопонятости. И вот тогда на сцену выходят книги - их гораздо проще воспринимать, когда уже получил некое пусть неполное понимание предмета из видеоуроков. По Laravel например есть очень подробная книга от Мэта Стауфера, если бюджет не позволяет купить напрямую в магазине - можно купить в складчину: https://skladchik.com/threads/laravel-up-and-runni...
    Ответ написан
    Комментировать
  • Можно ли получить доступ к свойстам связанной модели в запросе?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега Laravel
    // Retrieve all posts with at least one comment containing words like foo%
    $posts = Post::whereHas('comments', function ($query) {
        $query->where('content', 'like', 'foo%');
    })->get();

    https://laravel.com/docs/5.3/eloquent-relationship...
    Ответ написан
    2 комментария