我使用条令2创建了sqlite数据库。当我从控制台运行create_product.php时,它运行得很好,但我想从php类创建产品。所以我用create_product.php代码创建了方法,并包含了bootstrap.php,但我遇到了问题:未定义的变量:entityManager。
create_product.php
<?php
// create_product.php
require_once "bootstrap.php";
$name = 'name';
$date = date("d.m.Y");
$time = time();
$product = new Product();
$product->setName($name);
$product->setSaveDate($date);
$product->setSaveTime($time);
$entityManager->persist($product);
$entityManager->flush();
echo "Created product with ID " . $response->getId() . "n";
?>
和php类文件:
<?php
namespace appmonitor;
use Product;
require_once dirname(dirname(dirname(__DIR__))) . "/bootstrap.php";
class Service {
public function work() {
$name = 'name';
$this->saveProduct($name);
public function saveProduct($name) {
$date = date("d.m.Y");
$time = time();
$entity = new Product();
$entity->setName($name);
$entity->setSaveTime($time);
$entity->setSaveDate($date);
$entityManager->persist($entity);
$entityManager->flush();
}
}
为什么它可以在控制台上工作,但不能在方法中工作?
首先,不能在body类内部调用方法(不能在其他方法中调用)。其次$entityManager将为null(它不是saveProduct方法变量)。