Chciałbym nauczyć się PHP i chcę uzyskać pomysł na temat OOP i proceduralnych. Czytałem kilka innych blogów i samouczków o OOP vs Procedural, ale nadal nie rozumiem tego podejścia.
OOP vs proceduralne
- Czego powinienem się nauczyć?
- Jaka jest różnica w kodzie? jakie są efekty?
- W jaki sposób framework PHP może pomóc w podejściu OOP? (Chciałbym się nauczyć CodeIgnitera)
- Czy procedury wymagają ram?
Naprawdę chcę poznać różnicę w kodzie obu, moje rozumienie OOP jest takie, że tworzysz klasę podobną do i może to być dostęp. (Nie wiem, czy to prawda).
Dzięki!
php
oop
procedural-programming
procedural
Pennf0lio
źródło
źródło
Odpowiedzi:
Kontekst: Poprosiłeś o „proste wyjaśnienie”, które sugeruje:
Krótka odpowiedź bez żargonu:
Długa odpowiedź bez żargonu:
Procedury a OOP to tylko jeden aspekt podstawowej kwestii programowania komputerowego: jak sprawić, by kod był łatwy do zrozumienia i bułka z masłem do profesjonalnego utrzymania . W rzeczywistości możesz napisać kod „proceduralny”, który jest zgodny z niektórymi zasadami OOP, więc te dwie niekoniecznie są przeciwieństwami.
Twoje zrozumienie naprawdę wzrośnie, gdy nauczysz się innych języków programowania zorientowanych obiektowo , wśród których PHP jest „nowym dzieckiem na rynku”.
Oto krótki przegląd tego, czego nauczysz się podczas budowania doświadczenia:
Klasę można traktować jako „fragment” metod i właściwości
Klasa jest przydatna, ponieważ umożliwia organizowanie kodu na bardzo wysokim poziomie w sposób ułatwiający zrozumienie, używanie i konserwację.
Zobacz też
źródło
OOP to nic innego jak wzorzec projektowy. Jeśli dopiero zaczynasz, naucz się podstaw, koncentrując się na podejściu proceduralnym. Co najważniejsze, zapoznaj się z podstawowymi zasadami, takimi jak pętle, warunki i wywoływanie innych procedur.
Podczas tworzenia kodu proceduralnego wyrób nawyk dodając powiązane metody w jednym pliku źródłowym. Naucz się dzielić swoje procedury na jednostki logiczne, a wtedy już zaczniesz być zorientowany obiektowo. Zasadniczo obiekt to nic innego jak zbiór metod, które są ze sobą powiązane tylko dlatego, że operują na tym samym zestawie danych. (Nie mówię tutaj o bazach danych, ale o danych aplikacji!)
OO służy głównie do uczynienia kodu bardziej logicznym, dzieląc wszystko na proste bloki. Łącząc odpowiednie klocki otrzymujesz kompletną aplikację. OO nie jest srebrną kulą ani złotym młotem, który rozwiąże wszystkie Twoje problemy. Ale to, co robi, sprawia, że kod jest łatwiejszy do zrozumienia.
Z drugiej strony, niektórym ludziom wciąż udaje się zrobić kompletny bałagan z obiektów, po prostu zamieniając je w ogromne super-obiekty za pomocą setek metod. Takie obiekty nie różnią się zbytnio od zwykłego podejścia proceduralnego, po prostu ze względu na ogromną liczbę połączonych ze sobą metod bez żadnej logiki. To błąd, który łatwo popełnić, gdy ludzie zaczynają robić OOP zbyt szybko.
źródło
Powinieneś nauczyć się obu. Obiekty są tylko jedną z wielu możliwych abstrakcji, a abstrakcja jest tym, czym ostatecznie jest programowanie. To powiedziawszy, zacznij od rzeczy proceduralnych, a następnie dodaj obiekty później, ponieważ elementy wewnętrzne obiektów PHP i tak są proceduralne.
Jeśli chodzi o ramy; najpierw naucz się podstaw języka, pisz jednorazowe programy eksperymentalne i tym podobne. Później można zapoznać się z ram i zastanowić się , czy ty znaleźć niektóre z nich przydatne w pewnym kontekście. Na pewno nie są obowiązkowe.
źródło
Aby dodać świetne odpowiedzi powyżej. Powinieneś zobaczyć OOP jako naturalny postęp w twoim stylu kodowania - kiedy zaczynasz pisać mały program, być może będziesz musiał po prostu złożyć kilka linii kodu php, a następnie pogrupować je w funkcje, a im więcej funkcji piszesz, możesz poczuć potrzebę aby lepiej zorganizować je w klasy. OOP po prostu pozwól swojej strukturze na lepsze kody - umożliwiając lepszą konserwację kodu.
źródło
Proceduralne php i oop używają tego samego kodu php. W takim razie jedyną różnicą jest to, że w procedurze skupiasz się na jednym zadaniu i to wszystko. W oop organizujesz swój kod za pomocą wzorców lub fragmentów, które można ponownie wykorzystać w wielu różnych obszarach kodu.
Prosta odpowiedź jest taka, że musisz znać i rozumieć php. Możesz się tego nauczyć na php.net. Kiedy już to zrozumiesz, możesz zacząć organizować swój kod w uchwytach.
Kod proceduralny wykorzystuje funkcje, zmienne.
Gdy już wiesz, co się dzieje, możesz zacząć organizować funkcje i zmienne w klasy. Zaczynamy wywoływać funkcje jako metody i zmienne jako właściwości.
Powodzenia.
źródło