• MVC, модель для каждой таблицы?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Создаю модель Schedule у которой метод getClassSchedule($class_id) должен получить данные из 2х этих таблиц


    Это не модель, это сервис. Модель это какой-то класс который инкапсулирует данные, это сущность которой оперирует ваша бизнес логика. Если бы мы говорили в контексте языков типа c# или Go - модель это старая добрая структура, просто структура... в PHP есть только классы, потому это у нас это классы.

    То есть в вашем случае у вас есть сервисный класс Schedule который инкапсулирует в себя бизнес-логику управления рассписанием для каких-то сущностей. Как оно это делает - не важно.

    Что до таблиц и моделей - модели в идеале никак не завязаны на то, как они хранятся в базе. Это просто классы. Их проектируют исходя из того, как проще будет работать с ними в рамках приложения. В базе они могут храниться совсем по другому и задачу хранения должны бать на себя другие сервисы. Скажем у вас может быть несколько моделей, наследующихся от базового класса. Например базовый класс Client делится в итоге на розничных и оптовых покупателей, у каждого свои поля, часть полей общая, часть логики общая, например авторизация.... логично иметь базовый класс и два наследника. В базе это все может храниться в одной таблице, или в нескольких, или еще как....

    Если вам интересно - советую почитать про DDD (Domain Driven Design).
    Ответ написан
    Комментировать
  • Как вытащить src из img и вставить в file_put_contents?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    @Vadim997

    Не знаю что именно Вы хотите сделать, но код у вас просто какой то бред.
    Вы явно не понимаете что такое php и что такое js.
    Ознакомьтесь пожалуйста phpfaq.ru/na_tanke
    Ответ написан
    2 комментария
  • Какие программные методы защиты можно использовать фрилансеру в случае обмана со стороны заказчика?

    sayber
    @sayber Куратор тега PHP
    Да, я программирую на PHP и еще асинхронно!
    Сделали сайт. Ок.
    выкинули к себе на облако. Поставили доммен и готово.
    Заказчик пользуется, радуется.
    Ждете оплаты. Как средства поступили, отдаете облако заказчику.
    Иначе просто закрываем сайт.

    Я так уже лет 6 делаю. Все довольны и код всегда у вас до оплаты.

    Если тут собрались товарищи которые отдают готовый сайт заказчику до оплаты, печально.
    P.S.
    Все финансовые дела надо проводить в письменном виде.
    А то я вас знаю - предложу сделать сайт за 100к, вы мне отдаете а я вас посылаю.
    Подтверждения сделки нет
    Ответ написан
    Комментировать
  • Что такое такое rest api?

    @eandr_67
    web-программист (*AMP, Go, JavaScript, вёрстка).
    API социальных сетей - это вполне типичные примеры реализации REST API.

    REST (RESTful) - это общие принципы организации взаимодействия приложения/сайта с сервером посредством протокола HTTP. Особенность REST в том, что сервер не запоминает состояние пользователя между запросами - в каждом запросе передаётся информация, идентифицирующая пользователя (например, token, полученный через OAuth-авторизацию) и все параметры, необходимые для выполнения операции.

    Всё взаимодействие с сервером сводится к 4 операциям (4 - это необходимый и достаточный минимум, в конкретной реализации типов операций может быть больше):
    1. получение данных с сервера (обычно в формате JSON, или XML)
    2. добавление новых данных на сервер
    3. модификация существующих данных на сервере
    4. удаление данных на сервере

    Операция получения данных не может приводить к изменению состояния сервера.

    Для каждого типа операции используется свой метод HTTP-запроса:
    1. получение - GET
    2. добавление - POST
    3. модификация - PUT
    4. удаление - DELETE

    Т.е. :

    GET-запрос /rest/users - получение информации о всех пользователях
    GET-запрос /rest/users/125 - получение информации о пользователе с id=125
    POST-запрос /rest/users - добавление нового пользователя
    PUT-запрос /rest/users/125 - изменение информации о пользователе с id=125
    DELETE-запрос /rest/users/125 - удаление пользователя с id=125
    Ответ написан
    20 комментариев
  • "Вечные" сессии на PHP. Выдержит ли сервер?

    jakulov
    @jakulov
    Почитайте сначала, как организованы сессии в PHP php.net/manual/ru/intro.session.php
    Ответ написан
    Комментировать
  • "Вечные" сессии на PHP. Выдержит ли сервер?

    AxisPod
    @AxisPod
    А как по вашему работают сессии на PHP? Всё через те же Cookie, просто хранится идентификатор сессии в Cookie, а данные хранятся на сервере в файловой системе (по дефолту, но поведение можнор и изменить). Выдержит.
    Ответ написан
    5 комментариев
  • Как правильно вызвать JavaScript функцию вида $.function(); из PHP?

    Petroveg
    @Petroveg
    Миром правят маленькие с#@&ки
    Что-то вы у себя в голове сложили, но не разобрали. Ничего, это мы сейчас поправим:)
    PHP скрипты исполняются на сервере. Javascript скрипты исполняются на клиенте (например, в браузере). Они не работают вместе.

    Код, что вы считаете кодом страницы, отдаётся сервером как text/html, и ровно так же разбирается браузером. Пока не начал работать HTML-парсер, никакие скрипты не JS-выполняются и не могут выполняться. А ваши PHP-скрипты давно закончили работу и к браузеру не имеют вообще никакого отношения.

    Безусловно, есть вариант выполнения JS-скриптов на сервере (тот же Node.js), но код, что вы привели, предназначен для работы на клиенте.

    В общем, $.fixLinks() можно вызвать только в браузере, но PHP к этому имеет отношение, как человек, бросивший письмо в почтовый ящик, к работе этой самой почты.
    Ответ написан
    4 комментария
  • Что случилось с vk.com?

    adsllinkact
    @adsllinkact
    adsllinkact
    Пресс-секретарь соцсети Георгий Лобушкин говорит, что:

    Испытываем проблемы с некоторыми разделами сайта. Спешно чиним. Скоро всё восстановится.
    Все фотографии, записи и сообщения ВКонтакте, которые сейчас недоступны по невыясненным причинам, скоро вернутся. Мы работаем над этим


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

    PavelMSTU
    @PavelMSTU
    Автор не написал, какую задачу решает и потому ответить на его вопрос без треша невозможно.
    Ответ написан
    Комментировать
  • Как написать операционную систему с нуля?

    svd71
    @svd71
    Согласен с большинством коллег - писанина операционки для коммерческого применения - весьма хлопотное занятие и в денежнов эквиваленте, и в трудоресурсах, и по времени , и даже в маркетинге.
    Учитывая все это, такие системы обычно пишут не совсем с нуля. Пример: QNX. За основу взято юниксовое ядро и переписано под систему реального времени. Теперь они активно продают свою систему для управленя атомными реакторами.

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

    Если же речь идет о создании операционки "для себя", вопросов нет - ваше время и ваше желание. Вам нужно просто проанализировать, какие функции для разработчиков предоставляют другие ОС (в основном это базовые: возможность работать с файловой системой и конвертация данный в файловой системы из/в устроств ввода/вывода и хранения данных.

    Так же можно изучить все грабли, сделанные другими: например ту же коллибри, или поискать исходники какого-нибудь ДОСа (Микрософт своей досни опубликовали вроде бы, TR-DOS можно найти и т.п.) или поизучать предтече Линукса - minix (ведь Торвальдс начал именно с нее). А еще лучше присоединиться к какому-нибудь существующему проекту (Minix, Linux, Kollibry, ReactOS) и начать создание чего-либо под них.
    Ответ написан
    1 комментарий
  • Как написать операционную систему с нуля?

    ReactOS пилится с 98 года, простите, но 16 лет как бы, а их даже бетой сложно назвать.
    Хотите написать свою ОС с "нескучными обоями"?
    Книжки уже посоветовали, а еще понадобиться дофигилиард бабла, потому что единолично это просто не потянуть, а людям, хочется кушать и прочие мелкие радости жизни.
    Язык программирования, ххм C / C++
    Ответ написан
    5 комментариев
  • Как написать операционную систему с нуля?

    Awake
    @Awake
    Рулю разработкой ;-)
    Почитайте, что такое операционные системы для начала и теорию по ним. Книжка есть даже такая "Операционные системы". И не будете задавать идиотских вопросов.
    Ответ написан
    Комментировать
  • Посадят ли за определение кр*мских IP как у***инских?

    Awake
    @Awake
    Рулю разработкой ;-)
    Этот вопрос стоило задавать из-под TOR+VPN с аккаунта на анонимную почту) тогда точно не найдут)
    Ответ написан
    Комментировать
  • Что изучать, на что тратить свободное время, чтобы в будущем стать востребованным программистом с нормальным заработком?

    lexxpavlov
    @lexxpavlov
    Программист, преподаватель
    Ответ на вопрос будет сильно зависеть от того, в каком направлении вы думаете развиваться.
    Будет ли это сетевое программирование? Тогда это си, в основном.
    Может быть, веб-программирование? Тогда тут могут быть php, javascript, python, ruby.
    Захотите разрабатывать программы на десктоп? Вам нужны c# или java.
    На мобильные платформы? тогда java и objective c (плюс swift).
    Или податься в разработку игр? Тогда либо c++, либо с# (для Юнити - наверное, самой популярной платформе).
    Хотите экзотики? Приглядитесь к функциональным языкам - Erlang и Haskell.
    Разработка железа и драйверов для железа? тогда си (без плюсов) и ассемблер.
    Определитесь, что вы хотите, потому что всё объять не получится. Выберите один (или два) направления и добейтесь хорошего уровня в нём. А потом вам будет уже легче двигаться дальше.

    Мой совет - попробуйте изучать C# или Java (они во многом похожи) для софта, или Javascript и php/python для веб-приложений и сайтов.

    Добавлю, что очень правильный совет дал @tsarevfs - помимо языка программирования, хороший программист должен знать несколько инструментов - и в первую очередь, это система контроля версий, например, git. Плюс юнит-тестирование (хотя это можно начать изучать позже, через годик-два). Плюс - нужно хорошо знать свою IDE, в которой работаете; не вздумайте работать в блокнотиках!

    Ещё помимо практики нужно знать теорию - читайте Макконнелла, Фаулера, Мартина, Бека.
    Подпишитесь на хабре на пару десятков хабов и регулярно читайте всё подряд. Через годик ваш уровень понимания статей сильно вырастет.

    Я сам преподаватель программирования в колледже, и, к сожалению, таких желающих изучать там очень мало. Пишите мне в личку, если будут вопросы.

    UPD. Важное дополнение из обсуждения в комментариях (спасибо @Argentum88 @Deerenaros )
    Чтобы стать профессионалом и "востребованным программистом с нормальным заработком", нужно очень хорошо понимать внутреннее устройство тех систем (платформ, фреймворков), на которых идёт работа.
    Для этого нужно заглядывать вглубь. Изучив различные мейнстрим-инструменты, посмотреть на аналогичные менее популярные системы. Изучать исходный код используемых open-source библиотек. Написать свою подобную систему. Для web - написать свою CMS (хотя бы базовую). Для десктоп-программ - попробовать программировать без навороченных библиотек, которые делают рутинную работу за программиста. Для разработчика игр - сделать простую игру на базовом инструментарии платформы, где всё придётся делать своими руками.
    Всё это даст возможность проникнуться, почему всё делается именно так, даст понимание взаимосвязей разных частей программы.
    А потом, осознав это, выбрать один из уже готовых инструментов, и продолжать писать на нём, уже обладая более глубоким его пониманием.
    Ответ написан
    21 комментарий
  • Посадят ли за определение кр*мских IP как у***инских?

    iiil
    @iiil
    Инженер и вэб-дизайнер, рисую.
    Так а чего Вы гадаете - сделайте запрос в прокуратуру.
    Ответ написан
    Комментировать
  • Как зашифровать ajax?

    deadbyelpy
    @deadbyelpy
    веб-шмеб
    Все что находится на клиенте - может быть извлечено.
    Все что кодируется на клиенте - может быть расшифровано, т.к. где то есть ключ для расшифровки.
    Все что приходит с сервера на клиент, и там же расшифровуется - ну вы поняли.
    Оперируя данными на клиенте - опытный веб разработчик сможет понять, что это за данные и куда они уходят.

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

    есть еще много другого, но подумайте, стоит ли заморачиваться? Т.к. смысла нет.
    Ответ написан
    5 комментариев
  • Стоит ли еще раз проверять данные из формы на сервере, если ее уже проверил javascript на клиентской стороне?

    @savik
    Проверка на сервере ОБЯЗАТЕЛЬНАЯ! А уже во вторую очередь на стороне клиента через JS.
    Ответ написан
    Комментировать
  • Стоит ли еще раз проверять данные из формы на сервере, если ее уже проверил javascript на клиентской стороне?

    viktorvsk
    @viktorvsk
    Проверка у клиента - для удобства клиента
    Проверка на сервере - для безопасности клиентов
    Ответ написан
    Комментировать
  • Стоит ли еще раз проверять данные из формы на сервере, если ее уже проверил javascript на клиентской стороне?

    sergoslav_0
    @sergoslav_0
    PHP / Magento / Laravel
    Даже если JS включен, данные, отправляемые из браузера, легко подменить. Обязательно проверяйте!
    Ответ написан
    Комментировать