Drupal 8. Внешние php файлы. Как подключать правильно? Или правильно не подключать вообще?

26 сентября 2017 в 13:49
Аватар пользователя VasyOK VasyOK 0 27 Решено

На сайте есть части на которых используется своя БД и свои php файлы. В старой версии сайта модержимое php файлов подгружалось в ноды через формат ввода с PHP обработчиком. Как посоветуете делать в новой версии?

Комментарии

А как правильно делать в новой версии? Как отобразить на сайте работу не-Drupal php файлов?

У многих людей сайт на одной платформе, а форум (и много чего другого) на другой.

26 сентября 2017 в 15:12

В Drupal все принято реализовывать модулями.
Если необходимо подключение стороннего, чужого кода - его можно оформить в виде библиотеки, и подключить композером.

26 сентября 2017 в 15:14

Дык некоторые Друпал считают сторонним кодом Lol Композер - это как план Б.

Как я уже поэкспериментировал, php файлы в Drupal 8 подключаются, но не работают со своими БД. Что делать чтобы работали? Размещать их вне директории сайта? Тогда как подключать?

26 сентября 2017 в 15:23

"Спрошу как надо - но во внимание не приму, сделаю по-своему. Чего мне там какое-то чужое время..."

По работе стороннего кода - задавайте вопросы его автору, если сами не осилите разобрать.

26 сентября 2017 в 15:27

Т.е. если какая-то сторонняя программа вне папки сайта - это нормально. А показ ее работы на сайте может осуществляться только через Композер?

Упрощаю вопрос. Есть другой сайт который работает на поддомене. Есть ли простой вариант отобразить html файл этого сайта в ноде Drupal-а ?

26 сентября 2017 в 15:48

Извините за тупой вопрос. Есть набор html php файлов, который работал на прошлой версии сайта со своей БД-й. У меня на Опенсервер это тоже работает (а главное php-файлы с паролями скачать можно). Залил это все на домен отдельный от Друпала - php не работает с БД.
Как сделать чтоб работало?
Никогда не строил свои ЦМС. Уже догадываюсь о причинах переделки всего сайта.

26 сентября 2017 в 23:26

Если есть, скажем, форум на стороннем движке, кладём его в субдиректорию и говорим апачу или нжинксу, как обрабатывать страницы этой субдиректории. Друпал тут ни при чём. Он даже не должен затрагиваться при обработке таких страниц. Совершенно нормальная практика, классический пример - fast 404.

26 сентября 2017 в 23:43

Я понимаю что Друпал ни при чем. Теперь точно ни при чем.

Хорошо, упрощу вопрос до предела. папка, в ней 2 файла html и php (в нем пароли к БД). Как обрабатывать страницы? Что сказать Nginx-у?

26 сентября 2017 в 23:53

Спсибо за уделенное внимание!
Как -то все стало работать. При каких то других настройках сервера. Думаю более правильных. С проблемой разобрался. С композер - на будущее.
Какого Бориса вы имеете ввиду?

27 сентября 2017 в 13:37

Извните, ошибся. Был тут Дубовский (с Белоруссии, а не с Радона). Борис, я вас все время с ним путал.

27 сентября 2017 в 14:04

Нет ни чего плохого подключиться к drupal из своего скрипта для получения доступа к работе с ним. Свои скрипт может вообще быть не связан с сайтом и делать что то свое.
Делать это можно вот так

<?php
use Drupal\Core\DrupalKernel;
use 
Symfony\Component\HttpFoundation\Request;

define('DRUPAL_DIR''/home/www');
require_once 
DRUPAL_DIR '/core/includes/database.inc';
require_once 
DRUPAL_DIR '/core/includes/schema.inc';

$autoloader = require_once  DRUPAL_DIR .'/autoload.php';

$request Request::createFromGlobals();

// Bootstrap drupal to different levels
$kernel DrupalKernel::createFromRequest($request$autoloader'prod');
$kernel->boot();
$kernel->prepareLegacyRequest($request);

?>
1 июля 2019 в 20:57

Это зависит от того, что вы делаете, а не потому, что "принято"
Если у вас связка какой-то системы, которая живет в рамках одной машины в API нет необходимости.
А если оно понадобиться то его можно быстро реализовать. Отталкиваться нужно от задачи всегда.

2 июля 2019 в 9:01

Так "принято", потому что это кейс из "лучших практик", и с ним сталкивалось огромное число людей, пришедших в итоге к общему решению подобных задач. Никто не заставляет делать так, и никак иначе.

2 июля 2019 в 12:47

Поддержу коллегу. Если придерживаться друпал вай и хороших системных практик, то сокращаются затраты на дальшейшую поддержку и развитие кода, иначе делать то же можно, но надо понимать до конца последствия своих действий.

2 июля 2019 в 12:50

Спасибо Алексей, ты как всегда вовремя!
Там в соседней теме человек пилит строительную биржу на нескольких БД, можешь объяснить ему что и как?

2 июля 2019 в 10:43