Как сделать систему переписки?сесть и сделать. Написать код(клиента и сервера), создать бд/таблички, настроить сокеты... Много чего сделать чтоб создать...
Ну как в ВК, или Telegram.Вообще 2 разные системы, первая сайт-соцсеть, вторая приложение.
Как сделать её быстрой?Оптимизировать код, оптимизировать запросы, купить сервер по мощнее,
Ваще прям с самого нуля, от добавления в базу данных до выведения на страницу.Ваще прям с нуля сначала пишете код добавления в базу, потом вывода на страницу, потом еще кучу всего, потом отладка, дебаг, тестирование, рефакторинг... Короче все как обычно, ничего принципиально отличного от любой другой задачи.
И как сделать чтобы показывалось прочитано или нет.при загрузке сообщения смотреть активно ли окно диалога, если активно - на сервер отослать что сообщение прочитано, если нет - по активации окна отослать что все ранее присланные сообщения прочитаны.
Редактирование и удаление сообщений.Да. В смысле делай. Все так же, код редактирования, код удаления...
<?php
if(isset($_POST['start'])) {
header('Location: http://test.ru/index.php?you') ;
}
?>
<form method="POST" >
<input type="submit" name="start" value="start" >
</form>
Location
не выводятся, если был какой-то вывод в тело ответа. (Или использовать буферизацию: см. ob_start()
и иже с ней.) Так писать по фэншую код или есть запись объектов в массив ровнее?У Вас тут не столько запись чего-то в массив, сколько предварительное присвоение значения переменной, с уже последующем добавлением оной в массив. Оно работать конечно будет, но выглядит несколько странно, на мой взгляд. Подобные принципы обычно используются в условных операторах или циклах (if/while), для последующей обработки переменной (результата).
$arr = [
new Quadrate(6),
new Cube(5),
new Rectangle (2),
... ,
];
а значит надо еще и прикручивать bladeНе значит.
К тому же кто-то писал, что dingo/api плохая вещь.Вас никто не заставляет его использовать, если он плохая вещь.
но я хочу грамотно и определить для себя хорошую архитектуру.Хорошая архитектура начинается с постановки конкретных задач и требований, а в данный момент у Вас нет вообще никаких конкретных требований - можете делать на чём угодно, для данных условий подходит любой вариант.
аргументированные ответы и ваш опыт.Мой опыт подсказывает мне, что Lumen был изначально придуман для максимальной скорости работы, что обычно важно при написании таких сервисов как различные REST/API-серверы, особенно при больших нагрузках на оные.
а следовательно зря тащиться каждый раз в проекте и мусоритьОбычно то, что Вы называете "мусором" лежит в тех папках, в которые программисту лазить по определению не положено. Но, если ставить вопрос именно так то "мусор" будет в любом случае, не зависимо от выбора фреймворка.
Для чего, в данном случае, возвращать объекты?Твой вопрос говорит о том, что ты не понимаешь разницу между объектом и массивом.
Чем мне это поможет на конкретном примере?ОК. Пример. Давай допустим, что твой объект Product не просто содержит свойства, а каждое свойство..... да - тоже является объеком. Итак, перепишем конструктор, добавим несколько свойств новых, для примера:
public function __construct(int $id, string $name, int $price, $decription, $discount_date){
$this->id = $id;
$this->name = new EntityText($name);
$this->price = new Price($price);
$this->decription = new EntityText($decription);
$this->discount_date = new MyDate($discount_date); // MyDate extends \Datetime
}
<html>
<div id="product<?=$obj->getId()?>">
<h1><?=$obj->getName()->getTextValue()?></h1>
<p>Цена: <?=$obj->getPrice()->getUSD()->asText()?></p> <!-- например, выведет "101 доллар США" (c правильной формой слова "доллар/доллара/долларов") -->
<p><?=$obj->getDescription()->getTextValue(200)?></p>
<p>Скидка действут <?=$obj->getDiscountDate()->formatAsHuman()?></p> <!-- выведет "еще 2 дня" -->
</div>
</html>
$deviceCode = $_SESSION['isMobileOnly'] ? 3 : null;
$opinionList = $dao->getOpinionList($bar['id'], $deviceCode);