Задать вопрос
  • Где новости про falcon?

    Acuna
    @Acuna
    Заполнил свой профиль
    Отложили из-за технических неполадок. Нечего пока писать, говоря проще.
    Ответ написан
    2 комментария
  • Как сделать проверку пустого поля в таблице mysql php?

    Acuna
    @Acuna
    Заполнил свой профиль
    if ($_GET['do'] == 'catalog' and isset ($_GET['company'])) {
    
       $id = (int) $_GET['company'];
    
       $query = "SELECT * FROM `organizations` WHERE `id` = '".$id."' LIMIT 10";
    
       $res = mysqli_query ($query);
    
       while ($row = mysqli_fetch_assoc ($res)) {
         
         if (!$row['site'])
         echo 'Нет';
         else
         echo 'Есть';
         
       }
      
    }


    Конструктивные замечания:

    1) (int) работает быстрее, чем intval ()
    2) Достаточно просто проверять переменную на ложность, а не на пустоту, ибо там может храниться все что угодно, не обязательно пустота.
    3) Поля и колонки должны быть в кавычках.
    4) Фигурные скобки не обязательны, если проверяется всего одно условие.
    5) Пользуйтесь переносом строк. Всегда. Это улучшает читаемость кода.
    6) Слова "Нету" не существует.
    Ответ написан
    1 комментарий
  • Какие счётчики посещений устанавливать на сайт?

    Acuna
    @Acuna
    Заполнил свой профиль
    Эффект от Метрики и Аналитики практически одинаков, однако Яндекс более юзерфрендли в плане интерфейса статы. И еще один важный нюанс: если не хочется показывать юзерам посещалку сайта с 100 человек в день - нужно ставить Метрику, так как у нее счетчик необязателен, достаточно добавить только код. У Лайвинтернета счетчик обязателен. Или можно поставить просто их стрелку, но счетчик быть должен.
    Ответ написан
    Комментировать
  • Рускоязычный сервис по созданию инфографики?

    Acuna
    @Acuna
    Заполнил свой профиль
    Нет российских аналогов? o_O

    Ребятки, это шанс! НУЖНО ДЕЙСТВОВАТЬ!

    P. S. Извиняюсь) Если по теме - их действительно нет.
    Ответ написан
    Комментировать
  • Сайт на Java Script или PHP?

    Acuna
    @Acuna
    Заполнил свой профиль
    Чем JS серьезнее PHP? Что умеет JS из того, что не умеет PHP? Если Вы не сможете ответить на этот вопрос (внятно, невнятно, хоть как-то), то JS Вам совершенно не нужен.
    Ответ написан
    Комментировать
  • Какая бд выдержет нагрузку в 10к запросов в минуту?

    Acuna
    @Acuna
    Заполнил свой профиль
    Позвольте-с, а чем Вы руководствовались, решая, что "mysqli использовать смысла нету в наше время"? Сам MySQLi альтернативы не имеет в рамках выполняемых им задач, может быть Вы имели вообще NoSQL-решения? Тогда да. Только это разные вещи. Все, что Вам предлагают в комментах - это SQL-решения. Просто реально интересны мотивы, когда списывают нормальные технологии по незнанию. Это как переписать проект на объектах на процедуры, располагая только неверно страктованным утверждением, что это прибавляет производительности.
    Ответ написан
    Комментировать
  • Ошибка с пробелами?

    Acuna
    @Acuna
    Заполнил свой профиль
    Вы не написали что за двиг у сайта, самопис? Часто фильтруют содержимое массива $_GET, убирая из него все ненужное, чтобы инъекции в него не сували. Возможно под одно и $_POST у вас фильтруют, но как-то криво. Либо еще какой-то плагин перехватывает и отрезает все. Но что-то определенно должно ее ломать, сама себя сломать она не может, суперглобальные массивы - это просто массивы, они просто содержат данные, которые уже используют скрипты. Введите свой код в самом начале сайта (прям в index.php), если выводится чистое значение - значит опускайте дальше и снова проверяйте, пока не найдете что лее ломает. Только так. А кому сейчас легко?)
    Ответ написан
    Комментировать
  • ООП в высоконагруженных проектах считается устаревшим?

    Acuna
    @Acuna
    Заполнил свой профиль
    Выше уже все очень подробно на пальцах Вам объяснили почему все это чистой воды бред. Лично я не буду говорить Вам, что нужно увольняться, я скажу только то, что переписывать крупный проект полностью - это крайне сложно и просто унизительно. Хотя-бы потому, что нет ничего хуже осознания того, что Вы тратите все свое время на бессмысленные вещи, то есть пересоздание того, что уже хорошо функционирует и так. Руки у вас опустятся уже на втором месяце такой "работы", помяните меня на слове. Просто Вам подкинул мысль для размышления, подумайте над ней на досуге.
    Ответ написан
    Комментировать
  • Насколько код ООП и что бы вы посоветовали по его улучшению?

    Acuna
    @Acuna
    Заполнил свой профиль
    Совсем по мелочам если - все переменные можешь ввести в одном типе через запятую:

    private $name, $password, $code, $mail;

    Для работы с БД (любыми) нужно пользовать готовые библиотеки, свои или сторонние. Они регулярно развиваются и поддерживаются, не нужно городить свои велосипеды. Это же касается и работы с мылом, для него в PHP имеется мощнейшая библиотека phpmailer.
    Остальное все коллеги более чем подробно расписали, нет смысла повторяться.
    Ответ написан
    Комментировать
  • Какие есть книги хорошие книги на английском языке по программированию PHP + MySQL?

    Acuna
    @Acuna
    Заполнил свой профиль
    Писал тут уже по этой теме не один раз. Книги Вам мало чем помогут, ибо в любом случае самый эффективный способ разучивания языка (любого, не обязательно программирования) - это практика. Много. С параллельным штудированием php.net. Сей ресурс должен быть Вашей настольной книгой. И так как практики должно быть не много, а очень много - займитесь разработкой сложного проекта. Да, прям так сразу. Постепенно учитесь писать интернет-магазин, полноценный торрент-трекер, а лучше сразу свою CMS. Качество кода Вашей поделки оставит желать лучшего, да и скорее всего Вы никогда даже не выкатите ее в продакшн (хотя свою CMS я все-таки выкатил, когда писал ее все свое время учебы в универе), постепенно Ваш опыт будет расти и Вы будете только и заниматься ее рефакторингом, да и ценность она будет иметь разве что историческую, однако все это даст Вам ценнейший и не сравнимый ни с чем опыт программирования в бою. А там уже и работать сможете идти после этого. А теория без практики мало чем ценна. Наглядный пример - лекции в универах. Какие у нас теперь специалисты? Вот-вот.
    Ответ написан
    1 комментарий
  • Будет ли работать mysql с нагрузкой примерно триллион записей?

    Acuna
    @Acuna
    Заполнил свой профиль
    Если у Вас чисто теоретический вопрос - тогда так и отвечу без конкретных реализаций))) Работать будет относительно быстро, если регулярно осуществлять партицирование или сегментирование (почитайте в интернетах, очень полезная вещь даже для небольших БД). В кратце - это разделение всей БД по партициям, с которыми мускулу намного легче работать, чем с одной крупной БД. Сам мускул предоставляет отличные инструменты для этого. Более того, он сам определяет в какой партиции хранятся нужные данные уже в момент запроса. Так же при этом не накладывается совершенно никаких ограничений в работе с джоинами и индексами. Единственный минус заключается в том, что его нужно осуществлять вручную. Хотя для этого достаточно запускать простенький скрипт на кроне, который будет выполнять около сотни запросов партицирования всего раз в месяц. Нагрузки он этим почти не создаст, однако сам мускул Вам будет очень благодарен, что вы разгружаете его от ненужной работы по тасканию тяжеленных баз. Еще иногда с связке с ним реализуется шардинг, когда автоматически создается новая таблица в БД, когда в старой накопилось какое-то количество записей (как правило 10 000), c именами table1, table2, table3 и т. д. В этом случае разные БД можно вообще разнести по разным серверам, однако в большинстве случаев из-за некоторых субъективных факторов его реализация как правило неосуществима, поэтому в большинстве случаев повсеместно используется партицирование.
    Также, как уже было сказано ранее - неизвестно, в каких условиях будет пользоваться Ваша БД: если запросов на добавление больше, чем на чтение - нужно пользовать MyISAM, иначе InnoDB, разница замечается. Сильно.
    Ответ написан
    Комментировать
  • Php cms для самоучки реально?

    Acuna
    @Acuna
    Заполнил свой профиль
    Я поступил по-другому. Еще на заре понадобилось создать сайт для своей семьи (еще до Контакта), стал подбирать себе довольно сложную, но одновременно простую в использовании CMS. Остановился на DataLife Engine (вроде до сих пор выпускается), из-за того, что для нее выпускалось просто огромное количество дополнительных модулей. И да, она была очень логична в плане юзабилити. Так как из себя самой она представляет только новостной модуль и подходит разве что для какого-то варезника 2000-х годов, пришлось устанавливать эти модули, постепенно превращая свой сайт во что-то действительно дельное. В установке этих модулей был один важный нюанс: это все делалось вручную путем правки ее исходного кода. Поэтому постепенно за несколько лет неспешной доработки моего сайта я перелопатил ее код вдоль и поперек и благодаря этому получил довольно неплохие знания в PHP. После этого я понял, что ее код не слишком-то и масштабируем и решил писать свою CMS c нуля по той логике, которая была заложена в DLE. Как оказалось в дальнейшем, ее код просто идеально подходил для создания клонов CMS на ее основе: это полноценный ООП, однако он не содержит зубодробильных паттернов с кучей уровней абстракции, о которые сломает ноги даже опытный разраб. И вместе с этим я внимательно изучал для чего нужна та или иная функция, которую я встречал в коде, пользуясь поиском по php.net, например: php.net/manual/ru/function.str-replace.php. В итоге весь процесс занял порядка двух лет, но он был очень интересен тем, что содержал в себе не сухую, оторванную от жизни теорию, а 90% применимой в реальной жизни практике, поэтому оно было настолько эффективно и интересно. Очень рекомендую мой опыт для обучения)
    Ответ написан
  • Безопасно ли покупать Macbook на eBay?

    Acuna
    @Acuna
    Заполнил свой профиль
    Довольно надежно, у всех продавцов имеются отзывы, смотрите чтобы было больше звезд и самих отзывов. По всякой мелочи обычно доставка бесплатна или очень дешевая. Для тяжелой техники очень рекомендую пользоваться автоматическими посредниками типа shopotam.ru - получаете свой личный почтовый ящик в Китае, США или Европе и все посылки шлете на него, потом они все это присылают одной посылкой уже в Россию курьером к двери, здорово экономится на доставке.

    P. S. Вместо eBay для Китая строго рекомендую AliExpress - товары те же, но по юзабилити день и ночь просто, реально!
    Ответ написан
  • Как запустить curl команды на PHP?

    Acuna
    @Acuna
    Заполнил свой профиль
    Есть встроенные команды, не стоит городить велосипеды.

    $ch = curl_init ();
    
    curl_setopt ($ch, CURLOPT_URL, 'https://api.github.com');
    curl_setopt ($ch, CURLOPT_USERAGENT, 'cURL/php');
    curl_setopt ($ch, CURLOPT_USERPWD, 'login:password');
    curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
    
    echo curl_exec ($ch);

    А так, коллеги кидали ссыли выше. Тут подробнейший мануал по опциям: php.net/manual/ru/function.curl-setopt.php. Все что хотите)
    Ответ написан
    22 комментария
  • Как правильно использовать $bd в ООП?

    Acuna
    @Acuna
    Заполнил свой профиль
    Все просто. Вы немного запутались в областях видимости)

    class MyClass {
      
      private $f3, $db;
      
      function __construct () {
        global $f3, $db;
       
        $this->f3 = $f3;
        $this->db = $db;
        
      }
      
      function MyFunc () {
        $this->f3->somebody ();
      }
      
    }
    
    $obj = new MyClass ();
    Ответ написан
    Комментировать
  • Как научиться писать такой ООП код?

    Acuna
    @Acuna
    Заполнил свой профиль
    Коллеги вверху правильно ответили, что не стоит так усложнять код кроме разве что академического интереса. Задание по вашей ссылке можно было бы уместить в одну простую функцию и не городить из этого целый движок. Проблема не в ООП, он очень нужный и классный (серьезно), однако проблема в том, что его часто суют где только можно, но где это совершенно не нужно. Можно и гвозди унитазом забивать, только зачем?
    Ответ написан
    Комментировать
  • Какое реальное положение у boomstarter.ru?

    Acuna
    @Acuna
    Заполнил свой профиль
    Отчего же, весьма неплохой русский клон зарубежного Кикстартера, проекты приличные, взносы неплохие и реально выплачивают за редкими исключениями. Правда существует его прямой конкурент PLANETA.RU, он более раскручен и проекты там более денежные, их больше и с немного отличающимися условиями. Например, на Планете проект считается состоявшимся, если собрана уже даже половина суммы. Это удобно в случае, если даже половина средств уже считается для фаундеров большим подспорьем (например, помощь онкобольным, открытие ресурса). И на Планете больше музыкальных ресурсов и сборов на лечение. А в целом это аналоги. Лично мы для краудфандинга выбрали Планету, так как нам даже 50% будет очень существенно (открытие узкоспециализированной соц. сети). А так коллегам нашим платят исправно, это Вы просто напуганы всевозможными пирамидами и лохотронами.

    P. S. И есть один нюанс: краудфандинг в России практически не развит, все просто не знают что это и просто боятся, поэтому интересная особенность: жертвуют исключительно те, кто зареган в нем давно и поддержал уже много проектов. "С улицы" почти не жертвуют.

    Как-то так)
    Ответ написан
    Комментировать
  • PHP и UTF-8 всё таки жизнь возможна или нет?

    Acuna
    @Acuna
    Заполнил свой профиль
    Смотрите в сторону mb_* функций. Все уже создано за Вас, разжевано и положено в рот. Разве что Вашу функцию нужно доработать:

    <?php
    
    function mb_str_split ($string) {
    
        $array = array ();
        $strlen = mb_strlen ($string);
    
        while ($strlen) {
    
            $array[] = mb_substr ($string, 0, 1, 'UTF-8');
            $string = mb_substr ($string, 1, $strlen, 'UTF-8');
            $strlen = mb_strlen ($string);
    
        }
    
        return $array;
    
    }
    
    ?>


    И не надо ничего конвертировать, это от нежелания решать проблему.
    Ответ написан
    Комментировать
  • Как по вашему мнению лучше объяснить потенциальному клиенту, что его сайт устарел?

    Acuna
    @Acuna
    Заполнил свой профиль
    Суть относительно проста: вы должны доказать заказчику, что новый дизайн повысит конверсию на 1000% (цифры утрированны разумеется), и что затраты на создание нового сайта с лихвой компенсируются мощной отдачей. Если этого Вы доказать не сможете - то остальные доводы бессмысленны, поэтому для начала сами убедитесь в том, повысит ли это конверсию и выручку.
    Ответ написан
    Комментировать
  • Порекомендуйте плагин для модальных окон?

    Acuna
    @Acuna
    Заполнил свой профиль
    Дефолтный jQuery UI инструмент dialog подойдет лучше всего. Ибо дефолтный же)

    А в Вашем случае все же банально, для этого не нужно плагин менять.

    При открытии окна отключаем прокрутку:

    $('body').css ({ overflow:'hidden' });

    При закрытии соответственно возвращаем:

    $('body').css ({ overflow:'inherit' });
    Ответ написан
    Комментировать