如何在pimcore

时间:2016-05-17 17:05:28

标签: pimcore

直到现在我将所有代码都放在pimcore \ cli \ startup.php中并且它运行正常但是当我以另一种方式尝试时我得到的错误就像 在第7行的C:\ xampp \ htdocs \ pimcore \ website \ var \ cli \ export-objects.php中找不到类'Website \ ObjectExporter' 如何以这种方式运行代码

例如,使用以下内容在/ website / lib / Website文件夹下创建一个ObjectExporter.php:

<?php
namespace Website;

class ObjectExporter
{
    public function exportObjects()
    {
        // Your code
    }
}

然后,您可以在控制器操作或CLI脚本中实例化此类。控制器操作位于/ website / controllers文件夹中,需要通过http:http://localhost?controller=default&action=default

调用它们

示例:/website/controllers/DefaultController.php

<?php
class DefaultController extends Website_Controller_Action {
    public function defaultAction () {
        $this->disableViewAutoRender();

        $objectExporter = new Website\ObjectExporter();
        $objectExporter->exportObjects();
    }
}

(您也可以将整个代码直接添加到操作中,但这有点难看,当然取决于此)

但更好,最快捷的方法是使用CLI脚本来处理此类任务。 我喜欢使用/ website / var / cli文件夹(你需要手动创建它,但默认情况下在.htaccess中排除了/ website / var文件夹,这使得它适用于这种用例)。

示例:/website/var/cli/export-objects.php

<?php
$workingDirectory = getcwd();
chdir(__DIR__);
include_once("../../../pimcore/cli/startup.php");
chdir($workingDirectory);

$objectExporter = new Website\ObjectExporter();
$objectExporter->exportObjects();

然后通过在命令行中发出以下命令来运行它:

php website/var/cli/export-objects.php

1 个答案:

答案 0 :(得分:0)

这是在pimcore中创建CLI脚本的标准方法: https://www.pimcore.org/wiki/pages/viewpage.action?pageId=16854341

基本上它只是Symfony / Console,详细说明如下: http://symfony.com/doc/current/components/console/introduction.html