Задать вопрос
  • Новичок в php, неправильно отображается код, что делать?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    учусь по видеоурокам, все сделала как надо

    если что-то пошло не так, то значит не все как надо.

    Выражу свое личное мнение: видеоуроки по языкам программирования это дичайший бред. Просто полнейший. Заплатите каких баксов 5 за онлайн курсы в виде лекций или просто поищите в сети бесплатные лекции. Будет намного полезнее. Все остальное - php.net - там есть документация на русском. Для начала ее более чем хватает.

    Для более углубленного понимания стоит так же почитать спеку по языку: https://github.com/php/php-langspec/tree/master/spec но это когда в голове базовые вещи сформируются.

    Что до вашей ошибки - это не ошибка. Посмотрите на строку в браузере. Видите там file:// ? Это значит что вы просто открыли файл в браузере. Вот когда там будет http и запрос будет обрабатываться web-сервером (apache, nginx или встроенный в сам php - решать вам. Рекомендую последний вариант так как ничего ставить не нужно будет) - тогда все будет хорошо.

    По этому видеоуроки отстой. Советую перед началом изучения PHP почитать про клиент-серверную архитектуру и HTTP хотя бы на википедии. Так же про PHP SAPI. В голове должно сформироваться хотя бы базовое представление о том как это работает, потом зато будет намного меньше проблем и вопросов.
    Ответ написан
    Комментировать
  • Как сделать простенькую MVC модель в php?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Итак, займемся переводом для начала

    на главной создаю объект:

    В точке входа/во фронт контроллере. Объект этот завется маршрутизатор или раутер. Имеет отношение к MVC - нет.

    вот что в файле hello.class.php:

    Такое именование файлов и классов было модным во времена php4. Отройте для себя PSR0 (и еще отдельно про PSR-4 можете почитать).

    Т.е. при обращении по url: site.localhost/hello я вижу hello!!!! на экране.

    Поздравляю вас с первым контроллером... хоть и убогим слегка. Читаем про контроллеры в контексте GRASP

    ну в htaccess я прописал нужную конструкцию

    Верни мне мой 2007-ой, когда все было круто и все хвастались своими ЧПУ на модреврайтах. Подумайте в сторону единой точки входа и перенаправления всех запросов, для которых не нашлось файлов на эту точку входа. Но это так... просто... совет. Это упростит жизнь при миграции скажем на nginx или черокки какой.

    Вот я и поплыл в этих терминах.

    Заходим на википедию и выплываем.

    Model-view-controller - схема использования нескольких шаблонов проектирования, с помощью которых модель данных приложения, пользовательский интерфейс и взаимодействие с пользователем разделены на три отдельных компонента таким образом, чтобы модификация одного из компонентов оказывала минимальное воздействие на остальные.


    Советую почитать полную статью и пройтись по ссылкам. Особенно по части модели данных. Это должно прояснить для вас такой момент что модель это модель данных. То есть у вас есть данные, например блог-пост, есть его модель (просто класс Post который имеет поля id, title, body и т.д.). Проще говоря модель это представления данных в приложении. А view - это слой который занимается тем что переводит данные из формата модели в формат запрашиваемый пользователем. Причем вам не запрещается работать из контроллера с базой. Ну то есть как, есть такие вещи как сервисный слой и тонкие контроллеры, но мы же пока только учимся да?). В любом случае модель не должна знать ничего о том где и как она хранится.

    Теперь по поводу view. Давайте вспомним что такое запрос в контексте WEB-приложений. Это старый добрый HTTP запрос. У запроса есть заголовок - Accept который говорит что хочет получить пользователь (пользователи могут быть не живыми и хотеть что-то другое, например JSON). Через него браузер говорит что хочет получить. Например он говорит "хочу text/html" и мы должны выполнить следующие стэпы:
    - вызвать контроллер
    - контроллер достает из закрамов модельки которые хочет пользователь и отдает их во view.
    - view переводит данные из формата приложения в формат который хочет увидеть пользователь.

    В очень грубой форме view может быть таким:
    PostView {
        
        private $post;    
    
        public function __construct(Post $post) {
            $this->post = $post;
        }
    
        public function renderTitle() {
             return sprintf("<h1>%s</h1>", $this->post->getTitle());
        }
        // и еще пара методов    
        public function render() {
             $this->renderTitle();
             $this->renderBody();
        }
    }


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

    Практическое задание:
    Если все что делает контроллер это отдает отрендренный шаблон без какой либо переменной в нем.... Это MVC? Где тут модель?
    Ответ написан
    3 комментария
  • Насколько корректно делать в bootstrap3 больше колонок чем максимально возможно в строке?

    askhat
    @askhat
    Абсолютно некорректно. Обратите внимание на имя класса .row, не .two-rows и не .2rows, а именно .row. Однако вы можете вынести .col-xs-12 за пределы .row, насколько я помню в послених Бутстрапах это не возбраняется.
    Ответ написан
    Комментировать
  • Какой мощности должен быть сервер?

    @larrabee
    Возьми что нибудь на 4+ ядра от интела, оперативки 32 гига, если матка позволяет, то можно и 64 (дешевая, а лишней не будет и работу ускорит). По дискам- не понятно какой у тебя объем данных и нагрузки. Если нет серьезных нагрузок, то возьми 4 диска по 2 Тб и их в raid 5 или 10 или 6 (тут сам смотри, что больше подходит). Если нагрузки приличные (например БД), то к дискам возьми пару ссд нужного объема. Такой сервер из небрендовых комплектующих (супермикро и подобное) будет стоить около 100-120 к.
    П.С. Да, карта сможет работать в 2х сетях.
    Ответ написан
    Комментировать
  • Почасовая работа: уволить фрилансера или оставить и провести разъяснительные беседы?

    buttersmai
    @buttersmai
    С одной стороны, на мой взгляд, отвлекающие факторы снижают продуктивность при программировании. Музыку послушать еще ладно, а вот видео смотреть или методички читать-наверное, перебор. Это мое мнение, как программиста. Я, когда включаю тайм-трекер, привык полностью погружаться в работу.

    С другой стороны, если бы мне заказчик вот именно таким языком написал, а потом еще на тостере бы выкладывал переписку, скриншоты, и писал фразы "гнать в шею" и "воспитательные беседы", я бы сто раз подумал, хочется ли мне с таким работать. Почасовая оплата это хорошо, конечно, но должно быть обоюдное уважение. Стоило бы уточнить, может на его продуктивность это влияет положительно(как пишут многие выше)
    Ответ написан
    3 комментария
  • Почасовая работа: уволить фрилансера или оставить и провести разъяснительные беседы?

    opium
    @opium
    Просто люблю качественно работать
    Если это было на трех скринах из тысячи то не стоит заморачиваться, если такой каждый второй то да стоит задуматься, информации для однозначного ответа в вопросе нет.
    Ответ написан
    Комментировать
  • Почасовая работа: уволить фрилансера или оставить и провести разъяснительные беседы?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    А с чего вы взяли, что вам лучше знать, как ему продуктивнее работать? У меня есть кодер, который колбасит свою работу и параллельно смотрит сериалы в оригинале на английском - учит язык. У него в углу экрана поверх всего маленькое окошко с видео. На скорость и качество его работы вообще никак не влияет. Ему так комфортно. С чего я должен ему что-то запрещать? Кто-то параллельно с работой будет слушать музыку. Кто-то на планшете какую-то игрулю будет проверять каждые 30 минут - вы этого всего не отследите, да и зачем? Не надо драконить людей, вы что, рабовладелец?

    UPD: По большому счету, вот эти ваши придирки и разборки как раз и снижают продуктивность. Вы сами себе вредите. Как правильно коллеги пишут - гнать в шею такого заказчика :)
    Ответ написан
    5 комментариев
  • Как сохранить результат foreach как переменную ?

    $c = [];
    foreach ( $t as $p ) {
          $c[] = $p->id;
    }
    $c = join( ', ', $c );
    Ответ написан
    Комментировать
  • Post c домена на другой домен?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    можно. указывайте в action нужную ссылку и все.
    Ответ написан
    Комментировать
  • Как принять поля с неизвестным названием?

    @eresik
    Очень давно не брался за PHP, но насколько помню, вот так удобнее (дополнительные квадратные скобки):
    <input type="text" class="text_add" name="_from_where_[' + i + ']" id="_from_where" value="">


    ну и в программе получаете массив значений - $fromWhere=$_POST['_from_where_'];

    Возможно в синтаксисе ошибся, но принцип такой.
    Ответ написан
    Комментировать
  • В чем же сила Node.js ?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Сила в том что все знают JS. Кто может писать на PHP/Ruby/Python? Те кто пишут на PHP/Ruby/Python соответственно (и скажем по 10%-15% от количества каждых кто может писать хотя бы на двух из трех языков. Кто может писать на JS? Все фронтэндеры + добрых каких 60%-70% от всех этих php/ruby/python/java/c# разработчиков...

    Что это дает? ОГРОМНЕЙШЕЕ комьюнити... большая часть быдло конечно но засчет огромнейшего количества разработчиков инструментарий начал просто очень быстро развиваться. Кому нужен инструмент написанный на Ruby если его можно написать на JS и его сможет поддерживать на порядок больше людей?

    Вопрос производительности по началу стоял как основная фишка языка. Все кричали наконец-то, V8 на сервере, асинхронность! Самый быстрый интерпритируемый язык на планете и все такое. Но на деле все чуть сложнее. JS реально быстрый. По сравнению с тем же Ruby он в разы быстрее! Но по большому счету на это адекватным людям плевать с высокой колокольни, так как js нифига не асиинхронный. JS работает в один поток. Причем в этом же потоке работает и сборщик мусора. Если он начнет все чистить - все замрет. Обычно это не сильно большая проблема но как-то забавно. Асинхронное в JS только работа с IO которая на плюсах/си реализована...

    Революционности так же нету. JS на сервере не новая идея и практиковался еще лет за 5 до. Просто это была очень удачная реализация да ктому же если бы не V8 то так же все было бы не так круто.

    Что до сравнения с PHP и т.д. - это инструменты для разных сфер. PHP - разработка web-сайтов. node.js - демоны, инструменты разработки, шины данных, доставка данных и т.д. Для всего остального PHP подходит больше. Есть правда пара интересных проектов главная цель которой устранить дублирование кода на сервере и на клиенте.... но подходят эти наработки пока только для очень простых проектов (хотя все относительно).

    Если вас прям плющит от нового, быстрого, современного, с клевым дизайном и тоже где повлиял гугл - golang.
    Ответ написан
    11 комментариев
  • Постер из видео как Вконтакте на php, как сделать?

    Нужно использовать что-нибудь, что позволяет работать с видео. Например, ffmpeg умеет делать очень многое. Для PHP есть обертка FFMpeg-php. Кадр им сохраняется как-то так:
    $video->frame(FFMpeg\Coordinate\TimeCode::fromSeconds(10))->save('frame.jpg');

    Время, соответственно, брать вам нужно, исходя из продолжительности видео.
    Ответ написан
    4 комментария
  • Как правильно составить такое условие в PHP?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Мне кажется вам пока рано писать плагины/компоненты для joomla...
    Ответ написан
    Комментировать
  • Ценится ли IT-специалист, который умеет все?

    @inkvizitor68sl
    Linux-сисадмин с 8 летним стажем.
    Ценятся. Очень.

    Только платят им мало.
    Ответ написан
    2 комментария
  • Gочему не могу прочитать cookie в php?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    1) зачем посылать запрос на сервер что бы создать куки? Это же можно сделать на клиенте.
    2) когда вы создаете куку, она в path (поскольку вы не задали значение сами) запихивает текущую директорию (в контексте URI а не файловой системы) и если вы хотите прочитать что-то по ссылке, "директория" которой отличается, естественно что у вас ничего не выйдет. Проверить легко и просто, сравните ссылку на которую вы делаете запрос, там где куки должны читаться, с тем, что записано в path у вашей куки (в дебагере браузера можно глянуть).
    Ответ написан
    Комментировать
  • MSDN. Создание аккаунта. Где узнать свой Benefit Access Number, Subscriber ID, or MPN Technical Contact ID?

    @AlexP11223
    Не знаю что именно вы "начинается регать", но MSDN подписки не бесплатные же. Видимо после покупки вы бы и получили то, что нужно.
    Ответ написан
    4 комментария
  • Как создать простейшее веб-приложение под мак?

    deadbyelpy
    @deadbyelpy
    веб-шмеб
    Ха, а вот и не так.
    Установка php5.5+php-fpm+mysql+nginx
    ну а потом создаете какой нибудь index.php и там:
    <?php 
    echo "что за вопросы идиотские, может еще спросите как аналог вк сделать на маке (LOL) зная лишь ничего";
    Ответ написан
    1 комментарий