• Как написать в php 7 строку http://site.ru чтобы "//" не воспринимались как коментарии?

    gobananas
    @gobananas
    finishhim.ru
    Так же как и в 5...
    $var = '//site.ru';
    $var = $protocol.'//'.$site_ru;
    Ответ написан
    Комментировать
  • Symfony 3 какие бандлы вы используете для работы с Google Analytics?

    DarkRaven
    @DarkRaven
    разработка программного обеспечения
    Не бандл конечно, скорее всего развитие gapi:
    https://github.com/DandyDev/gapi-php
    Этот пакет в packagist:
    https://packagist.org/packages/dandydev/gapi-php
    Ответ написан
    1 комментарий
  • Как избавиться от погрешности при делении суммы?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Обычно в финансах работают с целыми числами, представляющими собой тысячные (иногда и десятитысячные) доли рубля. Доли, по возможности, представляют натуральными дробями. В этом случае ваша задача преобразуется из (12.50 * 0.2) в (12500 * 2 / 10). При целочисленных вычислениях минимизируется погрешность самих расчётов.

    Следующая проблема - округление до целых копеек при сложении. Если мы получили 0.3 и 0.4 копейки (3 и 4 в тысячных долях рубля), то при их округлении получим 0.3 ≈ 0 и 0.4 ≈ 0, а при округлении их суммы получим 0.3 + 0.4 = 0.7 ≈ 1. То есть в результате будет 0 + 0 = 1.
    Для решения такой проблемы применяют системное округление. Сначала все слагаемые округляются с отбрасыванием дробной части, а их сумма округляется по общим правилам. Вычтя из округлённой суммы сумму округлённых слагаемых получим количество единиц, которые надо раскидать. Затем исходные слагаемые сортируются по убыванию дробной части и соответствующее их количество округляется вверх.

    Скажем слагаемые у нас 1.6, 2.7 и 3.8.
    Их сумма 1.6 + 2.7 + 3.8 = 8.1
    Если округлить слагаемые по общим правилам, то получим 2 + 3 + 4 = 9 ≠ 8
    Округляем их с отбрасыванием: 1 + 2 + 3 = 6
    Округлённая сумма 8.1 ≈ 8
    8 - 6 = 2, значит два слагаемых с наибольшей дробной частью надо округлить вверх.
    3.8 ≈ 4, 2.7 ≈ 3, 1.6 ≈ 1
    4 + 3 + 1 = 8
    Ответ написан
    Комментировать
  • Почему говорят что jquery не нужен?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Скрипач не нужен, родной (с)
    Аргументы против jq:
    - современные браузеры достаточно хорошо поддерживают единый синтаксис современного екмаскрипт(native js)(на самом деле нет).
    - сторонняя библиотека, работает медленнее чем натив и в основном состоит из с-сахара (тоже не совсем правда)
    - тащить еще один ресурс весом от 64 кб до 200 кб, еще и со сторонних ресурсов замедляет загрузку( правда, но бред)
    Аргументы за:
    - Современные браузеры как и всегда один другого "ровнее", всегда есть косяки и "нюансы", на которые еще и попадаешь обычно в самый неподходящий момент, в жк обычно все работает одинаково везде, ну или лучше чем в нативе.
    - В жк реализована куча плюшек в 1 функцию которые в нативе занимают "многабукав", не каждый начинающий напишет их правильно, да и профи не все напишут оптимально, уверен что в большинстве случаев написанный нативом функционал будет хуже аналога из жк.
    - размер мин пакета жк 64 кб, и все они лежат на быстрых цдн серверах. Думаю это последнее что может повлиять на скорость загрузки страницы.
    - есть ОГРОМНОЕ количество скриптов написанных с учетом жк, не использовать их глупо, писать свой велосипед - вообще только в целях обучения(не берем крайние случаи когда плагин писал упоротый пингвин).
    - Синтаксис и краткость записи - вообще вне конкуренции.
    - Старые браузеры никто не отменял, часто заказчик требует чтобы работало в ие8, натив не канает или доставляет море анального удовольствия.
    Вывод: Если ты крут в жс, еще и работаешь в ангуларе/ещечетамдляфронта и тебе нужно сделать 2 действия в очень современных браузерах - jquery не нужен, и ты это сам знаешь. Если слова ангулар, вуе и проч для тебя не больше чем шум листвы за окном, а навесить плагинов и эффектов нужно - jquery наше все.

    UPD: для всех кто там отписался а ля "в связи (...), исчезновением проблемы совместимости со старыми IE (что и было основным назначением jQuery)." - свежачок
    Ответ написан
    4 комментария
  • Верно ли я пишу код?

    1) Для модели сделать базовую модель и наследоваться от неё
    2) Для контроллера сделать базовый контроллера и наследоваться от него.
    3) Сделать доступным только одну папку и в неё уже редиректить
    4) Добавить composer
    5) Использовать PSR4

    Лучше подсмотреть структуру у https://github.com/laravel/laravel
    Ответ написан
    Комментировать
  • Как вывести текст, чтобы потом его изменить сразу на всех страницах?

    riot26
    @riot26
    <:З )~~
    Для этого используют магию баз данных. тык тык тык
    Ответ написан
    Комментировать
  • Почему мой сайт редиректит на порно?

    у вас на сайте вирус
    или испльзуется уязвимость в самой СМС , но по сути одно и то-же
    1. Найдите все вирусы https://www.revisium.com/ai/ - кнопочка для сайтов.
    2. Запускаете сканер или с консоли ( с нее явно лучше ) или в браузере ( часов 10 займет)
    3. Удаляете вирсы ( не все что он найдет подозритеьного а только то что реально к вам отношения не имеет.) порой это эксплойты в сотнях а то и тысячах файлах, а бывает и десятки тысяч своих файлов.
    Бывает 1 файл. тут как пойдет .
    После этого уже приводите в порядок .htaccess ну и ждете новой индексации.
    4. используйте nazamok.com
    5. Настраиваете систему бэкапирования.
    6. по возможности в зависимости от вируса, можно найти способ его проникновения, желательно удалить этот способ.
    Ну и да конечно желательно обновить движок сайта по максиму ( только после полного бэкапа!)
    Ответ написан
    1 комментарий
  • Как на css сделать такой элемент?

    Astrohas
    @Astrohas
    Python/Django Developer
    .t{
      background-color: black;
      height: 50px;
      position: relative;
    }
    .t:before{
      position: absolute;
      top: 0;
      width: 100%;
      height: 20px;
      border-bottom-left-radius: 100%;
      border-bottom-right-radius: 100%;
      content: "";
      background-color: white;
      display: block
    }
    Ответ написан
    Комментировать
  • Как сделать правильное регулярное выражение на PHP?

    miraage
    @miraage
    Старый прогер
    explode

    // EDIT

    Люди нередко пытаются использовать регулярные выражения не по назначению.
    Подумайте над этими ответами:
    https://softwareengineering.stackexchange.com/ques...
    https://stackoverflow.com/questions/7553722/when-s...
    Ответ написан
    4 комментария
  • Почему до сих пор вакансии называются "Программист C#" или "Java Junior Developer", хотя знание фреймворков гораздо важнее знания языков?

    maximpushkarev75
    @maximpushkarev75
    Very bad monkey coder
    Почему-то у меня диаметрально противоположное представление (могу ошибаться, конечно)
    Чтобы эффективно применять Java-фреймворки, необходимо на должном уровне владеть языком Java. Чтобы на должном уровне владеть языком Java, необходимо иметь представление о базовых алгоритмах и структурах данных. Цепочку можно продолжить, разумеется, двигаясь к более базовым вещам (к математике, например). Делать упор на фреймворках, забивая на основополагающие аспекты - все равно что строить дом на слабом или отсутствующем вовсе фундаменте.
    Ответ написан
    2 комментария
  • Что почитать и на чем потренироваться, не могу перейти от процедурного к ооп?

    qonand
    @qonand
    Software Engineer
    Бертран Мейер - Объектно-ориентированное конструирование программных систем
    Мэтт Вайсфельд - Объектно-ориентированное мышление
    Грэди Буч - Объектно-ориентированный анализ и проектирование с примерами приложений
    Ответ написан
    Комментировать
  • Какие 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 комментария