Урок 12. PHP - ООП. Автоматическая загрузка классов. Пакетный менеджер composer

  Рет қаралды 36,418

Pavel Belik (Разван Ломов)

Pavel Belik (Разван Ломов)

Күн бұрын

Пікірлер: 67
@Виталий96-к4я
@Виталий96-к4я 4 жыл бұрын
Дуже приємно дивитися ваші відео ! Дякую !
@bobpps
@bobpps 8 жыл бұрын
Большое спасибо!Все, как всегда, доходчиво и без лишней воды!
@codingfox
@codingfox 7 жыл бұрын
Очень хороший стиль изложения, пожалуй один из лучших в русскоязычном ютубе
@СергейНосов-э5е
@СергейНосов-э5е 4 ай бұрын
Хороший урок...............!!!!!!!!!
@maksimk524
@maksimk524 7 жыл бұрын
Разван, спасибо. Нашел тебя по запросу композер. Углубил знания в этой теме)
@androideasycoding
@androideasycoding 5 жыл бұрын
Запишите курс о создание полноценной доски объявлений по типу olx, avito. Ну в общем что то похожее на cms tamaranga.
@moduchanyu4025
@moduchanyu4025 8 жыл бұрын
скажите а при использовании самописного или композерсокго автолодера - обязятельно ли чтобы названия классов совпадали с названиями имен файлов, в которых эти классы находятся?
@felix9091
@felix9091 3 жыл бұрын
Спасибо из 2020 года! )))
@pavelbelik
@pavelbelik 3 жыл бұрын
) очень рад, что это может быть до сих пор полезно
@noizoi9525
@noizoi9525 6 жыл бұрын
композер работает одинаково в локалхосте и на реальном хосте? или при переносе нужно будет еще что-то делать?
@SonatixTutorials
@SonatixTutorials 8 жыл бұрын
Было бы интересно увидеть материал по SOLID-принципам и паттернам в твоем стиле. Продолжай снимать!
@pavelbelik
@pavelbelik 8 жыл бұрын
+Sonatix Tutorials , курс "Современные паттерны проектирования" запланирован следующим.
@yuriykalandarov9661
@yuriykalandarov9661 8 жыл бұрын
а когда будет курс по паттернам? и так же когда интернет магазин на php?
@pavelbelik
@pavelbelik 8 жыл бұрын
3 урока курса по паттернам уже есть. Ищите среди моих видео. Магазина может и не быть совсем - вместо него какой-то опен сорс проект.
@TheDron84
@TheDron84 5 жыл бұрын
В чем разница между "определенным путем в файловой системе" и "остальным путем"? 12:25
@DenysZubanov
@DenysZubanov 7 жыл бұрын
Как перехватывать fatal error вызываемый в composer autoload.php?
@alexkostrov5186
@alexkostrov5186 5 жыл бұрын
отличный канал, подписался!
@prsion1925
@prsion1925 5 жыл бұрын
подскажи пож-ста почему не работает= есть в папке app файл Func.php- в нем в основном файле index.php namespace liw\app; $func=new Func(); $func(); ПОЧЕМУ НЕ РАБОТАЕТ =ВЗРЫВ МОЗГА ПОЖАЛУЙСТА ПОДСКАЖИТЕ!!!!!
@ДинозаврЖорик
@ДинозаврЖорик 8 жыл бұрын
Спасибо, ты крут)
@KlinovAS
@KlinovAS 6 жыл бұрын
Спасибо. Отлично объяснил. В справочнике к сожалению не описано что эта функция работает как "событие" на встречу новых неопределенных классов. Потому ничего не было ясно что и за чем. "__autoload - Попытка загрузить неопределенный класс" это вообще я думаю неправильное описание. Спасибо за видео.
@777android777
@777android777 6 жыл бұрын
18:00 - наверное, все таки не сплит, а Standard Php Library ? Но за уроки все равно спасибо!
@sedovolosyi
@sedovolosyi 5 жыл бұрын
ага, SPL это не сплит, а так норм, спасибо!
@FlexXDXDXD
@FlexXDXDXD 6 жыл бұрын
Спасибо, отлично объяснено!
@ЮраМартынюк
@ЮраМартынюк 8 жыл бұрын
Разван, доброго времени суток! Посмотрел урок, все классно :) . Единственная вещь чего не могу понять, почему 'liw\\'? Вы сказали, что если мы будем встречать префикс - liw (перед классом), то мы находимся в папке нашего проекта. Раньше была иерархия каталогов: app, vendor, web. В каталоге vendor/ находился фреймворк liw. Почему нужно прописывать теперь liw/app/App и т.д., пока не могу понять. )) Может нужно было выбрать другой префикс, тогда не было бы путаницы? Если Вам не тяжело, объясните этот момент более подробно.
@pavelbelik
@pavelbelik 8 жыл бұрын
Я хотел акцентировать внимание на том, что любой префикс можно привязать к любой папке. Не имеет ровным счетом никакого значение, какой префикс к какой папке мы привяжем. Мы просто так придумали для собственного удобства. Если это кажется неудобным, сделай так., как удобно - нет проблем ;)
@ramanzes7832
@ramanzes7832 3 жыл бұрын
@@pavelbelik тут как раз совсем не понятно где указывается что для liw\\ соотвествует директории именно /app если мы просто в json указали как {liw\\:"";}
@ramanzes7832
@ramanzes7832 3 жыл бұрын
команда composer update -a может кому-то пригодится
@vyacheslavartemov453
@vyacheslavartemov453 7 жыл бұрын
Кто на опенсервере делал? Нормально работает?
@gartes-dev
@gartes-dev 6 жыл бұрын
Спасибо !! Хорошие уроки у тебя! - Сопланетчик !)))) +Like!
@zeroone1996
@zeroone1996 7 жыл бұрын
Спасибо!
@VasilyMesser
@VasilyMesser 7 жыл бұрын
Спасибо, на днях столкнулся с composer, и сейчас всё понял, что к чему. А что это за IDE у Вас на видео?
@antonnikolenko3538
@antonnikolenko3538 5 жыл бұрын
PHP Storm
@mailagogle1463
@mailagogle1463 7 жыл бұрын
Жаль, что нигде нет уроков - как работать с Composer через SublumeText3 а так вообще ничего не понятно( А в Open Server его устанавливать не нужно, но нужно тоже настраивать как-то..
@zakharokuniev7018
@zakharokuniev7018 4 жыл бұрын
5:18 у меня работает в PHP7 если вместо __autoload($className){..} написать __myFunction($className){..} и строкой ниже spl_autoload_register('myFunction'); . Иначе не работает.
@trsk-mh2mh
@trsk-mh2mh 2 жыл бұрын
Cпасибо!!!
@moduchanyu4025
@moduchanyu4025 8 жыл бұрын
вы пробовали вместо psr-4 - classmap? мне он показался прост в настройке, как я понял не нужно записывать везде namespace.
@pavelbelik
@pavelbelik 8 жыл бұрын
Пробовал. Если я правильно понял - это то, что используется в Laravel. Если да, то у этого подхода серьезный недостаток - сложно настраиваемая подсветка кода в редакторе. Т.е. классы, которые смапены, автоматически не подхватываются редактором. В остальном, все отлично. Но для меня быстрое автодополнение кода решает, т.к. экономит ОЧЕНЬ много времени.
@moduchanyu4025
@moduchanyu4025 8 жыл бұрын
понятно
@NickOrlovOfficial
@NickOrlovOfficial 6 жыл бұрын
Вы крутой! :)
@ПавелГолубцов-у7ю
@ПавелГолубцов-у7ю 5 жыл бұрын
А чем плох метод просто spl_autoload_register(); и все так же работает.
@Tavda
@Tavda 7 жыл бұрын
Фигасе как сложно. А можно папку с классами задавть в пути для inlcude и они будут грузиться сами без всяких функций. Даже с учётом namespace. Разве что файлы надо называть в нижем регистре.
@zvuvada
@zvuvada 8 жыл бұрын
Привет. Уроки класс!!! Только можно пожалуйста в будущем, когда ты даешь урок, само видео в котором ты пишешь код УВЕЛИЧИВАТЬ, так как хочется прилечь послушать, а не можешь, так как кода самого не видно.
@pavelbelik
@pavelbelik 8 жыл бұрын
Да, конечно.
@webdeveloper2084
@webdeveloper2084 8 жыл бұрын
Разван сделай задний фон белого цвета когда будешь записывать урок ато плохо цвета сочетаються тама.
@pavelbelik
@pavelbelik 8 жыл бұрын
+Web Developer , цвета сочетаются хорошо. Это уже обсуждалось - пока фон менять не собираюсь. В будущем, устроим голосование, чтоб выяснить, какой фон больше нравится подписчикам - и буду использовать его.
@poleznoclansu
@poleznoclansu 7 жыл бұрын
Если будущее еще не настало - забей на подписчиков, делай как тебе удобно, все нормально DJ! Тема не для блондинок в вакууме, пусть адаптируются. П.Н. Кому-то все равно будет не так. Всех не подстроишь, под всех не подстроишься.
@ik7122012
@ik7122012 6 жыл бұрын
Вы мне чем-то напоминаете Карла Урбана)
@moduchanyu4025
@moduchanyu4025 8 жыл бұрын
Привет, сопланетчик) Какой смысл добавлять "/../" после __DIR__ ?
@pavelbelik
@pavelbelik 8 жыл бұрын
это нужно, чтоб путь был правильным вне зависимости от того, откуда был подключен этот файл. Если написать путь просто как '../', то подключив файл внутри другого файла, который находится в произвольном месте мы получим испорченный путь.
@moduchanyu4025
@moduchanyu4025 8 жыл бұрын
так вроде если его полностью убрать работать он все будет как и с ним , нет? к примеру в самом файле autoload.php от composer-a: require_once __DIR__ . '/composer' . '/autoload_real.php';
@pavelbelik
@pavelbelik 8 жыл бұрын
Modu Chanyu нет, '/../otherFolder' - означает выйти из папки и войти в другую.
@ВасилийМарсель
@ВасилийМарсель 7 жыл бұрын
давно не слышно тебя?
@ВасилийМарсель
@ВасилийМарсель 7 жыл бұрын
Разван Ломов вчера смотрел твое видео об 10 заблуждениях . Хорошая тема "Советы начинающим". И не мение интерестна чем обучающие ролики.
@romnytandem
@romnytandem 5 жыл бұрын
// Устаревший вариант //function __autoload($class) //{ // require __DIR__ . '/' .str_replace('\\', '/', $class) . '.php'; //} // Актуальный вариант с безымянной функцией spl_autoload_register(function ($class) { require __DIR__ . '/' .str_replace('\\', '/', $class) . '.php'; });
@yestayyesentayev1113
@yestayyesentayev1113 7 жыл бұрын
Пишу точно так же как ты но не работает. Вообще не понял.
@pavelbelik
@pavelbelik 7 жыл бұрын
Проверь версию php. Должна быть не ниже 5.6
@BuxMonitoring
@BuxMonitoring 8 жыл бұрын
function __autoload($name){ include("classes/_class.".$name.".php");} - По сути тоже самое
@pavelbelik
@pavelbelik 8 жыл бұрын
всегда есть множество решений одной и той же задачи. Если ваше решение лучше, напишите, чем?
@NMelis
@NMelis 7 жыл бұрын
зачем это?, например в index.php - не нужно же 1 000 000 классов импортировать - это будет каша!
@pavelbelik
@pavelbelik 7 жыл бұрын
Что зачем это? Я понимаю, что вы писали пост в ответ на мои слова, но непонятно, на какие? В index.php нужно импортировать специальную функцию, которая автоматически будет подключать все классы, по мере их появления в коде.
@hechnqn3460
@hechnqn3460 8 жыл бұрын
function __autoload($class){ require __DIR__ . '/' .str_replace('\\','/',$class) . '.php'; } мне удобней так и потом equire __DIR__ .'/autoload.php'; $user= \App\Models\User::findAll()
@pavelbelik
@pavelbelik 8 жыл бұрын
Отлично! ;)
@louispython8215
@louispython8215 4 жыл бұрын
Спасибо!
@SPLAYSPRAY
@SPLAYSPRAY 6 жыл бұрын
круто мужик!
Урок 13. PHP - ООП. Интерфейсы (Interface)
15:16
Pavel Belik (Разван Ломов)
Рет қаралды 24 М.
Players push long pins through a cardboard box attempting to pop the balloon!
00:31
БУ, ИСПУГАЛСЯ?? #shorts
00:22
Паша Осадчий
Рет қаралды 3 МЛН
Can You Find Hulk's True Love? Real vs Fake Girlfriend Challenge | Roblox 3D
00:24
When Cucumbers Meet PVC Pipe The Results Are Wild! 🤭
00:44
Crafty Buddy
Рет қаралды 59 МЛН
Урок 14. PHP - ООП. Трейт (trait)
13:37
Pavel Belik (Разван Ломов)
Рет қаралды 21 М.
«Осень». Самая большая загадка Windows XP
14:36
Девять десятых
Рет қаралды 1,3 МЛН
Как выйти из матрицы
9:33
Raushan Kalibay
Рет қаралды 16
Автозагрузка классов в PHP
16:11
Evgeniy Kuvshinov
Рет қаралды 8 М.
Players push long pins through a cardboard box attempting to pop the balloon!
00:31