• Как получить данные трёхмерным массивом?

    65536
    @65536
    в элоквенте для этого есть удобная фича laravel.com/docs/4.2/eloquent#eager-loading

    если вручную, то нужно делать 2 запроса. SELECT * FROM menus и SELECT * FROM menu_items. 2-й можно ограничить WHERE menu_id IN(идишники из результатов первого). Потом 2й нужно в цикле проиндексировать по menu_id, то есть сделать такой массив чтоб его индексы были идшниками из результатов первого, а элементы массивами со строками из результатов 2-го для соответствующих menu_id.

    а при выводе уже просто по ид достаете из 2 го массива

    но может есть вариант поизящней))
    Ответ написан
    Комментировать
  • Два метода или один с условием?

    65536
    @65536
    2
    Ответ написан
    Комментировать
  • Как разбить большой csv файл при помощи PHP?

    65536
    @65536
    вот могу дать напидореную функцию для чтения таблиц сохраненных в тхт с табами в экселе в винде

    public function get_rows($file_path, $start = 0, $length = 0)
    {
        $handle = fopen($file_path, 'r');
    
        $rows = array();
        $i = 0;
    
        while ( !feof($handle) )
        {
            $row = fgets($handle);
    
            if ( $i >= $start && $i < $start + $length )
            {
                $row = trim($row);
    
                if ( strlen($row) )
                {
                    $cells = explode("\t", iconv('windows-1251', 'utf-8', $row));
    
                    foreach ( $cells as $n => $cell )
                        if ( substr($cell, 0, 1) == '"' && substr($cell, -1) == '"' )
                            $cells[$n] = str_replace('""', '"', substr($cell, 1, strlen($cell) - 2));
    
                    $rows[] = $cells;
                }
            }
    
            $i++;
        }
    
        fclose($handle);
    
        return $rows;
    }


    нужно организовать очередь и читать кусками такого размера чтобы их обработка влезала в память
    Ответ написан
    4 комментария
  • Как дать id форме оплаты?

    65536
    @65536
    ид нужно привязывать не к пользователю а к объекту оплаты, заказу например. у всех систем оплаты примерно одинаковая схема. отсылается форма с данным, среди них идет идентификатор заказа. и еще идет секретная подпись сформированная на основании некоторых данных из формы по заданному системой алгоритму . ПС проверяет верна ли подпись (чтобы не подделывали платежи) если да, то предлагает пользователю варианты оплаты, он уже там все оплачивает и система отвечает вашему сайту запросом об успешности операции и опять так же подписанным (чтобы в вашем сайте не подделывали оплаченность)

    вот в 2 картинках на примере робокассы (сорри за говнокод)

    отправка
    ca61848fedd249d2877718a2a5c2b44c.png
    получение
    a94af4ca35b44b0aa83f2b1554a5565a.png
    Ответ написан
  • Стоит ли использовать modX?

    65536
    @65536
    галочка статичный gyazo.com/e289b5d00940be5421301c7628cde274

    главное случайно из админки не затереть изменения сделанные файле. если файл поменяли, то в модхе сначала жмем ф5 потом все остальное
    Ответ написан
    2 комментария
  • Прочитал книгу по PHP, что дальше?

    65536
    @65536
    А дальше пишешь свою книгу про пхп, продаешь. Все так делают
    Ответ написан
    Комментировать
  • Как объективно протестировать производительность node.js и PHP в запросах к mysql БД?

    65536
    @65536
    $mtime = microtime();        //Считываем текущее время
    $mtime = explode(" ", $mtime);    //Разделяем секунды и миллисекунды
    
    // Составляем одно число из секунд и миллисекунд
    // и записываем стартовое время в переменную
    $tstart = $mtime[1] + $mtime[0];

    =
    $tstart = microtime(true);
    Ответ написан
    Комментировать
  • Проверка на повторный вход под этим же пользователем на другом устройстве/браузере? Как организовать код?

    65536
    @65536
    авторизованность это кука. чтобы разлогинивало на других устройствах нужно ее менять при входе.
    Ответ написан
    1 комментарий
  • Какое должно быть время выполнения MySQL запроса?

    65536
    @65536
    Не обладаю глубинными знаниями субд. Как то раз тоже наделал таких вложенных запросов, именно таких же ...IN(SELECT id... Почему-то интуитивно решил что это будет быстрее чем делать отдельные запросы. А потом наткнулся на эти тормоза. Для эксперимента попробовал сделать вложенные разными запросами а потом сформировать уже основной. Оказалось быстрее раз в 400
    Ответ написан
    Комментировать
  • Выгодно ли фрилансить(верстая макеты)?

    65536
    @65536
    фриланс это как таксистом быть, или как молдованином от шабашки до шабашки. нужно постоянно что-то мутить, искать заказы, договариваться, а потом еще и работать, самому. а еще и развиваться нужно, что подразумевает делание всякой бесплатной работы, чтения и экспериментирования. нужно включать это в стоимость постепенно, как и вообще все остальное что необходимо и желательно для поддержания себя и своего настроения. но это никак не вписывается в расценки на биржах этих (наших по крайней мере, на ихних думаю не сильно проще + енг). толкаться среди полунепонятного сброда желющих подзаработать, а то и поднаебать, там примерно как на вокзале. это наверное наибеспонтовейший источник заказов. адский демпинг, низкое качество и исполнителей и клиентов. со временем можно набрать отсеять нормальных и работать с ними годами, ну только придется постараться, главное чтоб хватило терпения и самоорганизации)) мне со всех этих бирж хватило 3 заказов чтоб больше туда не возвращаться. там такие дебилы есть, вот один раз меня жестко развели на 300 рублей. мужик чето там на джаваскрипте просил сделать анимационное я ему сделал на джквери а он мне такой не нихуя не катит, "не хочу лишние скрипты кидать", скрипты кидать бля. а сам главно таки кинул скрипты и все у него на сайте висело, мужик 36 лет, 300 рублей. есть более опасные идиоты, чей идиотизм уже на пол пути проявляется и становится понятно что лучше не надо было связываться. вообще важное умение вовремя отказываться от сомнительных тем и персонажей. весь фриланс и есть такая тема - ты и организовавать все делжен и работать одновременно, иногда это слишком одновременно начинает происходить что не можешь делать ни то ни другое
    Ответ написан
    Комментировать
  • Где вы используете PHPUnit?

    65536
    @65536
    Не хочу отдельный вопрос создавать. А получилось у кого-нибудь его в винде настроить? У меня сервер в виртуалке с убунту, шторм в винде, а проекты в общей папке. Тесты приходится крутить в линуксе, потому-что в винде настроить не получилось. Я уже три раза подступался, все эти пути прописывал, переменные среды, все комбинации перепробовал. То он говорит что нет файла ".,:c:\чето-там\php" я даже не знаю откуда оно этот путь берет. То создает в папке темп пользователя файл теста и пытается запустить его оттуда и он естественно не видит никаких других файлов пхпюнита потому-что лежит там один. Признаю определенную долю рукожопия, но винда зловредна для всех этих дел. Вот на днях композер например отвалился в винде, ничего не хочет качать, ссл говорит нет, хотя он есть и я даже ничего не менял.

    Может у кого был опыт успешной настройки под виндой? Или может как то пробросить туда в виртуалку можно?
    Ответ написан
    Комментировать
  • Как правильно осуществить mail() на бесплатном хостинге?

    65536
    @65536
    посмотрите в пхпинфо строчку, не прописано ли там какое-то мыло, то замените $from = $_POST['email']; на $from = мыло которое там прописано;

    это может быть такое хостинговое ограничение чтобы с рандомных адресов не слали. $_POST['email'] можно в reply-to прописать
    Ответ написан
  • Как сделать такой же градиент?

    65536
    @65536
    я не спец но сделал бы так. нарулил бы желаемое в фотошопе. потом повторил бы каждый слой здесь например www.colorzilla.com/gradient-editor в верстке наложил бы их друг на друга в той же последовательности как в фш
    Ответ написан
    8 комментариев
  • Как быстро и правильно преобразовать массив в экземпляр класса?

    65536
    @65536
    ну если стдкласс вас устроит можно так json_decode(json_encode($_SESSION['user'])); но все это колхоз ненужный
    Ответ написан
  • Где ошибка в коде?

    65536
    @65536
    оно хочет if( isset($where[0]) && isset($where[1]) )
    Ответ написан
    Комментировать
  • Стоит ли переходить с CodeIgniter на современные фреймворки?

    65536
    @65536
    позвольте запостить одну цитату про фреймворки (жаль не про все):

    "Года 4 назад я уже в подобном посте делал легкое сравнение фреймворков. Продолжим традицию, ебанаврот. Однако теперь я повзрослел и мне можно много материться.
    1)Codeigniter. Окончательно сдох, завонялся, покрылся трупными червями, которые в свою очередь тоже сдохли и покрылись маленькими рекурсивными червячками.
    2)Kohana 3. Раньше я его расхваливал, теперь он тоже сдох. Вонять только начал, но все же ему пизда.
    3)Yii. До сих пор использую. Работаю с ним уже года 4. Из доебавшего: ––Дибильный code style в самом коде фреймворка. ––Куча нахуй не нужных js библиотек в самом ядре. ––Тугие разработчики, апдейтить можно было бы и почаще.
    В остальном норм. Для mongo наконец появилось вменяемое расширение — mongoYii.
    4)Yii 2. Вроде как сделали работу над ошибками. PSR, вся хуйня. Но такими темпами скорее я покроюсь трупными червями, чем оно релизнется.
    5)Zend. Как был бессвязным энтерпрайз говном, так и остался.
    6)Symfony. Как был монструозным самогенерирующимся говном, так и остался. А вот за шаблонизатор Twig я бы Фабьена облизал. Мне почему–то он нравится. Шаблонизатор.
    7)Laravel. Все хорошо, очень перспективный. Но, блять, отсутствие механизмов валидации в моделях — это сраное говнище. Легкая мешанина с code style.
    8)FuelPHP. Вроде как должно было быть все хорошо, но дело тормознулось. Та же хуйня с валидацией что и в Laravel. Они там пизданулись все наглухо? Зато с именованиями тут все еще хуже. Полная мешанина CamelCase и undescore вгоняют меня как перфекциониста в траур. Так сложно потратить один пару дней на рефакторинг?
    9)Phalcon. Главный генератор малафьи у пхпшников в 2013. Интересная задумка, хорошая скорость, но есть несколько "но": ––Про мелкие проекты на shared хостингах можно забыть. Только свои сервера, только хардкор! ––Я, к примеру, часто использую Go to Declaration в IDE. Куда ему идти с Phalcon? В dll? Видел, что появились какие–то Developer Tools, но оно только вроде как для PhpStorm. Так что все равно непродуманная хуйня. ––И субъективно: какой–то он..рельсовый что–ли, как будто не хватает гибкости. Может плохо разобрался, не исключаю совсем.
    10)Lithium. Это полный пиздец. Brainfuck среди PHP–фреймворков. Треш и содомия. Чад и угар. Наркомания и эпилепсия. Хуй и пизда. Это как владение антикварной Альфой Ромео на зарплату охранника ТЦ. Это надо просто объять."
    Ответ написан
    5 комментариев
  • Как создать шаблон с помощью .tpl .php форматов?

    65536
    @65536
    что угодно, только не смарти
    Ответ написан
    Комментировать