Ну, я в настоящее время работаю над переработкой бэкэнда PHP (sorta, создающим собственную CMS) на личном веб-сайте для удовольствия, а также с его использованием в качестве возможности обучения.PHP классы и организация кода
Я пытаюсь изучить методы ООП в PHP, поскольку классы кажутся отличным способом сохранить код более организованным и свести к минимуму повторное использование кода. (Хотя код повторное использование не обязательно более распространены в системах, отличных от OOP, если они предназначены правильно)
Мой вопрос касается, как я должен обрабатывать организуя различные классы:
я организовал свой проект на листе бумаги в форме, аналогичной этому:
<!-- language: lang-php -->
<?php
class main_website{
#Has a bunch of universal configuration such as a connection to the database
function __construct($includes='webpage1.class.php'){
#will include anything listed above
}
}
class users extends main_website{
#functions relating to users
}
class webpages extends main_website{
#functions relating to all web-pages
}
class webpage1 extends webpages{
#has a set of functions that relate specifically to webpage 1 and won't be used elsewhere
}
class webpage2 extends webpages{
#has a set of functions that relate specifically to webpage 2 and won't be used elsewhere
}
?>
Теперь это хорошо работает ... иш. Но я добираюсь до точки, где я создаю несколько классов, которые в какой-то момент должны будут общаться друг с другом; в настоящее время мое решение состоит в том, чтобы заставить их общаться через их родительский класс, однако наличие «родственных» классов, разговаривающих друг с другом, кажется взломанным, поэтому я хотел бы задать , если я правильно понимаю ООП или нет.
Многие должности в ООП настолько разнообразны, и у многих людей такие широкие взгляды на дизайн кода, и я не уверен, какие из них «правильные». (по крайней мере ... с точки зрения того, что мой проект будет несколько «стандартным»)
Смотрите это: https://www.youtube.com/watch?v=IKD2-MAkXyQ – Axalix
@Axalix Это видео действительно дало мне совершенно новый метод, на который нужно смотреть; к счастью, моего кода все еще достаточно в детстве, где это не должно быть слишком сложно, и я буду смотреть дальше. – Awesomolocity
Добро пожаловать. Я давно помню эту ссылку для меня: https://docs.phalconphp.com/ru/latest/reference/di.html – Axalix