Einführung in die Objekt Orientierte Programmierung mit PHP 8 - Part1 | PHP Tutorial 2021 Deutsch

แชร์
ฝัง
  • เผยแพร่เมื่อ 24 ธ.ค. 2024

ความคิดเห็น •

  • @VitalijMik
    @VitalijMik  3 ปีที่แล้ว +11

    Übrigens, das Video wurde mit einer fast 60 Jahren alten Linse gedreht. ISCO-Göttingen 35mm F2.8 :D nur so als Randbemerkung an die Foto Nerds da draußen ;)

    • @Hegenbrecht
      @Hegenbrecht 3 ปีที่แล้ว +2

      Interessant, aber sieht für mich völlig normal aus. Sieht man vielleicht bei komplexeren Lichtsituationen.

    • @VitalijMik
      @VitalijMik  3 ปีที่แล้ว +1

      @@Hegenbrecht man merkt das wenn man das Video nicht color gradet, die alten Linsen haben kein Contrast und Farben sind nicht stark, wie etwa Log modus auf einer Kamera, nur dass man hier direkt den Log Mode hat. Dadurch kann man sehr einfach die Farben aber auch anpassen

    • @infosandfacts7536
      @infosandfacts7536 3 ปีที่แล้ว

      Sind die Flecken denn auf Deiner Tapete oder von dem Objektiv? Im zweiten Teil noch deutlicher zu sehen.

  • @TobiasLorsbach-Mainz
    @TobiasLorsbach-Mainz 3 ปีที่แล้ว +2

    Finde diese Serie echt top. Ich schaue mir immer wieder gerne Sachen an , die ich angeblich schon weiß und bemerke dabei immer wieder, dass ich selbst bei Grundlagenwissen, noch neues entdecken kann, das ich bisher nicht genutzt habe.

    • @VitalijMik
      @VitalijMik  3 ปีที่แล้ว

      Danke für das Feedback. Ja mir geht es oft genau so bei udemy kursen in Frameworks. :D manchmal kommt dann der Aha Effekt

  • @MeinDeutschkurs
    @MeinDeutschkurs 2 ปีที่แล้ว +2

    Person, Mensch oder IndexTypController 🤣🤣❤️❤️ Herrlich! Klassen sind die Bauanleitungen für komplexe Datentypen mit Bonus-Funktionen. Enslich sagt mir das mal jemand! Danke Vitalij, jetzt kann ich deine Source-Texte wirklich lesen! 🤗

    • @VitalijMik
      @VitalijMik  2 ปีที่แล้ว

      Danke dir fürs Zuschauen

    • @MeinDeutschkurs
      @MeinDeutschkurs 2 ปีที่แล้ว

      @@VitalijMik , es gibt so viel bei dir zu finden. Jetzt, wo mir diese Syntax klarer ist, kannst du sicher sein, dass ich viele weitere Inhalte von dir finden werde. 🙌

  • @svendunker4494
    @svendunker4494 2 ปีที่แล้ว +1

    Sehr gut. Toll erklärt. Ich bin Quereinsteiger und du hast mir an vielen Stellen die Augen geöffnet. Danke !

    • @VitalijMik
      @VitalijMik  2 ปีที่แล้ว

      Dankeschön, das freut mich. Vergiss nicht zu abonnieren denn es werden noch mehr Videos kommen zu oop

  • @oemuerchatzi
    @oemuerchatzi 3 ปีที่แล้ว +2

    Hey grüß dich Vitalij. Richtig gutes Format. Finde deine Videos echt stark. Weiter so! 💪🏼

  • @thomasend
    @thomasend 2 ปีที่แล้ว +3

    Danke für das sehr gute Video. Du hast die Grundprinzipien sehr gut erklärt und bist vorallem auch auf die Hintergründe und Zusammenhänge eingegangen. Dadurch kann man den Sinn von OOP gut nachvollziehen. Hast ein Abo mehr ;)

    • @VitalijMik
      @VitalijMik  2 ปีที่แล้ว

      Dankeschön, ich sitze auch gerade ein einer besseren Version des Videos mit konkreten Beispielen ;) vielleicht kommt es irgendwann im sommer :D

  • @David-xv2kj
    @David-xv2kj 3 ปีที่แล้ว +1

    ich bin froh dass das thema offensichtlich etwas abstrakt ist und ich nicht nur schwer von begriff bin :) ich finde die theorie videos neben den coding tutorials echt eine berreicherung. mach mal mit unleashed design eine collab. ihr habt beide viel zu wenig klicks für die qualität der videos.

    • @VitalijMik
      @VitalijMik  3 ปีที่แล้ว +1

      Richte ich ihm aus. vielleicht wird ja daraus was :D

  • @alivesurvive471
    @alivesurvive471 3 ปีที่แล้ว +1

    Super erklärt! In der Objektorientierung hat man einfach so viele Regeln, dass man diese richtig lernen sollte. :D
    Hab schon viel gelernt von dir und schaue mir täglich Videos von dir an, um noch weiterzulernen! Und danke immer für die Antworten bei Fragen. :)
    Bin gespannt auf die nächsten Parts, werde sie mir direkt reinziehen.

    • @VitalijMik
      @VitalijMik  3 ปีที่แล้ว +1

      Dankeschön. Schön dass dir mein content gefällt 😂

  • @karlkoslowski5439
    @karlkoslowski5439 3 ปีที่แล้ว +2

    Sehr schönes Video, wie ich finde. Auch die Erwähnung der Differenzierung zwischen klassenorientierter und objektorientierter Programmierung, finde ich klasse. Das fällt viel zu oft unter den Tisch.

    • @VitalijMik
      @VitalijMik  3 ปีที่แล้ว

      Dankeschön, Vererbung habe ich extra weggelassen weil ich das im nächsten Part abarbeiten will, es ist ein schwieriges Thema :D besonders wegen Liskov und Composition over Inheritance usw.. es ist ja jetzt schon fast 30 Minuten Video geworden :D

    • @karlkoslowski5439
      @karlkoslowski5439 3 ปีที่แล้ว +1

      @@VitalijMik > Composition over Inheritance
      Oh Vitalij, ich bin jetzt schon auf Deiner Seite ;-)

  • @Erwinus
    @Erwinus ปีที่แล้ว +2

    hallo vitalij, ich will als hobby eine prog.sprache erlernen und eine website erstellen. html/css kann ich schon. würdest du mir js oder php empfehlen? mir gehts in erster linie "nicht" um den sinn, gebrauch oder zweck der sprache, sondern nur um einfache und leichte lernbarkeit.. danke :)

    • @VitalijMik
      @VitalijMik  ปีที่แล้ว +1

      einfach ausprobieren ;) am ende musst du sowieso javascript UND php benutzen. JS und PHP hängt stark zusammen

  • @Martin-xj8rp
    @Martin-xj8rp 3 ปีที่แล้ว +2

    Tolles Tutorial, hat mir geholfen. Ich freue mich auf mehr und ein kleines Praxisbeispiel wäre nicht schlecht. :D

    • @VitalijMik
      @VitalijMik  3 ปีที่แล้ว

      Dankeschön. Ich werde mir was einfallen lassen

  • @danielgrana7487
    @danielgrana7487 3 ปีที่แล้ว +2

    @Vitalij Mik. Eines interessiert mich mal. Wie du sicher auch weißt, gibt es viele verschiedene Programmiersprachen, die alle die gleichen Themen abhandeln, wie beispielsweise das Paradigma OOP. Allerdings ist die Syntax immer etwas anders. Wieso muss es eigentlich so viele Sprachen mit dem selben Thema geben? Es wirkt für mich so, als wen du mit dem Wissen über die Grundlagen von OOP eigentlich in unzähligen anderen Sprachen auch schon drin bist..

    • @VitalijMik
      @VitalijMik  3 ปีที่แล้ว

      Eine Gute, tatsächlich ist es so dass ständig neue Sprachen entwickelt werden um uns das Leben leichter zu machen, allerdings wird es nie wirklich leichter. Ich empfehle dir mal ein Talk anzuschauen von Uncle Bob th-cam.com/video/ecIWPzGEbFc/w-d-xo.html da geht es genau darum. Eigentlich sind wir als Programmierer einfach stecken geblieben und kommen nicht voran. Wenn dir jemand ein Code aus der Anfangszeit der Programmierung zeigt, wirst du es als Code verstehen und du wüsstest in Etwa was er tut und wieso er da ist. Würde man aber einem Kind ein Telefon aus der Anfangszeit zeigen, wüsste er nicht wie er es benutzen sollte.
      Das wird noch auf jeden Fall ein Thema sein für Bergfest talk ;)

    • @heinrichschiller4673
      @heinrichschiller4673 3 ปีที่แล้ว +1

      Weil es viele Lösungsansätze zu den selben Themen gibt. Was dann wirklich gut ist, wird meist übernommen. Wenn du dich zum Beispiel auf ein Thema spezialisierst und immer wieder machen wirst, wird deine Arbeit nicht immer die selbe sein. Du lernst aus der vorherigen Arbeit und machst in der neuen Arbeit "etwas besseres".

    • @VitalijMik
      @VitalijMik  3 ปีที่แล้ว

      @Heinrich Schiller das Problem mit "etwas besseres" ist an den aktuellen Zeitgeist gebunden. Gestern war es OOP heute FP.
      Das Traurige ist halt dass die Konzepte OOP, AOP, FP etc kommen aus den 60,70,80er Jahren und irgendwie hätten wir doch als Entwickler schon längst weiter sein sollen. Stattdessen werden die alten Konzepte ausgegraben für neue Programmiersprachen.
      Deshalb begrüße ich zum Beispiel die Entwicklung in Game Engines mit ihrer Node Basierten Programmiersprachen. Aber so etwas wird sich aktuell nicht durchsetzen, weil es nicht "etwas besseres" ist :D

    • @lyranda106
      @lyranda106 3 ปีที่แล้ว +2

      Eine Programmierparadigma ist kein Thema, das eine Programmiersprache versucht abzuarbeiten. Eine Programmiersprache besitzt ein Paradigma, wie zum Beispiel OOP, um Problemstellung zu lösen. Vielleicht kennst du die Programmiersprache Swift, um iOS-Apps, bzw Kotlin, um Android-Apps zu entwickeln. Dann gibt es noch C oder C++ um hardwarenah zu programmieren. Jede Programmiersprache hat also ein "Einsatzgebiet" auf das sie spezialisiert ist.
      Die OOP wurde das erstem Mal so richtig durch die Programmiersprache Smalltalk beliebt. Dies lag an dem gezielten Einsatz von OOP, um grafische Darstellungen zu programmieren. Die OOP eignete sich für diesen Verwendungszweck zu den vorher verwendeten Paradigmen sehr gut dafür.
      Am Beispiel von C und C++ kann man die Entwicklung einer Sprache ganz gut beobachten. Während C eine prozedurales Paradigma hat, wurde C++ entwickelt, um die hardwarenahe Programmierung dann auch in OOP zu machen. Jedoch kann sich die Umsetzung des OOP-Paradigmas von C++ zu anderen Sprachen unterscheiden. Das liegt ein mal daran, dass OOP nur ein Vorstellung aber keine festen Vorschriften sind. Also niemand sagt, dass das OOP Keywords wie z.B. "class" oder "extends" verwenden muss. Viel mehr geht es darum, das bestimmte Prinzipien, die Vitalij angesprochen hat, wie zum Beispiel die Sichtbarkeit der Variablen einzuschränken und einem Objekt verhalten durch Methoden zu geben. Wie diese Prinzipien dann umgesetzt werden, hängt vom "Zielgebiet" der Sprache ab und was sich der Designer der Sprache dabei gedacht hat. Heute fließen unteranderem auch viele Einflüsse der Funktionalen Programmierung in Sprachen, die eigentlich OOP sind, ein.

    • @danielgrana7487
      @danielgrana7487 3 ปีที่แล้ว

      @@heinrichschiller4673 nachvollziebar. Da denke ich direkt an Details, die zwar insgesamt - auf den ersten Blick - keinen Unterschied ausmachen, aber in der Perfomance oder Schreibarbeit letzen endes schon.

  • @push2me936
    @push2me936 3 ปีที่แล้ว +1

    Nice! Sehr krass Vitalij! Danke dafür!

    • @VitalijMik
      @VitalijMik  3 ปีที่แล้ว

      Danke dir fürs Zuschauen ;)

  • @hermannrosegger1023
    @hermannrosegger1023 3 ปีที่แล้ว +1

    Sehr gutes Video hat mir wieder ein ganzes Stück weitergeholfen!

    • @VitalijMik
      @VitalijMik  3 ปีที่แล้ว

      Dankeschön freut mich

  • @313Lacika
    @313Lacika 3 ปีที่แล้ว +1

    Hallo Vitalij, super Video, sehr gut zusammengefasst. Danke!

  • @VeryBlackMan
    @VeryBlackMan 3 ปีที่แล้ว +1

    Hattest du schon mal was von Yegor Bugayenko gehört?
    Er hat ein Buch über OOP geschrieben, es heisst Elegant Objects.
    Dort illustriert er, aus meiner Sicht, sehr gut den Grundgedanken zu OOP.

    • @VitalijMik
      @VitalijMik  3 ปีที่แล้ว

      Ne noch nicht, aber 40€ finde ich viel für Taschenbuch :D

    • @VeryBlackMan
      @VeryBlackMan 3 ปีที่แล้ว

      @@VitalijMik das hab ich mir auch gedacht. Daher hab ich mir das gut überlegt, ob mich das Buch weiter bringen kann. Daher habe ich mich zuerst mit seinen TH-cam Videos und dem Blog beschäftigt. Und ich muss sagen, das was er da aufzeigt, hat mich daran erinnert was ich ursprünglich über OOP gelernt habe. Die Projekte, welche ich bis jetzt gesehen habe, sind weit weg von dem was OOP ist. Ich habe mich gefragt was die Ursache dafür sein kann. Vielleicht trägt vieles dazu bei was man in den Dokumentationen von vielen Frameworks liest. Die Themen in seinem Buch werden auch im Blog und den Videos behandelt. Jedoch hat man mit dem Buch eine fortlaufende Abhandlung, die aufeinander aufbaut. Ob einem das wert ist, dafür das Buch zu kaufen ist ja jedem selbst überlassen. Es gibt ja noch die Möglichkeit sich mit den Videos und dem Blog zu beschäftigen.
      Mich würde jedoch interessieren was du darüber denkst.

    • @VitalijMik
      @VitalijMik  3 ปีที่แล้ว

      Uff.. also du müsstest schon etwas konkretisieren, er hat mehrere Bücher, mehrere Blog beiträge viele Videos. Ich weiß da ehrlich gesagt nicht was seine Aussage ist usw. Was hat er denn anders gesagt als das was du in Frameworks gesehen hast?
      Sein Kanal ist aber auf jeden fall interessant, ich werde vermutlich in einem Livestream einige Videos von ihm mal ins Deutsche übersetzen :D

    • @VitalijMik
      @VitalijMik  3 ปีที่แล้ว

      Hab mir mal einige Seiner Beiträge durchgelesen, finde es richtig gut was er da schreibt. Einiges ist schon etwas überspitzt aufgeschrieben macht spaß es zu lesen. Konnte bisher nichts finden wo ich sagen würde "Boah der schreibt aber Mist" sehr interessante Person, danke für den Tipp

    • @VeryBlackMan
      @VeryBlackMan 3 ปีที่แล้ว +1

      @@VitalijMik also ich kenne bis jetzt nur das Buch Elegant Objects von ihm.
      Bei den Videos meine ich seine Webinars, die sich soweit ich sehen konnte alle um OOP drehen. In seinem Blog findest du unter dem Tag oop äquivalente Beiträge zu den Videos. Worum es sich hauptsächlich bei ihm dreht kann man, denke ich gut zusammengefasst, im TH-cam Video "Yegor Bugayenko - What's Wrong with Object-Oriented Programming?" sehen.
      Ich denke das ist eine Thematik mit der man sich erst eine Weile beschäftigen muss, um dazu etwas sagen zu können. Daher erwarte ich hier auch nicht eine schnelle Antwort. Wollte nur mal eine andere Richtung aufzeigen in die man noch schauen kann.
      Würde mich persönlich natürlich freuen, wenn du einige Argumente von Yegor Bugayenko aufgreifen könntest und ein paar Worte dazu sagst wie du es siehst.
      Was ich bis jetzt daraus mitnehmen konnte habe ich auf dein Clean Code Beispiel mal angewand. Fand ich sehr spannend ;-)

  • @be_mann
    @be_mann ปีที่แล้ว +1

    Würde gerne noch das Video über die Funktionale Programmierung sehen ;)

    • @VitalijMik
      @VitalijMik  ปีที่แล้ว

      PHP unterstützt leider nicht so gut die reine funktionale programmierung an. man kann nur prozedural richtig damit arbeiten

  • @timmjrg
    @timmjrg 3 ปีที่แล้ว +1

    Sehr cool gemacht !! Einfach und leicht verständlich

    • @VitalijMik
      @VitalijMik  3 ปีที่แล้ว

      Dankeschön :D Sorry dass es so lange war, noch kompakter konnte ich das nicht erstellen :D

  • @vincentsahl6135
    @vincentsahl6135 3 ปีที่แล้ว

    Hast du eine Idee wie man auf einer Website mit Lastschrift am Monatsende von den Kunden automatisch abbuchen kann? Man könnt das mit einem Dauerauftrag einfach machen aber weil die Werte für jeden Kunden in Jedem Monat anders ist ist es notwendig es direkt auf der Website zu machen.

    • @VitalijMik
      @VitalijMik  3 ปีที่แล้ว

      Du kannst das nicht, du brauchst einen speziellen Vertrag der muss vom Kunden unterschrieben werden, das muss über eine Bank bestätigt werden usw.. also das ist nicht einfach, deshalb gibt es Sofortüberweisung etc

  • @infosandfacts7536
    @infosandfacts7536 3 ปีที่แล้ว

    Hi. Ist es besser NULL oder "" zu verwenden wenn man zb einen leeren String als Variable vorbereiten will?

    • @VitalijMik
      @VitalijMik  3 ปีที่แล้ว +1

      Kommt drauf an. Leere Strings definiere ich immer einfach als leer weil ich keine extra Logik einbauen will. Wenn Text leer ist wird es leer angezeigt ohne if Statements

  • @RealLexable
    @RealLexable 3 ปีที่แล้ว +1

    Danke umso spannender wird dann wohl auch demnächst der Aufbau deiner Seite schätze ich

  • @timmytainment
    @timmytainment 2 ปีที่แล้ว +1

    Sehr gut, Danke :)

    • @VitalijMik
      @VitalijMik  2 ปีที่แล้ว +1

      Danke fürs Zuschauen

    • @timmytainment
      @timmytainment 6 หลายเดือนก่อน

      @@VitalijMik Da bin ich wieder ein Jahr später hehe :) Grüße

  • @Hegenbrecht
    @Hegenbrecht 3 ปีที่แล้ว +1

    Für den lieben Algorithmus! :)

  • @benny3122
    @benny3122 3 ปีที่แล้ว +1

    Super erklärt!

  • @infosandfacts7536
    @infosandfacts7536 3 ปีที่แล้ว +1

    Oh yesssss👍👍👍😄

  • @heinrichschiller4673
    @heinrichschiller4673 3 ปีที่แล้ว +1

    Meines Wissens sind Arrays aber keine primitive Typen.
    www.php.net/manual/en/language.types.intro.php
    Wobei es mich dennoch wundert warum hier in PHP es doch als primitive Typen bezeichnet wird. In anderen Sprachen wäre es mWn. falsch.

    • @VitalijMik
      @VitalijMik  3 ปีที่แล้ว +1

      Wenn ich mir die Liste anschaue, sieht es für mich aus dass ein Primitiver Typ nicht mit einem new instanziiert wird UND kein Namespace haben darf. Ich glaube das ist der einzige Unterschied.
      In Anderen Sprachen kommt es auch drauf an. Also in JS hast du ja noch methoden dran wie .map usw deshalb ist es schon ein Komplexer Typ. Wir haben in PHP keine Array Klasse

  • @guner4590
    @guner4590 2 ปีที่แล้ว +1

    Wenn der Vitalij in Fahrt kommt... (dann spricht er schnell...) 😁

    • @VitalijMik
      @VitalijMik  2 ปีที่แล้ว +1

      Einige meinten ich spreche zu langsam:D also wollte ich mich beeilen

  • @ahadaha155
    @ahadaha155 3 ปีที่แล้ว +1

    @Vitalij Mik Danke für das Video, jetzt verstehe ich bez. OOP einiges besser. ... & jetzt weiß ich auch, warum du mir auf meine (vor-) letzte PN auf php.de (vor ca. 1-2 Wochen) nicht antwortetest. 😉😁 - Da steht nämlich u. a. "... worin besteht dann der Unterschied zw. OOP ..." 😉
    LG Andreas. 😀

    • @VitalijMik
      @VitalijMik  3 ปีที่แล้ว

      Ich wollte mich nicht wiederholen :D

    • @ahadaha155
      @ahadaha155 3 ปีที่แล้ว

      @@VitalijMik passt schon. - ich will auch nicht (alles) doppelt od. mehrfach sagen müssen. 😉

  • @mar_kha
    @mar_kha 3 ปีที่แล้ว +1

    Какой забавный немецкий язык)

    • @VitalijMik
      @VitalijMik  3 ปีที่แล้ว

      почему? :D

    • @mar_kha
      @mar_kha 3 ปีที่แล้ว

      @@VitalijMik Вы прикольно произносите слово tutorial ("Туториль") - у вас оно звучит мягче, чем в русском языке ("Туториал")

    • @VitalijMik
      @VitalijMik  3 ปีที่แล้ว +1

      ну, я не очен хорошо в русском разбираюсь и выходит микс из русского и немецкого, типо диалект :D

    • @mar_kha
      @mar_kha 3 ปีที่แล้ว +1

      @@VitalijMik а я изучаю немецкий по Duolingo + песни Eisbrecher, Oomph, Unheilig, Rammstein)

    • @VitalijMik
      @VitalijMik  3 ปีที่แล้ว +1

      класно, думаю будет трудно + рекоменудю ище "kein zurück wolfsheim"

  • @tonisun4785
    @tonisun4785 2 ปีที่แล้ว +1

    Es ist nicht falsch das was du erklärst, es ist nur sehr oberflächlich und nicht genau.

    • @VitalijMik
      @VitalijMik  2 ปีที่แล้ว +1

      Könntest du es spezifizieren? Wollte eh noch mal ein Video darüber machen was länger dauert mit Beispielen etc

    • @tonisun4785
      @tonisun4785 2 ปีที่แล้ว +1

      @@VitalijMik 9:09 "Konstante definieren und später ein Wert zuweisen" == false
      Bei definition wird der Wert schon gesetzt.
      Bei deklaration kannst du später Wert setzen, aber wie du gesagt hast es ist für Konstanten nicht möglich.

    • @VitalijMik
      @VitalijMik  2 ปีที่แล้ว +1

      @@tonisun4785 das weiß ich natürlich, war bestimmt ein versprecher, muss ich mehr acht drauf geben

    • @tonisun4785
      @tonisun4785 2 ปีที่แล้ว +1

      @@VitalijMik Ab 18:28 erklärst du +__constructor():void und +__destruct():void erklärst aber nicht -__constructor():void
      Dein Beispiel zeigt nur public + __constructor() nicht private - __constructor():void und nicht public + __destruct():void

    • @tonisun4785
      @tonisun4785 2 ปีที่แล้ว +1

      @@VitalijMik Ich würde die Sichtbarkeit 20:00 vor Klassen 6:18 erklären.
      Das wird explizieren, dass du überall bei deffinition und deklaration von Klassen & Co. die Sichtbarkeitsunterschiede erklärst.