Ответы пользователя по тегу PHP
  • Как разрабатывать на маке в дома?

    sayber
    @sayber Куратор тега PHP
    Да, я программирую на PHP и еще асинхронно!
    1) Не использовать MAMP, как тут посоветовали.
    2) Поставить brew
    3) При помощи brew установить все что вам надо (у меня это nginx, php71, pgsql, mariadb, redis, memcache)
    4) Отключить php56
    ...
    Собственно разработка такая же как и в linux.

    Ну а далее используйте git.
    Разрабатываете локально, делаете коммит и отправляете на (github, bitbucket etc...) в свою ветку (или ветку таска).
    Далее создаете pull request и сливаете в мастер.
    Настраиваем сервер, что бы он автоматом или по вашему желанию забирал изменения с git и применял их на сервере.
    Ответ написан
    Комментировать
  • Как научиться разбираться в коде CMS?

    sayber
    @sayber Куратор тега PHP
    Да, я программирую на PHP и еще асинхронно!
    Вам надо изучить ядро и архитектуру CMS. Понять как и что работает. Изучать построчно с применением необходимых инструментов.
    Если вы вдруг поняли как оно работает, у меня для вас новость: вы больше не будете пользоваться CMS.
    Так как вы поймете ужас реализации многолетней клоаки кода.
    Скорее всего вы найдете подходящий для себя фереймфорк и станете работать с ним.
    Ответ написан
  • Как реализовать авторизацию в Rest?

    sayber
    @sayber Куратор тега PHP
    Да, я программирую на PHP и еще асинхронно!
    JWT и не надо изобретать велосипедов. (под все фреймворки имеются пакеты)
    Получаете токен и используете его. В токене могут быть права, экперинс и т.д.
    Ответ написан
    5 комментариев
  • PHP фреймворки новые с Crud и возможностью создания модуля?

    sayber
    @sayber Куратор тега PHP
    Да, я программирую на PHP и еще асинхронно!
    (контроллер модель и view в одном пакете)

    Наверняка для любого популярного есть данная бесполезная вещь, просто надо посмотреть бандлы/пакеты в репозиториях.
    Данный механизм подходит исключительно для самого простого сайтика.
    Правильная работы - выбрать (на данный момент) Symfony/Laravel и понять как делаются качественные проекты на них.

    Для больших HL++ я бы посоветовал Symfony, по началу вы заметите, что он работает намного медленнее Laravel etc. Но при готовой архитектуре проекта, заметите что скорость сравняется и даже больше.
    Вся суть в использовании правильной и действенной архитектуры (не как в доке и туториалах).
    Если использовать подход DDD (CQRS/CommanBus/Persister etc..), то система будет оч. гибкой, что оч. важно бизнесу. Так же вся разработка будет в PHP коде в виде объектов. (за редким исключением, где потребуются билдеры) Можно еще оч. долго об этом говорить и расписывать.

    Все то же касается и Laravel/Yii, но с исключениями. Данные фреймворки придется не слабо расширять и учить работать с ORM.

    Если вам интересуют формы для запросов, то тут на помощь приходит swagger. Остальное ручками.
    Все выше сказанное - это если вас интересует качественный и хороший проект.

    UPD.
    Забыл упомянуть минус. Это то что придется писать много кода ручками. Но в последствии это окупится в крупных проектах.
    Так же, выше предложенная схема, дает возможность покрывать тестами 90% кода.
    Ответ написан
    4 комментария
  • Как поставить метки в google map из массива БД?

    sayber
    @sayber Куратор тега PHP
    Да, я программирую на PHP и еще асинхронно!
    Вы получаете данные из БД и вставляете их в API google maps.
    Что же вы все ленитесь почитать документацию к тому с чем собираетесь работать.
    https://developers.google.com/maps/documentation/j...

    Самый простой способ, иметь массив с координатами
    // Multiple Markers
        var markers = [
            ['London Eye, London', 51.503454,-0.119562],
            ['Palace of Westminster, London', 51.499633,-0.124755]
        ];


    и дальше в цикле при инициализации все это дело вставлять
    for( i = 0; i < markers.length; i++ ) {
    // ...
            var position = new google.maps.LatLng(markers[i][1], markers[i][2]);
            marker = new google.maps.Marker({
                position: position,
                map: map,
                title: markers[i][0]
            });
    // ...


    В гугле сотни примеров.

    P.S.
    Вот вы устроились работать поваром.
    Вам приходит заказ на картофель фри. Вы берете грязный целый картофель и подаете. И вам кажется что это нормально. Но ведь сначала надо прочитать что делать с картофелем, затем прочитать как его нарезать и как готовить.
    Ответ написан
  • Как найти ошибку в программе?

    sayber
    @sayber Куратор тега PHP
    Да, я программирую на PHP и еще асинхронно!
    Если вам не помогло исключение в PHP (что бывает в больших ООП проектах), то воспользоваться xdebug.
    Не забываем пользоваться IDE (PHPStorm) или грамотно настроенным редактором кода, который будет отображать ваши косяки.
    Есть еще куча полезных инструментов, но о них позже.
    Ответ написан
    Комментировать
  • Почему не работает регулярное выражение?

    sayber
    @sayber Куратор тега PHP
    Да, я программирую на PHP и еще асинхронно!
    А должно?
    Вот вам на будущее www.phpliveregex.com , https://regex101.com
    Проверяйте и тестируйте, затем вносите в код.
    Ответ написан
    Комментировать
  • Подобрать PHP framework?

    sayber
    @sayber Куратор тега PHP
    Да, я программирую на PHP и еще асинхронно!
    Symfony - тяжелый но он того стоит. Мало кому дается (90% пишут как в доке, т.е. не знают Symfony).
    Laravel - быстрый старт, простые проекты, одна среда.

    Вообще возьмите тот который вам нравится, изучите доку и сразу же идите в внутренности фреймворка.
    Без понимания принципов и архитектуры фреймворка, вы будите как большинство "программистов" (людей которые пишут но не разрабатывают)
    Ответ написан
    Комментировать
  • Как разместить гостей в отелях (сервис похожий на booking.com)?

    sayber
    @sayber Куратор тега PHP
    Да, я программирую на PHP и еще асинхронно!
    А как вы без договоров будете его создавать ?
    Или это тупо для себя ?

    У вас должны быть сущности цен (периоды должны быть), тарифов, квот ( (периоды должны быть) свободные места и т.д.), тип номеров, типы размещения, контракты и компании и еще с десяток сущностей.

    Квоты соответственно привязаны к типам размещения, к типам номеров, к тарифу.
    Тарифы к отелям
    Цены к тарифам и др. сопутствующим.
    Отели к контрактам и категориям отелей..
    и т.д. и т.п.

    Множество связей и отдельных сущностей.
    Соответственно вы смотрите для определенного отеля, типы номеров, типы размещения, квоты, цены и тарифы.

    На самом деле, подобными проектами, занимаются большие команды разработчиков.
    Ответ написан
    3 комментария
  • Где джуну поискать вакансии на удалёнку?

    sayber
    @sayber Куратор тега PHP
    Да, я программирую на PHP и еще асинхронно!
    Без опыта вас не возьмут на удаленку, если только в рабство.
    Ответ написан
    1 комментарий
  • Комментируется любой php код на html странице что делать?

    sayber
    @sayber Куратор тега PHP
    Да, я программирую на PHP и еще асинхронно!
    Стоит наверное почитать php.net/manual/ru/intro-whatis.php
    Ответ написан
    Комментировать
  • Как работать с API через URL?

    sayber
    @sayber Куратор тега PHP
    Да, я программирую на PHP и еще асинхронно!
    Комментировать
  • Как настроить LEMP (Nginx & php7 & mySql) на Ubuntu 16.04?

    sayber
    @sayber Куратор тега PHP
    Да, я программирую на PHP и еще асинхронно!
    1) Что всегда делает человек из IT сферы - читает логи. /var/log/nginx/error.log
    2) Смотрит их и выясняет причину
    ...

    А еще сравнивает, конфиг из приведенной доки с своим. И если у него не -100 зрение, то видит что то лишнее.
    43758364289f48ef94f8a4dd198e1306.png

    А еще он почему то теги пишет <? вместо <?php.
    Хотя если он разрешил написание коротких тегов, то ок.
    Ответ написан
    1 комментарий
  • Как ускорить XAMPP под Windows?

    sayber
    @sayber Куратор тега PHP
    Да, я программирую на PHP и еще асинхронно!
    PHP на windows работает намного медленнее.
    Это неоспоримый факт.

    Как вариант, в Win10 включить Ubuntu Server и на нем поднять nginx/php/...
    Это если хотите работать под виндой.

    Но я бы лучше остался на linux
    Ответ написан
    5 комментариев
  • Как правильно записать цикл массива в echo?

    sayber
    @sayber Куратор тега PHP
    Да, я программирую на PHP и еще асинхронно!
    var_dump($travel["Ukraine"]);
    Покажите что там в массиве.

    udp:
    foreach ($travel as $country => $cities) {
        echo '<h1>'.$country.'</h1>';
        foreach ($cities as $city) {
            echo '<p>'.  $city .  '</p>';
        }
    }


    Или если вам надо вывести только города Украины.
    foreach ($travel["Ukraine"] as $city) {
        echo '<p>'.  $city .  '</p>';
    }
    Ответ написан
    5 комментариев
  • Есть ли какие-нибудь библиотеки для работы с данными на PHP, наподобии underscore.js?

    sayber
    @sayber Куратор тега PHP
    Да, я программирую на PHP и еще асинхронно!
    Есть.
    Подключаете через композер и пользуетесь этим классом.

    Только зачем?
    Ответ написан
    5 комментариев
  • Как обезопасить сайт работающий с API?

    sayber
    @sayber Куратор тега PHP
    Да, я программирую на PHP и еще асинхронно!
    JWT, ApiDoc и конечно https
    Забыть о сессиях и всякой остальной фигне.

    Конечно должны быть кастомные реквесты, жесткие модели и серьезная валидация данных.
    Ответ написан
    9 комментариев
  • Выводится ошибка: Notice: Undefined variable: mail in /home/c/cj28778/public_html/test/signup.php on line 16, в чём проблема?

    sayber
    @sayber Куратор тега PHP
    Да, я программирую на PHP и еще асинхронно!
    Вот ответ
    Notice: Undefined variable: mail in /home/c/cj28778/public_html/test/signup.php on line 16

    Что тут не понятного?
    Не знаете английский? Можно воспользоваться translate.google.ru
    Обратите внимание: неопределенная переменная:

    PHP почти всегда указывает ошибку четко и понятно

    5ea69569f2794756aec2152632a7dd1d.png
    Ответ написан
  • Как отделить логику от взаимодействия с базой данных?

    sayber
    @sayber Куратор тега PHP
    Да, я программирую на PHP и еще асинхронно!
    Почитайте о Doctrine, ORM, архитектура DDD
    Ответ написан
    Комментировать
  • Правильная работа с фреймворком?

    sayber
    @sayber Куратор тега PHP
    Да, я программирую на PHP и еще асинхронно!
    1) sudo apt-get install nginx, php.... (в win10 можно включить для этого ubuntu bash)
    2) Конечно же git или др. контроль версий.

    Или как советовал Евгений
    Ответ написан
    Комментировать