(Đi bộ xung quanh) Khi nói đến dịch vụ Symfony:
Thay vì
$doctrine = $this->container->get('doctrine');
sử dụng
$doctrine = $this->getDoctrine();
Như bạn có thể thấy, Symfony cho phép bạn truy cập hầu hết dịch vụ s trực tiếp từ biến số $this
. NetBeans sẽ biết những gì hoàn thành tự động để sử dụng.
Cho phép có một cái nhìn tại sao điều này làm việc (bên trong lớp điều khiển)

Có thể vì nhập khẩu lớp điều khiển Registry lớp với tuyên bố SỬ DỤNG,
use Doctrine\Bundle\DoctrineBundle\Registry;
và sau đó trong chú thích chú thích phương thức, nó khai báo kiểu đối tượng trả về với
/*
* @return Registry
*/
Nếu bạn gọi $ this-> container-> get ('doctrine'); trực tiếp sau đó tự động hoàn thành sẽ được bỏ qua và bạn sẽ phải sử dụng những gì dưới đây.
(Trả lời) Không có phép tự động hoàn thành phép thuật nào hoạt động cho đến thời điểm này. Sử dụng Php Storm (nó làm những gì bạn yêu cầu). Đối với những người chọn gắn bó với NetBeans, bạn cần sử dụng chú thích thủ công như ví dụ bên dưới:
Chúng tôi có thể trỏ NetBeans đến lớp mà nó sẽ sử dụng để hoàn thành tự động.
1) Trong thiết bị đầu cuối từ tìm kiếm thư mục dự án cho dịch vụ mà bạn muốn nhập khẩu:
php bin/console debug: container
Nếu bạn biết những gì bạn đang tìm kiếm sử dụng này để thay thế:
php bin/console d: container | grep thuyết
...
thuyết --------------------------------- ----------------------- thuyết \ Bundle \ DoctrineBundle \ Registry
...
2) Nếu đây không phải là một dịch vụ sử dụng get_class() PHP xây dựng trong hàm để lấy tên lớp của đối tượng mà biến cụ thể đó. Hoặc sử dụng lớp phản chiếu. Tuỳ bạn.
3) Một khi bạn biết tên lớp tuyên bố SỬ DỤNG khai báo để có thể đọc tốt hơn
use Doctrine\Bundle\DoctrineBundle\Registry;
4) Bây giờ wen chúng ta biết tên lớp của trường hợp đối tượng trong biến Đặc biệt chúng tôi đã sẵn sàng để thông báo cho NetBeans về là gì những gì chúng tôi biết bằng cách sử dụng chú thích nhận xét để có thể bật tự động hoàn thành.
/**
* @var $doctrine Registry
*/
$doctrine = $this->container->get('doctrine');
Bây giờ hoàn thành tự động được bật. Loại
$doctrine->|
sau đó nhấn Ctrl + Space.Xem hình ảnh bên dưới:

Vâng Tôi biết giải pháp này nhưng chưa phải là điều tôi đang tìm kiếm. Tôi đã mở một vấn đề cho thấy nó tại http://netbeans.org/bugzilla/show_bug.cgi?id=226725 – dextervip
Đây là những gì tôi làm là tốt, 1 - mặc dù nói chung 'bảo vệ' nên được ưa thích để' riêng' trừ khi có một lý do cụ thể tại sao một lớp con (lý thuyết) không nên sử dụng getter. – halfer