Trước hết: Chế độ xem bộ xương tương ứng nằm ở đây:
vendor/bundles/Sensio/Bundle/GeneratorBundle/Resources/skeleton/crud
Nhanh chóng và bẩn bạn nên sử dụng tốt bằng cách ghi đè những tập tin này xem - nhưng thats không phải những gì chúng ta muốn;)
Trong:
vendor/bundles/Sensio/Bundle/GeneratorBundle/Command/GenerateDoctrineCrudCommand.php
có một accessor cho Generator:
protected function getGenerator()
{
if (null === $this->generator) {
$this->generator = new DoctrineCrudGenerator($this->getContainer()->get('filesystem'), __DIR__.'/../Resources/skeleton/crud');
}
return $this->generator;
}
Bạn có thể cố gắng ghi đè phương thức này trong Gói mở rộng của mình và đặt $skeletonDir
khác trong hàm tạo.
Edit:
dụ nhanh trong môi trường thử nghiệm của tôi như thế nào nó có thể đạt được (tôi chỉ làm một thử nghiệm nhanh;):
Tạo một gói mới cho máy phát điện tùy chỉnh: php app/console generate:bundle
và làm theo hướng dẫn. Một tuyến đường là không cần thiết. Tôi đã chọn cho ví dụ này: Acme/CrudGeneratorBundle (Hoặc sử dụng một gói hiện có)
Tạo thư mục có tên "Lệnh" trong thư mục bó mới được tạo.
Đặt một lớp lệnh trong thư mục này.
<?php
//src/Acme/CrudGeneratorBundle/Command/MyDoctrineCrudCommand.php
namespace Acme\CrudGeneratorBundle\Command;
use Sensio\Bundle\GeneratorBundle\Generator\DoctrineCrudGenerator;
class MyDoctrineCrudCommand extends \Sensio\Bundle\GeneratorBundle\Command\GenerateDoctrineCrudCommand
{
protected function configure()
{
parent::configure();
$this->setName('mydoctrine:generate:crud');
}
protected function getGenerator()
{
$generator = new DoctrineCrudGenerator($this->getContainer()->get('filesystem'), __DIR__.'/../Resources/skeleton/crud');
$this->setGenerator($generator);
return parent::getGenerator();
}
}
Sao chép các nhà cung cấp/bó/Sensio/Bundle/GeneratorBundle/Resources/xương/crud để Resources của bạn (trong ví dụ của tôi "src/Acme/CrudGeneratorBundle/Resources/crud")
Tôi chắc chắn không muốn thực hiện hack nhanh chóng và bẩn! Nhưng tôi đã cố gắng ghi đè lên hàm getGenerator và điều này vẫn không hoạt động –
Tôi đã cập nhật câu trả lời bằng một ví dụ về cách tôi làm việc đó. Tuy nhiên - đây là hack. – madflow