드루팔 종자 데이터
7078 단어 phpdeupalprogramming
시드를 사용하여 조회 목록에 대한 초기 값을 제공합니다.
데모 목적, 개념 증명 및 물론 개발용.
module\custom\my_module\src에 SeedData라는 디렉터리를 추가합니다. 우리는 파일을 추가합니다
module\custom\offer\src\SeedData에 SeedDataGenerator.php라고 합니다.
이 클래스는 이제 더미 사용자를 생성합니다.
<?php
namespace Drupal\my_module\SeedData;
use Drupal\user\Entity\User;
use Drush\Drush;
/**
* SeedDataGenerator.
*
* @package Drupal\my_module
*/
class SeedDataGenerator {
/**
* Function to create a seed data.
*
* @param string $entity
* The type of entity that needs to be created.
*
* @return null|int
* The number of entities created.
*/
public function generate(string $entity){
$count = 0;
switch ($entity) {
case 'user':
$count = $this->seedUser();
break;
}
return $count;
}
/**
* @return int
* The number of users created.
* @throws \Drupal\Core\Entity\EntityStorageException
*/
private function seedUser() {
$count = 0;
$user = User::create();
$user->setUsername('testUser');
$user->setPassword('P@ssw0rd');
$user->activate();
$user->enforceIsNew();
Drush::output()->writeln('<comment>Creating user test</comment>' );
if ($user->save()) {
$count++;
}
return $count;
}
}
클래스를 트리거할 drush 명령을 계속 추가합니다.
custom/my_module/src/Commands/SeedGeneratorCommand.php 추가 및 구성
더 나아가. 최종 파일은 다음과 같습니다.
<?php
namespace Drupal\my_module\Commands;
use Drupal\my_module\SeedData\SeedDataGenerator;
use Drush\Commands\DrushCommands;
use Drush\Drush;
/**
* Class SeedGeneratorCommand.
*
* @package Drupal\my_module\Commands
*/
class SeedGeneratorCommand extends DrushCommands {
/**
* Runs the mymoduleCreateSeeds command.
*
* @command mymodule-create-seeds
* @aliases mymodulecs
* @usage drush mymodule-create-seeds
* Display 'Seed data created'
*/
public function mymoduleCreateSeeds():void {
$seed = new SeedDataGenerator();
$count = $seed->generate('user');
Drush::output()->writeln('<info>'. $count . ' user(s) created</info>' );
}
}
하나 더. 파일 custom/my_module/my_module.services.yml을 추가하고 다음을 추가합니다.
services:
offer.commands:
class: Drupal\offer\Commands\SeedGeneratorCommand
tags:
- { name: drush.command }
그게 다야! 캐시를 지우고 시스템이 명령을 등록했는지 확인하십시오.
$drush offer-create-seeds
참조:
Reference
이 문제에 관하여(드루팔 종자 데이터), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/mahmoudsayed96/drupal-seed-data-4g63텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)