Поиск установки postgresql: postgresql install ubuntu
Варианты доступа к базе данных
REPL (через командную строку) Примеры: SELECT * FROM ads; — выбрать все записи SELECT title FROM ads WHEREid = 4; — выбрать title для записи с id равным 4 SELECT telephone FROM ads ORDERBYidDESC; — выбрать все телефоны отсортировав их по полю id в обратном порядке INSERTINTO ads (telephone, title) VALUES (“392503”, “Куплю слона”); — вставить в таблицу ads новую запись DELETEFROM ads WHEREid = 5; — удалить запись с id равным 5
Подключение через драйвер PHP библиотека PDO – набор драйверов для подключения к базам данных Пример: // PDO Connection to MySQL $conn = new PDO(‘mysql:host=localhost;dbname=yourdbname’, ‘username’, ‘password’); // PDO Connection to PostgreSQL $conn = new PDO(‘pgsql:host=localhost;dbname=yourdbname’, ‘username’, ‘password’); // A quick Select Query with For Loop $result = $conn->query(“SELECT * FROM profile”); foreach ($result as $row) { echo $row[‘id’]; echo $row[‘title’]; echo $row[‘telephone’]; }
SQL – structured query language
Базовые знания
Базы данных. Необходимо уметь устанавливать и настраивать их. Настройка включает в себя оперирование сокетами (в том числе сетевыми), управление пользователями и многими другими вещами (опять знание операционных систем).
Необходимо знать SQL, что включает в себя и основы теории множеств.
M — ядро приложения. В идеале — чистая бизнес-логика. M не знает ничего о других частях приложения и не может на них влиять.
C – использует M для выполнения запрашиваемых операций и отвечает за генерацию V.
V – получает данные от C и иногда от M, но такое не приветствуется. И уж точно V не должен знать ничего о базе данных. Кстати, этим грешат начинающие разработчики, которые выполняют SQL запросы прямо из шаблонов.
Самые распостраненные (на 09/2019): Symfony, Laravel и Yii
Список возможностей:
Генерация кода. Любой полноценный фреймворк содержит утилиту cli, позволяющую генерировать код, например, тесты или миграции.
Встроенные механизмы для тестирования. Другими словами, фреймворк даёт возможность начать писать тесты практически без необходимости что либо дополнительное ставить или конфигурировать.
ORM. Либо своя, либо популярная для языка в целом.
Шаблонизатор и хелперы (вспомогательные функции) для повторяющихся задач вывода информации. Абстракции для работы с письмами.
Инструменты для интернационализации и локализации. Причём, в идеале, чтобы все остальные части фреймворка также были интегрированы с i18n.
Механизмы, обеспечивающие безопасность, например, CQRS.