Создание собственного фреймворка. Модель и работа с БД. Часть 2. Урок 6

preview_player
Показать описание
Премиум уроки по созданию сайта:

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

В видео версии урока вы найдете ответы на такие вопросы:

• Что такое модель?
• Как реализовать шаблон Singleton?
• Как работать с PDO?
• Как настроить подключение к БД, используя PDO?
• Как реализовать простую отладочную панель?

Рекомендации по теме
Комментарии
Автор

Вот всем кто снимает видео уроки, берите пример! Всех кого видел скучно смотреть, а данный автор просто молодец, сел в обед и и вот до вечера все 7 уроков пересмотрел на одном дыхании! Великолепно!

TheNcoding
Автор

Андрей Кудлай - один из НЕМНОГИХ преподавателей, которые действительно разбираются в теме!

unjvnro
Автор

Большое спасибо за данную серию уроков!

konstantinewhite
Автор

К сожалению, мне за 1.5 года обучения на курсах рассказали только в общих чертах об php ООП. Мол, есть классы, абстрактные, трейты, интерфейсы и т. п. А вот пользоваться этим не научили. Да и вообще, не научили создавать полноценные сайты. Рассказали HTML5, CSS3, Javascript, php. А как соединять воедино детали этого телевизора не рассказали. Вот и приходиться на просторах инета разбираться самому. СПАСИБО ВАМ, Андрей! Вы замечательный преподаватель и только благодаря Вам я начинаю понимать, как, все же, собирается этот телевизор!

wpinyeu
Автор

Вкуриваешь, конечно, не "с пол-пинка", но как раскуришься - шиккааарноооо... ))) Спасибо!

androgenius
Автор

ЭТО просто супер. Лучшее что я видел на просторах сети. просто, доступно, а главное нормально все объясняется. СПАСИБО

maximrad
Автор

оу... наконец-то!
Андрей, спасибо большое.
Тревожные от вас были посылы в уроке №4, но, надеюсь, смутные времена позади))
Спасибо за уроки и ждем продолжения.

vuujlem
Автор

Спасибо, граматно и лаконично.По поводу платной части это верное решение. Успехов

sergeidubrovin
Автор

ПРОДОЛЖЕНИЯ БУДЕМ ЖДАТЬ ВСЕГДА, ПОЖААААЛУЙСТА НЕ ОТМЕНЯТЕ ОООООЧЕЕЕНЬ ИНТЕРЕСНО!

middle
Автор

Спасибо Вам! Вы хороший учитель. Четко, доходчиво и ничего лишнего, как раз все на высоте!

masterphp
Автор

Очень крутой курс! Спасибо!
Я на базе этих знаний делаю фреймворк TonePHP. Можете загуглить)

skaidans
Автор

Мааленькое замечание.
Ели вы на уровне ядра создаете соглашение о необходимости некоторых полей в абстрактном классе, то и при обращении к ним, лучше придерживаться этому соглашению. У нас есть поле table, с модификатором private, и с которым и работает наш абстрактный класс Model в ядре. Не стоит, создавая модель, определять одноименное поле, да еще и пониженым модификатором. Переопределяйте поле через конструктор, путем наследования его от родителя. Таким образом, считаю что класс MainModel должен иметь вид:

class MainModel extends Model
{
public function __construct()
{
parent::__construct();
$this->table = 'posts';
}
}

Поверьте, с такой конструкцией вы получите меньше гемора. Особенно отлавливая ошибки, с банальным неверным именованием поля.

mugen
Автор

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

grantorino
Автор

Отличная подача материала, спасибо за уроки)

ohwhyyouneedtoknowit
Автор

Спасибо, Андрей. Очень нравится твой подход в обучении

DrTopk
Автор

Здравствуйте. Очень классные уроки. Пробовал раньше создать фреймворк, используя компоненты Symfony, но было очень много вопросов, как все огранизовать. Оставил работу над ним.
Нашел ваши уроки, посмотрел, выяснил для себя многое.
Спасибо за уроки! Сил вам в вашей работе. С нетерпением жду следующие уроки.
Если возможно, сориентируйте, когда будут следующие видеоуроки!

ViLan-pjuo
Автор

Огромное спасибо за уроки. Сам давно хотел для себя написать фреймворк для разработки под современные тенденции. Наконец-то сделаю с вашей помощью. Еще раз спасибо за ваш труд!

andreymalgavkin
Автор

Ну, вот я и вернулся спустя 3 года... Впечатления от курса - те же. Всё даётся теперь гораздо легче (что-то всё-же запомнилось). В жизни уже вряд-ли пригодится, но всё равно интересно. :)

androgenius
Автор

Супер, ждем продолжения, еще хотелось бы узнать как правильней подключать к нему api сторонних сервисов

chelcreativ
Автор

я сделал так в Controller.php:

public $model;

public function __construct($route) {
$this->route = $route;
$this->view = $route['action'];
$this->loadModel();
}

public function loadModel() {
$mObj =
if(class_exists($mObj)){
$this->model = new $mObj;
} else {
throw new \Exception("Модели {$mObj} не существует");
}
}
И теперь не надо постоянно подключать модели в ручную, мне кажется так проще.

AnatoliyYakovlev-sxvx