Чтобы было понятнее совсем новичкам, статическая переменная (свойство) одна на все объекты данного класса, как и для самого класса. То есть, при изменении данной переменной при обращении к какому-либо объекту класса или при обращении к самому классу, будет изменена данная переменная у всех объектов (экземпляров) класса, как и у самого класса. Весьма полезный модификатор этот (static), если нужно будет изменять параметр, не перебирая все объекты класса, и не только ...
@@activegeek3030 Походу все языки представляют почти одно и то же.Вопрос,нафига козе баян,то есть зачем их столько напридумывали? Разве из-за каких-то мелких спецотличий в функционале,заточненном под свои спецзадачи? Ну нам от этого только проще будет учить сл.язык(и),т.к всё одинаково практически,кроме синтаксиса и ещё какой-то там мелочи.
@@sergeipirogov5396 Наплодили это как много марок машин, зачем столько по сути они все перемещают с одного место на другое, но есть "НО" - они разные в комфорте и др., так и с языками
@@sergeipirogov5396 Прошёл год и не знаю уместно ли тебе это писать ,может ты уже понял, для чего наплодили столько ))) Но может другие прочтут и им будет полезно. Дело в том что, как с казал @ Flamin GO, что когда у тебя есть статическая переменная то он может помочь к примеру у тебя есть класс на основе которого у тебя есть много объектов, и что бы у тебя была возможность произвести их подсчёт, ты может это сделать просто. У тебя в классе будет статическая переменная-счетчик равная нулю и во время создания каждого экземпляра класса при помощи конструктора добавлять к этой переменной единицу. В результате у тебя всегда известно количество экземпляров объектов данного класса и далее эта переменная тебе позволяет делать разные немыслемые весчи ))) не прибегая к танцам с бубном )))
@@expert6609 Я маленько забросил php, но потом обязательно вернусь к нему, и тогда разберу твой ответ :-). Смотрел тут видео одного программиста, и с его слов я понял, что некоторые языки большие компании разрабатывают из-за одной банальной причины, а именно, чтобы не платить бабки другой компании, на языке которой они разрабатывают свои продукты. Причём "новый" язык естественно пишется по мотивам старого, то есть старый абсолютно устраивал, но бабки... :-). В итоге вся "новизна" заключается в новом названии, и новом синтаксисе, то есть то же самое, написанное под другим флагом. Это уже чистая коммерция, в то время как новичкам говорят про моду и "улучшенные возможности". Разумеется, появляются и совершенно новые языки, но основные принципы у них всё равно по большому счёту всё те же.
Скажем так. У статических переменных и функций есть ещё одно свойство о котором стоит рассказать. Например то, что статическая переменная класса будет одна на все экземпляры этого класса и что обращаться к ней, как и к статическому методу, можно вне экземпляра класса. Я считаю, что об этом стоит рассказать, и желательно с примером.
А вы посмотрите тему видео..Посмотрели? этот урок не о статических свойствах и методах, о них будет свое видео, там где все в подробностях будет рассказано.
PhpStorm наверное с ключиком до 2100 года....А вообще нормально разъясняешь, конечно тому кто с этим не сталкивался тяжело догнать, но это общая проблема.
сам гуглил много как я понял это таже функция для обкащения к которое не нужен обьект который ее обозначает а для обычной функции нужно создавать обьект для ее вызова
чтобы лучше понимать какой-либо язык программирования, можно подтянуть знания английского. Это в определенной степени упростит понимание того, что происходит. This - это, эта, этот. Self - сам, себя самого
@@mkrtumyanis да я уже разобрался) уже вовсю использую ООП. Перечитываю свои старые комментарии - оказывается я был на очень низком уровне. Более 10 лет писал в процедурном стиле в notepad++. Чуть более чем полгода использую шторм и ООП. Госпаде... какой же оказывается я говнокод писал.....
Ну вот не могу понять зачем нужен этот class. Все решения которые ты писал можно спокойно переписать через if else ifelse и function. Объясни где именно использовать этот class. Лично знаю коммерческий сайт который работает без class`ов.
ООП - вещь не обязательная, но, если ты хочешь разбираться с чужим кодом и быть действительно подкованным в PHP - будь добр учить ООП. Поверь, бывают такие участки и задачи, которые проще написать с использование ООП, чем с кучей if и elseif'ов.
Я несколько раз начинал учить ООП и столько же бросал. Не увидел выгоды данного подхода, а тратить время на это не особо хочется. ООП мне кажется вообще мало где крайне необходим. Например реальный пример, где использование ООП было действительно удобно - это использование в парсерах, где можно писать цепочки запросов/поиска элементов по html коду.
да ))) Я не успеваю чкачивать ))) Лучше реже но дольше и качественнее, ну хотябы 1 видео в день минут 20-30 , человек же должен посмотреть, потом сам все попробовать и осмыслить )
А вы не скачивайте пожалуйста, а смотрите в ютубе, а то смысл блога теряется, да и статистику так очень портите. А человек не может зайти на канал и открыть плейлист тот который ему нужен и смотреть и пробовать и осмысливать? Я стараюсь выпускать 2-3 видео в день.Быстрее наполнить канал.
я без претензий ))) просто когда видосов много нельзя просто остановится и обдумать сразу интересно дальше смотреть ))) А по поводу скачиваний видосов, у меня на автомате скачивает все в архив, когда нахожу интересный канал врубаю и как только новое видео выходит сразу все автоматом качает )))) Это для себя архивчики, ну на всякий случай, вдруг автор пропадет как к примеру "sorax" или решит все удалить или за деньги начнет курсы продавать ))) а у меня все есть ))) обещаю выкладывать ни где не буду, во всяком случае пока ))) Я и оригинал тоже смотрю у тебя на канале, чтобы тебе просмотры шли, даже адблоки на твоем канале отключил ))) Скачивать видосы это привычка такая ))) все качаю, ну естественно только качественный контент ))) к примеру твой весь канал у меня в архивах ))))
Это сложно объяснить... я не понимаю принцип сам. Я ходил на курсы по php три месяца, там тоже всё это было, но и там это не заходило. Спасибо Вам за курс! Дело не в видео или в том как оно подано. Дело во мне :)
Позволь, я попробую объяснить как смогу. 1. Объект это моб. У моба есть сила, здоровье, атака. Вот эти сила, здоровье и атака - являются свойствами объекта. Свойствами моба. Выглядеть будет примерно так: class Mob { public $сила; public $здоровье; public $атака; } Так вот, то же самое и в примере на видео. Сам принцип работы с объектом нужен для манипуляции характеристиками нашего моба. Например задать какое-то имя мобу, задать уровень силы и здоровья. В объекте у нас лежат его базовые виды характеристик, а вне объекта мы уже указываем какие именно численные (или словесные) значения будут у этих характеристик. Экономия кода заключается в том, что нам чтоб создать 100 разных мобов с разными параметрами - не нужно каждый раз писать новый объект. А нужно лишь с помощью функции указать какие параметры должны быть у моба. Я любитель рпг игр, поэтому мне кажется такой пример с мобами, персонажами и характеристиками более нагляден и живой. )
Для чего нужны статические функции и статические переменные говорить не нужно... Без этой информации остальная информация с self:: уже не воспринимается.
Без обид, но 4 рекламы в 10-ти минутном ролике - это просто жесть, я досмотрел до сих пор, и больше не могу, перебор, уже на втором видео было лютое желание рубануть видео.
Я не знаю о какой рекламе идет речь... Сейчас я на ПК где нет адблока, но даже так, у меня не было рекламы. Если у тебя такая проблема то установи адблок, это же так просто
@@SuprunAlexey Сначала общее замечание - у Вас хороший русский язык, прекрасная дикция и некоторые циклы занятий просто образцовые(сердце радуется!), но с "некоторыми" занятиями, а именно по ООП - просто беда... Итак, 1.Обратите,пожалуйста, внимание на "сорные" и ненужные в изложении слова, их не должно быть ,если Вы хотите быть понятым, а не просто что-то сказать 2. Экран д.б. разделен на две части- редактор и консоль, что бы не "прыгать". 3. Каждый сегмент изложения делать в НОВОМ открытом файле(желательно с названием), или начинающимся с комментария (что мы делаем в данную минуту). Это уберет "лапшу" с экрана, меня, в частности это путает и раздражает. 4. Что мешает вести весь курс на одних и тех же открытых файлах, дополняя их на следующем занятии. Это сэкономит Ваше время и даст, при необходимости, возможность мгновенно вернуться на ранее изложенное. Пронумеруйте файлы в соответствии с номерами уроков (#6.1.1.1, как то так). Как говорил Жванецкий,- тщательнЕе надо быть... Желаю Вам успехов, часто возвращаюсь к Вашим урокам, и иногда(!!!) они приносят "большое удовлетворение". С уважением, Алексей Иванов.
Интересно ! $user1=new User(); $user1-> name="Alex"; $user1->getName(); // будет AlexTest ,а если $user2=new User(); // $user2-> name="Ivan"; //закоментировано $user2->getName(); $user2-> name="Ivan";// будет ИмяTest То есть не прочитывается весь код целиком с начала и затем выполняется,а чётко по последовательности= тут Иван безымянный получается- не дошло до него !!! Вообще что $user1 и $user2=одно и то же как $user1 !!! Зачем понты с номерами-для наглядности и ли где-то в коде дальше (возможно) будут применяться эти переменные?
Чтобы было понятнее совсем новичкам, статическая переменная (свойство) одна на все объекты данного класса, как и для самого класса. То есть, при изменении данной переменной при обращении к какому-либо объекту класса или при обращении к самому классу, будет изменена данная переменная у всех объектов (экземпляров) класса, как и у самого класса. Весьма полезный модификатор этот (static), если нужно будет изменять параметр, не перебирая все объекты класса, и не только ...
Ну да! Практически все так как и в Java ))))
static public и всё такое
@@activegeek3030 Походу все языки представляют почти одно и то же.Вопрос,нафига козе баян,то есть зачем их столько напридумывали? Разве из-за каких-то мелких спецотличий в функционале,заточненном под свои спецзадачи? Ну нам от этого только проще будет учить сл.язык(и),т.к всё одинаково практически,кроме синтаксиса и ещё какой-то там мелочи.
@@sergeipirogov5396 Наплодили это как много марок машин, зачем столько по сути они все перемещают с одного место на другое, но есть "НО" - они разные в комфорте и др., так и с языками
@@sergeipirogov5396 Прошёл год и не знаю уместно ли тебе это писать ,может ты уже понял, для чего наплодили столько ))) Но может другие прочтут и им будет полезно. Дело в том что, как с казал @
Flamin GO, что когда у тебя есть статическая переменная то он может помочь к примеру у тебя есть класс на основе которого у тебя есть много объектов, и что бы у тебя была возможность произвести их подсчёт, ты может это сделать просто. У тебя в классе будет статическая переменная-счетчик равная нулю и во время создания каждого экземпляра класса при помощи конструктора добавлять к этой переменной единицу. В результате у тебя всегда известно количество экземпляров объектов данного класса и далее эта переменная тебе позволяет делать разные немыслемые весчи ))) не прибегая к танцам с бубном )))
@@expert6609 Я маленько забросил php, но потом обязательно вернусь к нему, и тогда разберу твой ответ :-). Смотрел тут видео одного программиста, и с его слов я понял, что некоторые языки большие компании разрабатывают из-за одной банальной причины, а именно, чтобы не платить бабки другой компании, на языке которой они разрабатывают свои продукты. Причём "новый" язык естественно пишется по мотивам старого, то есть старый абсолютно устраивал, но бабки... :-). В итоге вся "новизна" заключается в новом названии, и новом синтаксисе, то есть то же самое, написанное под другим флагом. Это уже чистая коммерция, в то время как новичкам говорят про моду и "улучшенные возможности". Разумеется, появляются и совершенно новые языки, но основные принципы у них всё равно по большому счёту всё те же.
3:10 - Ты задел мои Ивановские чувства
Было бы интересно еще показать пример жывого кода где используюся одни и другие. Т.е. раскрыть вопрос - зачем?
А в данном видео не раскрыл?(
жЫвенько так
пример живого кода был с self, но сложно понять различие self и $this из видео ;) Спасибо за Ваши труды. Хороший материал!
Спасибо за отличный урок! Всё чётко и понятно!
Зачем ты назвал курс для начинающих, если ничего не объясняешь?
Красавчик, здесь ты уже сумел нормально и адекватно объяснить. Спасибо )
Стараюсь
Скажем так. У статических переменных и функций есть ещё одно свойство о котором стоит рассказать.
Например то, что статическая переменная класса будет одна на все экземпляры этого класса и что обращаться к ней, как и к статическому методу, можно вне экземпляра класса. Я считаю, что об этом стоит рассказать, и желательно с примером.
А вы посмотрите тему видео..Посмотрели? этот урок не о статических свойствах и методах, о них будет свое видео, там где все в подробностях будет рассказано.
Ну если видео будет, то это отлично. :-)
Конечно выйдет, при том в ближайшее время!
PhpStorm наверное с ключиком до 2100 года....А вообще нормально разъясняешь, конечно тому кто с этим не сталкивался тяжело догнать, но это общая проблема.
Часто-часто, го-го)
Посмотрим
phpStorm уже на протяжении нескольких уроков просит обновиться)
Даже не обращал внимания
7-37 Так и не услышал ...для чего static function нужна .....печально
сам гуглил много как я понял это таже функция для обкащения к которое не нужен обьект который ее обозначает а для обычной функции нужно создавать обьект для ее вызова
Спасибо ))
Не мы забыли, а вы)))
Подскажите, где можно найти практические уроки с заданиями по данной теме?
На фрилансе)
Автор видео, ты случайно не читал книгу PHP7 Дмитрий Котеров, Игорь Симдянов (2016) ?
Судя по урокам, большая часть материалов из нее и взята.
я правильно понимаю, что к статичным свойствам можно обратится только через self, а через $this этого сделать нельзя?
да, наверное поздно ответил)
тема геттеров и сеттеров не раскрыта вообще
Я ОДИН НИЧЕГО НЕ ПОНЕЛ хотя знаю что такой this
я так понял $this и self это некие синонимы.. А какая из них чаще используется , на ваш взгляд?
хахаахах, вообще-то нет это не синонимы, ахахаха. $this используется для обращения к членам экземпляра класса, а self обращается прямо к классу
чтобы лучше понимать какой-либо язык программирования, можно подтянуть знания английского. Это в определенной степени упростит понимание того, что происходит.
This - это, эта, этот.
Self - сам, себя самого
@@cityedit ты прям видео на 10 минут укоротил своим комментом.
знак доллара в $this указывает на то, что мы обращаемся к переменной. И тут же видим: $this -> test(). Как так?
Как я понял - мы применяем метод (функцию) тест именно к объекту
@@mkrtumyanis да я уже разобрался) уже вовсю использую ООП. Перечитываю свои старые комментарии - оказывается я был на очень низком уровне. Более 10 лет писал в процедурном стиле в notepad++. Чуть более чем полгода использую шторм и ООП. Госпаде... какой же оказывается я говнокод писал.....
Не услышал, разница ещё в том что не нужно создавать екземпляр класса
Посмотрите видео о статических свойствах методах, там все детально описано.
А по мне он об этом пол-урока говорил
Ну вот не могу понять зачем нужен этот class. Все решения которые ты писал можно спокойно переписать через if else ifelse и function. Объясни где именно использовать этот class. Лично знаю коммерческий сайт который работает без class`ов.
ООП - вещь не обязательная, но, если ты хочешь разбираться с чужим кодом и быть действительно подкованным в PHP - будь добр учить ООП. Поверь, бывают такие участки и задачи, которые проще написать с использование ООП, чем с кучей if и elseif'ов.
Я несколько раз начинал учить ООП и столько же бросал. Не увидел выгоды данного подхода, а тратить время на это не особо хочется. ООП мне кажется вообще мало где крайне необходим. Например реальный пример, где использование ООП было действительно удобно - это использование в парсерах, где можно писать цепочки запросов/поиска элементов по html коду.
Настолько бестолково объяснить... надо постараться)))
Откуда появился класс User? Просто немного не понятно.
Класс User был объявлен в 12-й строке
Anton Sham спасибо
норм! но не надо так часто )))
МастерЛомастер что именно? Выпускать видео?
да ))) Я не успеваю чкачивать ))) Лучше реже но дольше и качественнее, ну хотябы 1 видео в день минут 20-30 , человек же должен посмотреть, потом сам все попробовать и осмыслить )
А вы не скачивайте пожалуйста, а смотрите в ютубе, а то смысл блога теряется, да и статистику так очень портите. А человек не может зайти на канал и открыть плейлист тот который ему нужен и смотреть и пробовать и осмысливать? Я стараюсь выпускать 2-3 видео в день.Быстрее наполнить канал.
я без претензий ))) просто когда видосов много нельзя просто остановится и обдумать сразу интересно дальше смотреть ))) А по поводу скачиваний видосов, у меня на автомате скачивает все в архив, когда нахожу интересный канал врубаю и как только новое видео выходит сразу все автоматом качает )))) Это для себя архивчики, ну на всякий случай, вдруг автор пропадет как к примеру "sorax" или решит все удалить или за деньги начнет курсы продавать ))) а у меня все есть ))) обещаю выкладывать ни где не буду, во всяком случае пока ))) Я и оригинал тоже смотрю у тебя на канале, чтобы тебе просмотры шли, даже адблоки на твоем канале отключил ))) Скачивать видосы это привычка такая ))) все качаю, ну естественно только качественный контент ))) к примеру твой весь канал у меня в архивах ))))
1:31 Не верно пишешь название метода
Ужасная подача. Ты блин не мог просто обяснить разницу и зачем нужны?? нахрена так много ненужной информации???
Ужас
Я не понимаю это.... я идиот?
Что конкретно не понятно
Это сложно объяснить... я не понимаю принцип сам. Я ходил на курсы по php три месяца, там тоже всё это было, но и там это не заходило. Спасибо Вам за курс! Дело не в видео или в том как оно подано. Дело во мне :)
Позволь, я попробую объяснить как смогу.
1. Объект это моб. У моба есть сила, здоровье, атака. Вот эти сила, здоровье и атака - являются свойствами объекта. Свойствами моба.
Выглядеть будет примерно так:
class Mob {
public $сила;
public $здоровье;
public $атака;
}
Так вот, то же самое и в примере на видео. Сам принцип работы с объектом нужен для манипуляции характеристиками нашего моба. Например задать какое-то имя мобу, задать уровень силы и здоровья. В объекте у нас лежат его базовые виды характеристик, а вне объекта мы уже указываем какие именно численные (или словесные) значения будут у этих характеристик.
Экономия кода заключается в том, что нам чтоб создать 100 разных мобов с разными параметрами - не нужно каждый раз писать новый объект. А нужно лишь с помощью функции указать какие параметры должны быть у моба.
Я любитель рпг игр, поэтому мне кажется такой пример с мобами, персонажами и характеристиками более нагляден и живой. )
@@fermatoone7904 отлично. Хороший пример. А можешь объяснить переменную this на хорошем примере??
@@fermatoone7904 ты объясняешь как боженька (не шутка)
Для чего нужны статические функции и статические переменные говорить не нужно...
Без этой информации остальная информация с self:: уже не воспринимается.
Здарова, смотрю тебя совсем недавно, но я уже восхищен твоим контентом :)
Одна просьба на будущее, ставь фоновую музыку)
ни в коем случае!
Если тебе нужно - сам включи фоновую музыку
Почему в примерах раньше Вы использовали ->, а в конце видео используете "::" (два раза двоеточие)?
Потому что для self идёт ::, а для $this ->
Для чего Вы постоянно повторяете "и так все понятно и так далее" ,куря для начинающих, это повторение ездит по ушам
Фраза паразит
У меня такое предчувствие ,что таким образом можно писать меньше кода
Определенно
Без обид, но 4 рекламы в 10-ти минутном ролике - это просто жесть, я досмотрел до сих пор, и больше не могу, перебор, уже на втором видео было лютое желание рубануть видео.
Я не знаю о какой рекламе идет речь...
Сейчас я на ПК где нет адблока, но даже так, у меня не было рекламы. Если у тебя такая проблема то установи адблок, это же так просто
Автор ты точно программист?
Иди заново ООП учи , бред
Качество ужасное.
В смысле
@@SuprunAlexey
Сначала общее замечание - у Вас хороший русский язык, прекрасная дикция и некоторые циклы занятий просто образцовые(сердце радуется!), но с "некоторыми" занятиями, а именно по ООП - просто беда... Итак, 1.Обратите,пожалуйста, внимание на "сорные" и ненужные в изложении слова, их не должно быть ,если Вы хотите быть понятым, а не просто что-то сказать 2. Экран д.б. разделен на две части- редактор и консоль, что бы не "прыгать".
3. Каждый сегмент изложения делать в НОВОМ открытом файле(желательно с названием), или начинающимся с комментария (что мы делаем в данную минуту). Это уберет "лапшу" с экрана, меня, в частности это путает и раздражает. 4. Что мешает вести весь курс на одних и тех же открытых файлах, дополняя их на следующем занятии. Это сэкономит Ваше время и даст, при необходимости, возможность мгновенно вернуться на ранее изложенное. Пронумеруйте файлы в соответствии с номерами уроков (#6.1.1.1, как то так). Как говорил Жванецкий,-
тщательнЕе надо быть...
Желаю Вам успехов, часто возвращаюсь к Вашим урокам, и иногда(!!!) они приносят "большое удовлетворение". С уважением, Алексей Иванов.
Смотреть не возможно каждый 5сек реклама
Интересно !
$user1=new User();
$user1-> name="Alex";
$user1->getName(); // будет AlexTest ,а если
$user2=new User();
// $user2-> name="Ivan"; //закоментировано
$user2->getName();
$user2-> name="Ivan";// будет ИмяTest
То есть не прочитывается весь код целиком с начала и затем выполняется,а чётко по последовательности= тут Иван безымянный получается- не дошло до него !!!
Вообще что $user1 и $user2=одно и то же как $user1 !!! Зачем понты с номерами-для наглядности и ли где-то в коде дальше (возможно) будут применяться эти переменные?
если задаете такой вопрос то Вы не поняли, что такое объект
Спасибо ))