• Sleep на php тормозит работу всего приложения, php?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Очень тонкий момент и зависит от того кто у вас передает соединение на php. Например при apache prefork тормозит родительский процесс (т.е. если зайти из инкогнито то попадете на другой процесс, если он свободен). Но такой штукой вы можете загрузить все дочерние процессы родительского и не работать будет у всех
    Ответ написан
    Комментировать
  • Выборка товаров по свойству битрикс?

    gromdron
    @gromdron
    Работаю с Bitrix24
    А у Вас NEWPRODUCT свойство какой тип имеет ?
    Ответ написан
  • Как ускорить вставку в цикле MySQL?

    gromdron
    @gromdron
    Работаю с Bitrix24
    А у Вас таблица в MyISAM или InnoDB ?
    Ответ написан
  • Какой язык учить после PHP?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Иван, у Вас неверная постановка вопроса.
    Во-первых, ценится не знания языка, а опыт.
    Во-вторых, у меня сложилось субъективное впечатление, что Вы не знаете чего хотите.

    Если Вы хотите быть востребованным специалистом - смотрите на тенденции. Сейчас это анализ данных, DL, машинное обучение. Языковой стек в основном это Python.
    Если Вы хотите разрабатывать игры - C++/C, Java
    Мобильная разработка: Swift, ObjectiveC и т.д.
    Web-разработка: Node.JS, Ruby, PHP
    Из (субъективно для меня) экзотического - Erlang, Rust.
    Ответ написан
    7 комментариев
  • Как написать не равно на php чтобы работало?

    gromdron
    @gromdron
    Работаю с Bitrix24
    А можете прописать перед условием:

    echo "<pre>";
    var_dump($row['MOId'],$cid,$row['Title'], $ctitle);
    echo "</pre>";


    И выложить сюда то, что он выведет. Ну и непомешал бы пример данных, где он не срабатывает (а должен) и срабатывает (а не должен).

    Просто с точки зрения конструкции все логично, может быть у вас там htmlentities есть?
    Ответ написан
    Комментировать
  • Как учиться писать не говнокод?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Мне кажется это бессмысленное занятие - говнокод слишком субъективное и ситуационное явление. Иногда архитектура решения позволяющая изменять бизнес-логику приложения под ежедневно меняющиеся требования бизнеса является говнокодом, несмотря на то что она реализует все требования ( а вот слаженная и четкая архитектура не позволяющая быстро и относительно безболезненную смену бизнес-логики не является говнокодом).
    Насчет последнего (про архитектуру), я конечно мог бы преувеличить, однако я еще не встречал продукта с идеальным кодом или архитектурой. Посмотрите с highload доклад Аксенова (надеюсь правильно фамилию написал) - Снесите это немедленно. Он там достаточно подробно и доступно излагает.
    Ответ написан
    Комментировать
  • PDO Mysql, возник вопрос?

    gromdron
    @gromdron
    Работаю с Bitrix24
    А откуда вы берете $language и $page ?
    Если вы их задаете сами и они не зависят напрямую от пользовательского ввода - пожалуйста!

    Что значит зависят или не зависят напрямую:
    // $page зависит напрямую $_REQUEST['page']
    $page = $_REQUEST['page'];
    
    // $page не зависит напрямую от $_REQUEST['page']
    $page = 'index';
    if ( $_REQUEST['text']=='detail' ) {
    	$page = 'detail';
    }
    Ответ написан
    1 комментарий
  • Nginx: код 503 в конфиге по факту оказывается 302. Почему?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Может это внутреннее? Как-бы 503 - это Service Unaviable, а вы вместо отдачи на /maintrance.html отправляете.
    А он уже 200 отдает.

    Попробуйте удалить:
    location = /maintrance.html {
    return 200;
    }


    Будет ли подобный результат ?
    Ответ написан
  • Почему не создает и не возвращает ошибку при создании свойства в Битрикс?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Если он вернул false, ошибку вы можете получить функцией:
    $error = $APPLICATION->GetException();
    Ответ написан
    Комментировать
  • Почему нет пункта меню "Приложения"?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    1) Обновите 1С-Битрикс
    2) Проверьте установлен и активирован ли модуль REST
    Ответ написан
    Комментировать
  • У кого-нибудь есть опыт интеграции Битрикса с Salesforce?

    gromdron
    @gromdron Куратор тега Битрикс24
    Работаю с Bitrix24
    Интеграции? Очень интересный кейс т.к. продукты в какой-то степени конкуренты.
    Мы, например миграцию делали SF->Bitrix24... очень тяжко, но справились и наращиваем функциональность до сих пор.
    Ответ написан
    Комментировать
  • Memcache в php, кешировать только запросы?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Просто так сказать увы нельзя: все зависит от ситуации.
    Например, если запрос идет 10 секунд, рендеринг и обработка - 2 секунды, и эти данные, на протяжении как минимум минуты актуальны, то имеет смысл кешировать сразу верстку (быстрее будет).
    А вот если запрос протухает уже через 5 секунд, то и кешировать его не стоит.

    Если у Вас запрос быстро исполняется, и запрашивается ну очень часто, то кешировать его будет сама СУБД, в таком случае кеширование в приложении будет излишнем, однако если это сборная солянка из множества таблиц (например сбор отчета), который запрашивается относительно часто, но используется ограниченным кругом лиц (например советом директоров на совещании), то в таком случае можно его закешировать.
    Ответ написан
    Комментировать
  • Как подключить nuovo/spreadsheet-reader в composer json?

    gromdron
    @gromdron
    Работаю с Bitrix24
    А vendor подключен вообще?

    require_once(__DIR__.'/vendor/autoload.php');
    Ответ написан
    Комментировать
  • Выборка из базы данных?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Если я Вас правильно понял, то что-то типо:

    SELECT page_title 
    FROM table 
    WHERE 
        ( page_title LIKE '*.php' ) 
        OR ( page_title LIKE '*.html' ) 
        OR ( page_title LIKE '*/' ) 
        OR ( page_title LIKE '*.phtml' ) 
        OR ( page_title LIKE '*.html' )
    Ответ написан
    Комментировать
  • Как добавить скрытое поле в форму 1C Bitrix?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Все зависит от того как это реализовано.
    Может быть это обычная веб-форма, с дефолтным шаблоном (что можно из админки поправить) или веб-форма с темплейтом на html.
    Быть может это кастомная форма и запись в инфоблок.

    Сначала определитесь с какой формой Вам предстоит иметь дело.
    Ответ написан
  • Как рассчитать необходимую мощность сервера под проект?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Сам проект на yii2 уже написан или Вы подбираете сервер без проекта?
    Если написан - то можете провести нагрузочное тестирование (посмотреть на скольких пользователях умрет), оставить 80% посетителей (предположить, что серверные характеристики не меняются, а от пользователей оставить только 80%). Ну и догонять до 5к.
    Это при малой, при бОльшей нагрузке, понадобятся и танцы, вроде master-slave mysql и несколько application-серверов
    Ответ написан
    3 комментария
  • Пишет Class not found. Как правильно определить пространство имен?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Эээ... а что вы сделать то хотите ?

    Я вот о чем говорю: при использовании ООП в bitrix вы сталкиваетесь сразу с 2 большими стенами - применение ооп и битрикс. Прежде чем разбирать конкретный код хотелось бы немножко просветить вас в самой архитектуре битрикса.
    В терминологии Битрикса он использует концепцию MVC, но в рамках битрикса, а это означает что на любой странице где вы общаетесь с ним вы должны подключить пролог (хотя бы prolog_before) и эпилог (хотя бы epilog_after, ну в идеале). Именно "компонент" и является тем самым MVC (Вообще это скорее VC + row access, так как модели по сути нет). Есть класс CBitrixComponent (контроллер) и класс CBitrixComponentTemplate (который совместно с файлами шаблона и образует view).

    Вызов компонента происходит из глобальной переменной $APPLICATION путем метода IncludeComponent. До версии 14 (если мне не изменяет память) вообще не было такого понятия как class.php, где можно было отнаследоваться от CBitrixComponent и перекрыть какие-нибудь функции (шаблонизатор к примеру сменить), а после нового ядра d7 появилась возможность отнаследоваться от CBitrixComponent и в файле class.php разместить свой код (таким образом мы сохраняем и class.php с новыми функциями и component.php с логикой), а перекрывая метод executeComponent вы можете избавиться и от component.php.

    С точки зрения архитектуры (рекомендую изучить документацию, она очень обширна и познавательна) все компоненты должны лежать в так называемом пространстве имен, чем обычно служит ник-нейм или название компании (Естественно начинается не с цифры и содержит только латинские буквы), которые в свою очередь могут располагаться в /bitix/components/#пространство_имен#/#название_компонента#/

    Теперь построчно разберем Ваш вопрос:

    Вы положили свой класс сюда: /bitrix/templates/app/Pi/Test.php, что является неверным с точки зрения архитектуры, так как поместили класс отвечающий за контроллер в папку с шаблоном. Если вы не пишете свой модуль вы можете подключить его например в /local/php_interface/classes/ (пример надуманный, можете просто в /local/php_interface положить или сразу в init.php), однако для этого вы должны будете написать autoloader, так как у битрикса он работает только для модулей. Предположим вы в init.php напишете грубый require_once с файлом.

    Затем вы делаете следующее:

    Что является неверным, так как по сути вы обьявляете неймспейс для файла и это с точки зрения php выглядит вот так в конечном итоге:

    class app\Pi\test extends app\Pi\CBitrixComponent
    {
    // ...
    }

    А класса app\Pi\CBitrixComponent не существует. Так что вам нужно поправить пример хотя бы так:

    class test extends \CBitrixComponent

    Настоятельно рекомендую прочитать документацию или хотя бы посмотреть видео с академии битрикс. Сама система не подарок, а другой программист который увидит ваш код будет говорить что это битрикс виноват.
    Ответ написан
    Комментировать
  • При экспорте инфоблока как быть с картинками?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Жаль что с опозданием, но может другим поможет:

    При экспорте инфоблоков вы должны указать xml-файл экспорта (или csv). Например экспортировать инфоблок "Новости" из типа инфоблока "Новости" в файл news.xml, в таком случае будет создан/изменен существующий файл news.xml и будет создана папка news_export содержащая изображения из инфоблока (собственно их пути и будут прописаны в xml или csv)
    Ответ написан
    Комментировать
  • Максимальный индекс производительности Битрикс 1С?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Самый большой индекс что я видел это 75 попугаев, на собственном сервере

    А вообще индекс производительности это обратная от среднего времени отклика. Например, при среднем времени отклика 0.0216 секунд индекс производительности будет показывать где-то около 46.3.
    Ответ написан
    Комментировать
  • Как сделать в форме отправку прикрепленного файла в (bitrix)?

    gromdron
    @gromdron
    Работаю с Bitrix24
    Если не хотите писать рутинные вещи, то для таких вещей в 1С-Битрикс есть Веб-формы. Один раз делаете "натяжку" дизайна на форму, а потом плодите сколько-хотите вопросов.

    А вообще у сервиса веб-форм есть свои плюсы и минусы:
    + Один раз настраивайте форму и "масштабируйте" (увеличивайте число полей) просто
    + Для форм есть своя логика и о валидации не надо думать, большая часть работы сделана за вас
    + В них заложена логика обмена с crm и права доступа
    - Работа модуля не совсем проста, придется покопать документацию
    - О валидации все-таки нужно думать, так как шаг влево и проще будет написать на голом php
    Ответ написан
    Комментировать