Тёмный

php уроки ооп [базовое php ооп] | Урок 10. Исключения (exceptions) 

Про PHP
Подписаться 929
Просмотров 5 тыс.
50% 1

Доброго времени суток и добро пожаловать на PHP уроки для начинающих. В этом уроке по PHP ООП мы разберем исключения PHP (Exceptions). Я расскажу насколько полезно использовать в своей работе исключения и как лучше организовать их работу.
Ссылка на документацию PHP исключения - php.net/manual/...

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

 

6 сен 2024

Поделиться:

Ссылка:

Скачать:

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

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 26   
@user-du6ns4ww6o
@user-du6ns4ww6o 2 года назад
Есть такие люди что готовы помогать людям не за кавришки а просто так для пользы обществу
@pavelst357
@pavelst357 3 года назад
Это самая четкая и понятная инструкция. Спасибо дружище)
@user-qg6fw1rb1c
@user-qg6fw1rb1c 3 года назад
Спасибо, понятные объяснения, подписалась)
@eloquent2200
@eloquent2200 2 года назад
Спасибо!
@user-qu1xb3iv9m
@user-qu1xb3iv9m 5 лет назад
Ну хоть один нормально объяснил что и как! Спасибо!!!
@ruslan_nurgaleev
@ruslan_nurgaleev 2 года назад
Неужели это правильный подход, для каждой ошибки создавать новый класс?
@meridian2469
@meridian2469 2 года назад
Чотко!!! Спасибо!!!
@theOneUser
@theOneUser 5 лет назад
Автору спасибо большое! Отлично объясняете!
@user-od6vt2zu5d
@user-od6vt2zu5d 2 года назад
Спасибо, то что нужно)))
@silkproduction
@silkproduction 5 лет назад
огонь! давайте ещё))
@user-dk9bp9cs9j
@user-dk9bp9cs9j 6 лет назад
Не очень понял как используя в catch базовый класс, внутри мы получаем доступ к свойству massage которые описаны в наследниках?
@php7219
@php7219 6 лет назад
Да, в классе User указываются классы исключений UserLoginException и UserPasswordException там, где происходит валидация (пароль или логин не верный). В catch, нужно просто указать их родительский класс UserException 1 раз в одном catch, и уже тогда при отлове, будут выведены св-ва protected $message классов потомков, которых отловили.
@user-db1zg5jd4m
@user-db1zg5jd4m 4 года назад
@Aleksandr Nikolaev обрати внимание, используется метод getMessage, а не свойство message.
@nikitos3828
@nikitos3828 Год назад
@@user-db1zg5jd4m то есть неважно как назвать переменную? в любом случае вызвав метод getMassege он будет таскать первое свойство из класса наследника?
@romanchubich2013
@romanchubich2013 Год назад
А польза-то в чем? if(strlen($login > 12) || strlen($login < 3)){ die('Wrong Login'); } Что должно заставить меня писать эту простыню и тащить ошибку через 3 уровня абстракции?
@financenvy3931
@financenvy3931 Месяц назад
+
@skynet7584
@skynet7584 5 лет назад
Вроде доступно. Но что за переменная $e? Хоть намекни
@php7219
@php7219 5 лет назад
Прив) можешь переменную назвать как угодно, $e или $exception - неважно)
@skynet7584
@skynet7584 5 лет назад
Про PHP да, но она нигде не объявлена, но присутствует в кэтче в качестве аргумента. Я не понял что она в себе несёт
@php7219
@php7219 5 лет назад
Это конструкция языка, Php сам проинициализирует переменную, в catch нужно просто указать класс исключения и имя переменной)
@Tornado-ln7fq
@Tornado-ln7fq 3 года назад
Эм расскажу как понять исключения. TRY - Попробовать. CATCH - Поймать. THROW // Бросить. Пример. try{//Пробуем echo "Start "; if(!$var){//Если ошибка throw new Exception('$var is False!');//Говорим что в переменную попала ошибка,и создаем класс исключения (Exception).//бросить в исключения. } echo "Continue ";//если мы не нашли ошибку в переменной } catch(Exception $e){//ловушка,присваиваем объект Exception переменной ($e) echo 'EXCEPTION : '.$e->getMessage()." ";//Вызываем метод получить сообщения. echo 'IN FILE : '.$e->getFile()." ";//получить имя файла где произошла ошибка. echo 'ON LINE: '.$e->getLine()." ";//Получить линию где произошла ошибка. die('Is blok Catch'); } echo "The end. ";
@andrewnikolaev4299
@andrewnikolaev4299 4 года назад
Прошу прощения за глупый вопрос, а зачем фигурные скобки: $this->sql = "INSERT INTO users VALUES ('',{$login}, {$password})"; Почему нельзя так: $this->sql = "INSERT INTO users VALUES ('',$login, $password)"; - все отлично работает???
@php7219
@php7219 4 года назад
Привет! вопрос хороший, многие не знают зачем это) вот ссылочка на документацию про внедрение переменных встроку - www.php.net/manual/ru/language.types.string.php#language.types.string.parsing З.Ы. я например по привычке пишу через фигурные всегда)
@andrewnikolaev4299
@andrewnikolaev4299 4 года назад
@@php7219 Спасибо!!! Просто низкий поклон!)
@ihorboiar1401
@ihorboiar1401 4 года назад
Спасибо!
Далее
Прохожу маску ЭМОЦИИ🙀 #юмор
00:59
Реализация паттернов ООП в PHP
51:51
Ссылки в PHP
22:15
Просмотров 11 тыс.
RESTful API на чистом PHP
1:01:15
Просмотров 92 тыс.
Прохожу маску ЭМОЦИИ🙀 #юмор
00:59