У меня есть класс CORE, который относится только к моему конкретному сайту, то есть он выполняет функции, специфичные для сайта. У меня есть класс базы данных (для mysql) и другие классы, такие как access, validator, upload, template и т. Д. И т. Д. Я знаю, что классы php могут расширять только один класс каждый, поэтому почти все мои классы расширяют класс базы данных. Я просматривал общедоступный твиттер-класс, используемый в твиттер-API. В нем есть функции, позволяющие делать практически все, что вы можете сделать, переходя непосредственно на веб-сайт, вставляя, удаляя, что угодно ... Должен ли я поместить все функции связывания сайтов в мой класс Core и не допускать его в общую область моих сценариев , Прямо сейчас у меня есть что-то вроде этого ...
Вот пример, на данный момент у меня есть такие функции, как
$core = new Core();
$core->get_user_info($user_id);
$core->get_user_articles($user_id);
Внутри этой функции я выполняю запросы к базе данных, чтобы выбрать необходимую информацию, поэтому мне не нужно делать это напрямую, так как она может запутаться.
У меня также есть функции для удаления таких вещей, как
$core->Delete_Article($article_id);
Однако у меня нет функций для вставки. Вместо этого я использую класс Database напрямую для добавления информации, вот так.
$article = array(user_id => $_SESSION['user_id'], body => $_POST['body']);
$db = new Database();
$db->Insert($article, 'articles');
или
$user = array(name => $_POST['name'], email => $_POST['email']);
$db->Insert($user, 'users');
Теперь, в теме отделения одного аспекта от другого, я должен поместить ВСЕ мои запросы выбора / вставки / обновления / удаления базы данных в общий класс CORE и выполнить ВСЕ действия с базой данных в фоновом режиме
Как и вместо $ db-> Insert (), я мог бы использовать $ core-> insert_user () или просто продолжить, как я делаю.