Làm thế nào để tôi tạo ra một vai trò lập trình?


10

Làm thế nào để tôi tạo ra một vai trò lập trình?

Tôi làm gì sai ở đây?

$role = \Drupal\user\Entity\Role::create(['id' => 'client', 'name' => 'Client']);
$role->save(); 

Tôi cập nhật câu trả lời của mình ;-)
Adrian Cid Almaguer

@AdrianCidAlmaguer: Tôi cũng sẽ chỉnh sửa câu trả lời của mình để kết hợp các nhận xét phiên bản PHP đó (5.6, 5.5.9, drupal 8, v.v.) ... Sẽ giúp cách trả lời của bạn dễ tiêu hóa hơn. Nhưng tất nhiên, đó là sự lựa chọn của bạn ...
Pierre.Vriens

@ Pierre.Vriens Nếu bạn muốn chỉnh sửa câu trả lời của mình, tôi không biết câu trả lời nào, bởi vì ở đây chỉ có một, nhưng nếu bạn muốn chỉnh sửa câu trả lời của tôi, hãy tiếp tục.
Adrian Cid Almaguer

Câu trả lời:


16

Vấn đề là trong tên thay đổi mảng dữ liệu theo nhãn :

$role = \Drupal\user\Entity\Role::create(array('id' => 'client', 'label' => 'Client'));
$role->save(); 

Hoặc bạn có thể sử dụng:

//your data array
$data = array('id' => 'client', 'label' => 'Client');
//creating your role
$role = \Drupal\user\Entity\Role::create($data);
//saving your role
$role->save();

Cảm ơn bạn rất nhiều, tôi sẽ thử điều này cho bạn biết. Hmm, tôi thấy khá kỳ lạ khi Drupal 8 cho phép bạn trả lại mảng như vậy nhưng không vượt qua chúng .... Đừng bận tâm vẫn học Drupal 8 chúc mừng !!!
Jake Lacey

1
Adrian vừa tách các dòng ra để các bình luận có thể cho bạn thấy những gì đang diễn ra @Jake, thường thì phần lót từ câu hỏi ban đầu của bạn sẽ ổn
Clive

1
Ồ tôi đã hiểu nhầm, không thấy bản sửa đổi đầu tiên của câu trả lời - @Jake, miễn là bạn đang sử dụng> = php5.4, cú pháp mảng ngắn sẽ hoạt động (Drupal không thay đổi cách hoạt động của php)
Clive

2
@Adrian Drupal 8 sẽ không hoạt động với php <5.6;)
alexej_d

1
@JakeLacey một niềm vui và may mắn trong các dự án của bạn ;-)
Adrian Cid Almaguer
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.