Тёмный

Создание собственного PHP MVC фреймворка на ООП. 10. Класс Database 

Андрей Кудлай
Подписаться 6 тыс.
Просмотров 450
50% 1

В этом уроке мы напишем свой класс Database для работы с базой данных (БД).
Исходники к уроку - github.com/mat...
==========================================
💖 Поддержка канала
www.donational...
4731 2196 5549 6408 (ПриватБанк)
matroskin978@gmail.com (PayPal)
TXGoBr7UrwRUYx7FpzbiG8znkgC6fhwtEF (USDT TRC20)
410014621600849 (ЮMoney)
===============================================
Мои курсы на Udemy
Не получается приобрести курс или нужна скидка - обращайтесь. Решим :)
Курс "PHP 8. ООП. Создание собственного PHP MVC фреймворка":
www.udemy.com/...
Курс по созданию интернет-магазина и веб-приложений в Telegram - www.udemy.com/...
Курс по созданию собственного шаблона интернет-магазина для OpenCart 3 - www.udemy.com/...
Курс по PHP - www.udemy.com/...
СУБД MySQL и язык запросов SQL. Теория и практика - www.udemy.com/...

Опубликовано:

 

24 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 33   
@matroskin978
@matroskin978 8 дней назад
💖 Поддержка канала www.donationalerts.com/r/matroskin978 4731 2196 5549 6408 (ПриватБанк) matroskin978@gmail.com (PayPal) TXGoBr7UrwRUYx7FpzbiG8znkgC6fhwtEF (USDT TRC20) 410014621600849 (ЮMoney) =============================================== Мои курсы на Udemy Не получается приобрести курс или нужна скидка - обращайтесь. Решим :) Курс "PHP 8. ООП. Создание собственного PHP MVC фреймворка": www.udemy.com/course/php-8-framework/?referralCode=1D29D8356C893C7889B3 Курс по созданию интернет-магазина и веб-приложений в Telegram - www.udemy.com/course/telegram-bots-web-apps/?referralCode=A574DFE059CF9FF4E002 Курс по созданию собственного шаблона интернет-магазина для OpenCart 3 - www.udemy.com/course/opencart-3/?referralCode=96BAF7C78DF57D6A90CA Курс по PHP - www.udemy.com/course/php-8-ua/?referralCode=4DAAEA9CF6ADF447D879 СУБД MySQL и язык запросов SQL. Теория и практика - www.udemy.com/course/mysql-sql/?referralCode=B6655F05D32032D80C0B
@taishet03
@taishet03 8 дней назад
Срасибо за ценные и нужные уроки! Продолжай, не забрасывай!
@НиколайЗолотаревский-о3е
Андрей, огромное спасибо! Наконец-то дождались!
@matroskin978
@matroskin978 8 дней назад
Пожалуйста ;)
@mr_riabov
@mr_riabov 5 дней назад
Додивився до кінця відео, окрема подяка за транзакції, якраз стикнувся з необхідністю їх використання на практиці 👍
@matroskin978
@matroskin978 5 дней назад
@@mr_riabov будь ласка 🙂
@mr_riabov
@mr_riabov 6 дней назад
Андрій, дякую за вашу роботу. Чудовий і дуже корисний контент, як завжди 👍
@matroskin978
@matroskin978 6 дней назад
Будь ласка, як завжди 😉
@statistic-py6ip
@statistic-py6ip 8 дней назад
Привет Андрей, вот и дождались 10-ки, спасибо.
@matroskin978
@matroskin978 8 дней назад
Привет! Маленький юбилей получается))
@statistic-py6ip
@statistic-py6ip 8 дней назад
@@matroskin978 Да, 10-ый урок, 10-ый коммит, это уже дата....
@statistic-py6ip
@statistic-py6ip 7 дней назад
Сам урок и написание своего класса и методов для работы с базой все расставляет по местам, это понятно, расширяемо, независимо и думается многим нравится, спасибо Андрей 😊
@matroskin978
@matroskin978 7 дней назад
@@statistic-py6ip пожалуйста 😉
@dmitriykret8938
@dmitriykret8938 8 дней назад
спасибо, полезно👍
@ДжонЛокк-м5т
@ДжонЛокк-м5т 7 дней назад
Спасибо за видеокурс))
@matroskin978
@matroskin978 7 дней назад
Пожалуйста 🙂
@StasKantor
@StasKantor 8 дней назад
Спасибо тебе хороший человек за такие уроки
@matroskin978
@matroskin978 8 дней назад
Пожалуйста)
@StasKantor
@StasKantor 8 дней назад
@@matroskin978 Я твоих уроков жду, как бабушка новую серию сериала 😀
@matroskin978
@matroskin978 8 дней назад
@@StasKantor 😂 Спасибо)
@Monax-go6vq
@Monax-go6vq 7 дней назад
О-о! То, чего так ждали)) Спасибо огромное! Вопрос небольшой: если пользоваться данным классом, то предыдущий коммит не нужен (имеется в виду правки файлов core/Model.php, models/User.php, те трюки с филлаблами)? Не получится унаследовать модель от Database (вместо Illuminate), или как с ней работать более логично?
@matroskin978
@matroskin978 7 дней назад
Пожалуйста) Да, предыдущий коммит не нужен. В следующем уроке покажу, как полностью удалить пакет и его следы, будем использовать наш класс. Наследовать модель от него не нужно. Если ORM писать не будем, а я не планирую, тогда наследование не нужно, используем доступ к классу через функцию-хэлпер.
@Osgard-w6y
@Osgard-w6y 8 дней назад
Спасибо. Вы не планируете что-то по Symfony?
@matroskin978
@matroskin978 8 дней назад
Пожалуйста) Symfony в планах пока нет.
@AndriiP86
@AndriiP86 7 дней назад
Дякую за урок, було дуже пізнавально особливо про транзакції. Виникло питання чи в робочих БД в якій користувачі виконують операції CRUD, можна обмежити доступ на запис і оновлення на короткий час, а дозволити тільки читання даних, наприклад потрібно, щось поміняти і щоб в чей час не відбувалися нові записи.
@matroskin978
@matroskin978 7 дней назад
@@AndriiP86 будь ласка) По питанню. Навряд можливо. Але на практиці з такою задачею не стикався, тому точно не скажу. Є ексклюзивне блокування командою lock tables, але навряд воно підійде для вашої задачі. Але подивіться, можливо, як варіант.
@AndriiP86
@AndriiP86 7 дней назад
@@matroskin978 дякую за відповідь, ще таких задач не було, це я так для загального розуміння
@statistic-py6ip
@statistic-py6ip 8 дней назад
Замечательно, только для тех, которые не будут использовать Eloquent/Illuminate, в коде остались следы, пространства имен типа Illuminate\Database\Capsule\Manager, конструкции use, методы типа $model->save(), в json есть записи и т.д. Это неиспользуемый код, как нам теперь вычистить его за ненадобностью?
@matroskin978
@matroskin978 8 дней назад
@@statistic-py6ip да, если использовать не планируете, то можно убрать. Хотя мешать и как-то влиять на работу они не будут пока. Убрать просто: удаляете из кода все импорты. Из модели удаляете метод save и наследование. Из composer.json удаляете зависимость и в консоли выполняете команду composer update. Ну или дождитесь следующего урока, я покажу последовательность действий.
@statistic-py6ip
@statistic-py6ip 8 дней назад
@@matroskin978 Спасибо, как бы чего не забыть, лучше дождусь следующего урока.
@statistic-py6ip
@statistic-py6ip 8 дней назад
Андрей иногда редактор подсказывает, что метод возвращает не false/string а bool/string на примере метода getInsertId По сути разницы ведь нет, но все же как будет канонически правильней?
@matroskin978
@matroskin978 7 дней назад
Зависит от версии PHP. До версии 8.2 самостоятельных возвращаемых типов true и false не было, поэтому можно было использовать общий тип bool. С версии 8.2 можно использовать более конкретный тип. Поэтому можете использовать любой вариант. Если используете PHP >= 8.2, тогда можете конкретизировать. Ну и, само собой, обращайте внимание на то, что возвращает родной метод или функция. Если она возвращает именно bool, т.е. может вернуть и true, и false, - тогда используем bool. Если в документации написано более конкретно (true или false), тогда можем конкретизировать, если позволяет версия PHP.
@statistic-py6ip
@statistic-py6ip 7 дней назад
@@matroskin978 использую версию 8.2.18 редактор VSCode, то ли он не понимает версию, то ли с очередным обновлением начал добавлять самостоятельные подсказки, серым шрифтом, типа как у Вас в PHPStorm, поэтому как только указал имя метода, закрыл скобки, сразу добавляет хинты, типа подсказки и они бывают не как у Вас....думаю конечно не страшно, можно и самому прописывать. Спасибо за ответ.
Далее
The joker favorite#joker  #shorts
00:15
Просмотров 23 млн
Ozoda - Lada (Official Music Video)
06:07
Просмотров 7 млн
AWAKENED THE UNKNOWN
00:17
Просмотров 2 млн
Использование SQLite в PHP
29:04
Postgres just got even faster
26:42
Просмотров 28 тыс.
PHP, PDO Доступ к базе данных #1
36:26
КАК УСТРОЕН TCP/IP?
31:32
Просмотров 112 тыс.