如何从外部PHP文件运行Drupal 8函数
有没有办法从外部PHP文件执行Drupal 8函数。如果您有Drush,您可以运行“Drush scr[filename]”,它将执行该文件以及引导Drupal。我写了一篇关于这个的博客文章-如何从外部PHP文件运行Drupal 8函数,drupal,drupal-8,Drupal,Drupal 8,有没有办法从外部PHP文件执行Drupal 8函数。如果您有Drush,您可以运行“Drush scr[filename]”,它将执行该文件以及引导Drupal。我写了一篇关于这个的博客文章- 我只会在简单的本地测试脚本中使用它,在将代码移动到适当的函数/类/控制器/服务等中之前进行测试。如果您有Drush,您可以运行“Drush scr[filename]”,它将执行文件和引导Drupal。我写了一篇关于这个的博客文章- 我只会在简单的本地测试脚本中使用它,在将代码移动到适当的函数/类/控制器
我只会在简单的本地测试脚本中使用它,在将代码移动到适当的函数/类/控制器/服务等中之前进行测试。如果您有Drush,您可以运行“Drush scr[filename]”,它将执行文件和引导Drupal。我写了一篇关于这个的博客文章-
我只会在简单的本地测试脚本中使用它,在将代码移动到适当的函数/类/控制器/服务等中之前进行测试。您可以在脚本中包含/调用Drupal的引导,然后调用Drupal的函数。将其用于D7,但未尝试用于D8。然而,它应该起作用: 要从该页复制代码,请执行以下操作:
define('DRUPAL_DIR', '/usr/share/nginx/html');
use Drupal\Core\DrupalKernel;
use Symfony\Component\HttpFoundation\Request;
require_once DRUPAL_DIR . '/core/includes/database.inc';
require_once DRUPAL_DIR . '/core/includes/schema.inc';
// Specify relative path to the drupal root.
$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);
$em = $kernel->getContainer()->get('entity.manager');
$entity = $em->getStorage('node')->create(
array(
'type' => "article",
'title'=> "test entity",
'body' => "body body body",
));
$entity->save();
您可以在脚本中包含/调用Drupal的引导,然后调用Drupal的函数。将其用于D7,但未尝试用于D8。然而,它应该起作用: 要从该页复制代码,请执行以下操作:
define('DRUPAL_DIR', '/usr/share/nginx/html');
use Drupal\Core\DrupalKernel;
use Symfony\Component\HttpFoundation\Request;
require_once DRUPAL_DIR . '/core/includes/database.inc';
require_once DRUPAL_DIR . '/core/includes/schema.inc';
// Specify relative path to the drupal root.
$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);
$em = $kernel->getContainer()->get('entity.manager');
$entity = $em->getStorage('node')->create(
array(
'type' => "article",
'title'=> "test entity",
'body' => "body body body",
));
$entity->save();
您可以像这样使用Devel和Kint模块运行drupal或非drupal的任何php代码
您可以像这样使用Devel和Kint模块运行drupal或非drupal的任何php代码。[像这样使用Devel和Kint模块]
您可能想给我们一些关于为什么要这样做的上下文,因为通常情况下,您不会这样做,而是要编写drupal模块。您可能想给我们一些关于为什么要这样做的上下文,因为通常情况下,您不会这样做,而是要编写drupal模块。