Я пытаюсь сделать модульную структуру. Я делаю много веб-сайтов и хочу использовать много кода. Теперь я делаю это, делая обычные функции в отдельных php-файлах, которые я включаю. Например, я поместил все функции базы данных в database.php, а код входа в систему — login.php, а все некоторые функции форматирования строки — в core.php.
Функциональность core.php используется практически во всех проектах, которые я делаю, у некоторых есть функция входа в систему, у некоторых — база данных, а у всех — вся.
Так что теперь у меня есть что-то вроде этого:
<?php
require_once('core.php');
require_once('database.php');
require_once('login.php');
dbConnect('user','pw');
loginShow();
echo stringFunction('blabla');
?>
Теперь я хочу сделать это немного лучше и использовать объекты и классы.
Таким образом, у меня будет класс Core, класс базы данных и класс входа в систему, но для класса входа в систему также могут потребоваться функции базы данных и ядра, но не всегда.
Система, где у меня есть:
myframework.php:
class myFramework {
}
database.php:
class database extends myFramework {
}
login.php:
class login extends myFramework {
}
index.php:
include myframework.php
include login.php
include database.php
$site=new myFramework;
Это не будет работать, поскольку функции входа в систему не в myFramework, а в классе Login. Но $ site = new Login также не будет работать, так как функция базы данных не находится в Login.
То, что я хочу — это класс, тогда я действительно могу расширяться за счет включения нескольких и включать только тот код, который мне действительно нужен для этого проекта.
До сих пор я не смог найти хорошего решения, поэтому надеюсь, что попросить совета здесь поможет.
Мне кажется, что для этой цели вы должны использовать пространства имен, а не классы.
Других решений пока нет …