• Как разобраться в данном коде и понять его алгоритм?

    @prishelec
    Вот вам аналог!
    Тут думаю проще разобраться будет:
    function getDay($d, $m, $y) {
    	$arrDays = array ("воскресенье", "понедельник", "вторник", "среда", "четверг", "пятница", "суббота");
    	
    	$n = date('w', mktime(0, 0, 0, $m, $d, $y));
    	return $arrDays[$n];
    }
    
    echo getDay(27, 06, 2016);
    Ответ написан
    Комментировать
  • Что почитать об архитектуре приложений и фреймворков на php?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    В целом сразу вас расстрою, то что вы хотите нельзя "разобрать" за пару месяцев. На это уйдет пару тройку лет. И книги которые стоит по этой теме прочитать имеет смысл перечитывать. Ну и практика практика практика.

    Так же хочу заметить что "архитектура" это не что-то эдакое, а общее понимание команды разработчиков о том как функционирует приложение. Если этого общего понимания нет - у вас нет архитектуры. У многих разработчиков понимание пропадает уже через пару месяце стихийной разработки. Так что помимо архитектуры важно еще и процессы/методологии разработки подтянуть.

    Так же стоит заметить, что все это приследует одну единственную цель - сделать процесс разработки эффективным в краткосрочной и долгосрочной перспективе. Если скажем у вас все приложение построено на процедурах и глобальных переменных поддержка такого кода скорее всего будет сильно дороже.

    но совершенно не имею представления о правильной архитектуре приложений на php


    "Правильно" не бывает, все зависит от задачи. "Правильная" архитектура является:

    - понятной - то есть можно быстро разобраться. Это как читабельность кода (читать совершенный код Макконела) так и в принципе декомпозиция системы, разделение ответственности и т.д. (микросервисы, гексагональная архитектура). Тут можно посоветовать почитать Эрика Эванса.
    - удобной в изменениях (продумать все нереально, а сталобыть проще сделать так что бы адаптироваться под изменения в требованиях можно было эффективнее).
    - Тестируемой - то есть вы можете проверить работоспособность системы на различных уровнях. Тут стоит смотреть в сторону TDD или практик с той же идеей (сначала формулируем как работает и как мы это проверим а потом уже делаем).

    Вот и все. Далее уже есть принципы SOLID (читать Роберта Мартина), GRASP (Крэйг Ларман), GoF (лучше тут почитать head first design patterns или даже начать с Мэта Зандстры, у него помимо паттернов еще про процессы мельком рассказано).

    Ну и смысла в этом всем нет если вы еще до конца не осознали что есть инкапсуляция и полиморфизм. Многие могут рассказать что значат эти термины, но на практике эти знания они не могут применить (чаще всего страдает инкапсуляция)

    или написании чего-то своего с нуля на чистом php


    Такое решение может принимать только разработчик у которого уже есть за плечами хотя бы пяток лет опыта работы с различными (не одним) фреймворком и языками. В противном случае вы только будете заниматься бесполезным велосипедостроительством.

    идеально было бы вообще подробно расписанное сравнение внутреннего устройства нескольких фреймворков


    Берете Symfony или Zend и вперед. Все остальные фреймворки "проще". То есть скрывают больше от разработчика. После них уже можно брать что угодно.

    p.s. еще прочитайте тут: www.phptherightway.com
    Ответ написан
    12 комментариев
  • Почему так работает выборка Laravel?

    Denormalization
    @Denormalization
    Потому что where используется на коллекции.
    Коллекция по-дефолту для where использует строгое сравнение (===).
    В Eloquent есть баг, когда поле не распознается как int и идет строкой, а не числом.

    Варианты решения:
    - Явно указать в модели $casts = ['type' => 'int'];
    - Использовать whereLoose('type', 1), тогда будетиспользоваться нестрогое сравнение (==)
    Ответ написан
    3 комментария
  • Горячие клавиши для вставки кода?

    @IceJOKER
    Web/Android developer
    Установите плагин Emmet, несколько примеров:
    div + TAB : <div></div>
    div.myclass + TAB: <div class="myclass"></div>

    ....

    • Editors - Sublime | Notepad++
    • IDE - PHPStorm(если вы на стороне фронтенда больше работаете, то WEBStorm)

    ^^^
    Вот мой список редакторов(с WEBStorm не работаю, но это мощная IDE)
    Ответ написан
    2 комментария
  • Почему .gitignore все равно синхронизируется, хотя он добавлен в исключения?

    Lynn
    @Lynn
    nginx, js, css
    Идея игнорировать .gitignore довольно странная. Весь его смысл как раз в том, что бы синхронизироваться.

    Для личных игноров есть $HOME/.config/git/ignore и $GIT_DIR/info/exclude

    Ну и, да, файл за которым git уже следит недостаточно упомянуть в .gitignore. Надо его ещё убрать из-под контроля командной git rm
    Ответ написан
    Комментировать
  • Mysql выборка или cookie, оптимизация?

    @IceJOKER
    Web/Android developer
    Ни тот, ни другой вариант.
    Юзайте кеш, сохраните результат выборку в файле или где-нибудь в memcache / redis и второй раз уже берите оттуда, это даст преимущество.

    если уж данные слишком простые, то сохраните в сессиях(в куках они нахрен не нужны).

    Так или иначе - старайтесь не дергать базу лишний раз.

    p.s. храните настолько долго, насколько это возможно(или наоборот, при большом количестве посетителей кеш в 1 минуту даст огромное преимущество)
    Ответ написан
    1 комментарий
  • Чем может быть обусловлено такое поведение ПК?

    @Nikolay45
    Интегрированное видео использует дискретное ОЗУ а дискретный видеоадаптер имеет набортную память. Попробуйте для начала почистить контакты модуля память стёркой и протрите спиртом или зажигалочным бензином, это часто помогает.
    Ответ написан
    3 комментария
  • Как отключить автоматическое экранирование в phpstorm?

    nalomenko
    @nalomenko
    Руководитель отдела разработок в студии «Lava»
    Для этого нужно использовать Edit->Paste Simple вместо Paste.
    Чтобы для собственного удобства изменить настройки комбинаций клавиш (выполнять команду Paste Simple при нажатии Ctrl+V), воспользуйтесь пунктом меню Settings->Keymap
    Ответ написан
    Комментировать
  • Как подменить заголовок?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега PHP
    Пример #4 Использование потоковых контекстов
    <?php
    // Создаем поток
    $opts = array(
      'http'=>array(
        'method'=>"GET",
        'header'=>"Accept-language: en\r\n" .
                  "Cookie: foo=bar\r\n"
      )
    );
    
    $context = stream_context_create($opts);
    
    // Открываем файл с помощью установленных выше HTTP-заголовков
    $file = file_get_contents('http://www.example.com/', false, $context);
    ?>

    php.net/manual/ru/function.file-get-contents.php
    Ответ написан
    4 комментария
  • Как добавить SPF-record в debian?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Запись надо добавлять на NS-сервере вашего домена. Но для начала надо определить, почему не доходят письма. Отсутствие SPF-записи всего лишь одна, и не самая вероятная из возможных причин.
    Ответ написан
    3 комментария
  • Что почитать, что бы систематизировать и дополнить знания про MySQL?

    s0ci0pat
    @s0ci0pat
    I'm Awesome
    Шварц Б., Зайцев П., Ткаченко В. и др. - MySQL. Оптимизация производительности
    Ответ написан
    3 комментария
  • Как открыть порт в Linux менее 1024 обычному пользователю?

    @inkvizitor68sl
    Linux-сисадмин с 8 летним стажем.
    setcap 'cap_net_bind_service=+ep' /path/to/graylog/binary
    (это от рута сказать надо).
    Ответ написан
    4 комментария
  • В чем ошибка в php?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    1) На скриншоте не видно что такое 36 строчка.
    2) Могу догадаться что это global $connect
    a) внутри описания класса нельзя объявлять global. максимум можно объявить в конструкторе.
    б) не используйте global никогда! Почитайте про dependency injection и используйте его.
    Ответ написан
    2 комментария
  • Как забэкапить линуксовый сервер?

    valerium
    @valerium
    Изобретая велосипед
    «Взрослое» решение — это система управления конфигурациями, вроде Chef, Puppet, Ansible и др. Учитывая, что кроме собственно конфигурации Вам ничего бэкапить не надо (машина не хранит данных), то это почти идеальное решение.

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

    Therapyx
    @Therapyx
    Data Science
    "он знает что я занимаюсь разработкой сайтов " и "только на создание сайта визитки" Как-то не сочетается. Если он тебе реально друг, то лучше сразу признайся и скажи ему лучше на фрилансе заказать у опытных людей. Иначе это никакой не друг.
    Ответ написан
    1 комментарий
  • У кого такое было?

    nazarpc
    @nazarpc
    Open Source enthusiast
    Ну перевод на новую строку у вас попался (\n), что тут такого?
    Ответ написан
    1 комментарий
  • Сидячий образ жизни кодера на самом деле ухудшает здоровье?

    evnuh
    @evnuh
    Поиск Гугл помог мне, впусти и ты его в свой дом
    Сейчас все работают сутками за компом, не только программисты. А проблемы со здоровьем у программистов не из-за этого, а сами знаете почему. Им просто впадлу что-то предпринимать, да и не считают нужным (и я в том числе, т.к. у меня всё ок).
    Но, почему-то, именно программисты очень любят винить стул, мышь, клавиатуру, что там ещё у них неэргономичное?) Может потому, что проще купить дорогой стул, придумать работать стоя, лёжа, купить powerball, раскосую клавиатуру, силиконовый коврик для мышки и успокоиться, мол, вот теперь заживём?)
    Вот у меня никаких проблем, абсолютно. 8 лет уже программист.
    Ответ написан
    Комментировать
  • Как предотвратить зависание linux сервера при нехватке озу/цпу?

    gbg
    @gbg Куратор тега Linux
    Любые ответы на любые вопросы
    Как найти причину падения сервера?

    Вы наивно полагаете, что у экстрасенсов астральный отпуск имеет длительность всего в неделю?

    Все общие фразы по поводу отыскания глюков на сервере вам уже выдали.
    Ответ написан
    Комментировать
  • Нужно ли убивать переменные если больше не будишь использовать?

    skobkin
    @skobkin
    Гентушник, разработчик на PHP и Symfony.
    Зависит от ситуации.
    В большинстве случаев - не нужно. Сборщик мусора сделает всё за вас. Но иногда, например, когда у вас переменная является массивом, который в цикле заполняется, и при этом цикл работает очень долго, может быть целесообразно и очищать этот массив раз в некоторое количество итерраций, чтобы не засорять память.
    Если вы работаете с ORM типа Doctrine - опять же не мешает при длительных операциях с обработкой большого количества данных чистить identity map. Правда, это не совсем удаление переменных за собой.
    В общем, в подавляющем большинстве случаев, когда ваш код выполняется линейно и, тем более, если это функция, удалять переменные не нужно.
    Ответ написан
    2 комментария
  • Какое посоветуете легкое IDE для PHP под Linux?

    @sanex3339
    PhpStorm, не пойму, чем он вас смущает. Лучше него ничего нет.
    Ответ написан
    3 комментария